Hybrid table implementation by using buffer pool as permanent in-memory storage for memory-resident data
First Claim
Patent Images
1. A data management method, comprising:
- generating, by a processor of a computing system, a database comprising a database table that is stored in both a first memory comprising an in-memory storage and a second memory comprising a disk memory storage, wherein the database table comprises a plurality of rows, wherein a first portion of the rows is stored in the in-memory storage and a second portion of the rows is stored in the disk memory storage, wherein the subset of the rows of the database table stored in the disk memory device is not stored in the in-memory storage, wherein the database table is indexed by a search index having a plurality of search index reference values each of a first type or second type, the first type being a page pointer to the in-memory storage in a buffer pool, the second type being a page disk address of a page in the disk memory storage that is to be proceed by said buffer pool, and wherein the search index has densely indexed rows that correspond to the subset of the rows of the database stored in the in-memory storage and sparsely indexed rows that correspond to the subset of the rows of the database stored in the disk memory storage;
responsive to a data retrieval request, accessing, by the processor, data from said first or said second memory using a reference value of the plurality of search index reference values, wherein said reference value is of said second type, wherein accessing said data includes determining, by the processor, whether said data is accessible from said buffer pool and then using said reference value of said second type to access said data from said buffer pool if it is determined that said data is accessible from said buffer pool; and
altering said plurality of search index reference values from page pointers to the in-memory storage to page disk addresses in the disk memory in response to data being migrated from the in-memory storage to the disk memory storage based on a least recently used queue of the in-memory storage.
2 Assignments
0 Petitions
Accused Products
Abstract
Embodiments relate to a method, system, and computer program product for data management. An aspect includes a search index that is created for a database. The search index has a reference value of a first or a second type associating data to a storage location in a first memory or a second memory respectively. Responsive to a data retrieval request, data is accessed using the reference value from the first or the second memory. If there is a data migration between the first and second memory storage, the reference values are then recalculated and altered in the search index accordingly.
17 Citations
17 Claims
-
1. A data management method, comprising:
-
generating, by a processor of a computing system, a database comprising a database table that is stored in both a first memory comprising an in-memory storage and a second memory comprising a disk memory storage, wherein the database table comprises a plurality of rows, wherein a first portion of the rows is stored in the in-memory storage and a second portion of the rows is stored in the disk memory storage, wherein the subset of the rows of the database table stored in the disk memory device is not stored in the in-memory storage, wherein the database table is indexed by a search index having a plurality of search index reference values each of a first type or second type, the first type being a page pointer to the in-memory storage in a buffer pool, the second type being a page disk address of a page in the disk memory storage that is to be proceed by said buffer pool, and wherein the search index has densely indexed rows that correspond to the subset of the rows of the database stored in the in-memory storage and sparsely indexed rows that correspond to the subset of the rows of the database stored in the disk memory storage; responsive to a data retrieval request, accessing, by the processor, data from said first or said second memory using a reference value of the plurality of search index reference values, wherein said reference value is of said second type, wherein accessing said data includes determining, by the processor, whether said data is accessible from said buffer pool and then using said reference value of said second type to access said data from said buffer pool if it is determined that said data is accessible from said buffer pool; and altering said plurality of search index reference values from page pointers to the in-memory storage to page disk addresses in the disk memory in response to data being migrated from the in-memory storage to the disk memory storage based on a least recently used queue of the in-memory storage. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A computer program product for data management the computer program product comprising a non-transitory computer readable storage medium having computer readable program code embodied therewith, said computer readable program code being executable by a computer to:
-
generate a database comprising a database table that is stored in both a first memory comprising an in-memory storage and a second memory comprising a disk memory storage, wherein the database table comprises a plurality of rows, wherein a first portion of the rows is stored in the in-memory storage and a second portion of the rows is stored in the disk memory storage, wherein the subset of the rows of the database table stored in the disk memory device is not stored in the in-memory storage, wherein the database table is indexed by a search index having a plurality of search index reference values each of a first type or second type, the first type being a page pointer to the in-memory storage in a buffer pool or a second type that is a page disk address of a page in the disk memory storage that is to be proceed by said buffer pool, and wherein the search index has densely indexed rows that correspond to the subset of the rows of the database table stored in the in-memory storage and sparsely indexed rows that correspond to the subset of the rows of the database table stored in the disk memory storage; responsive to a data retrieval request, access data from said first or said second memory using a reference value of the plurality of search index reference values, wherein said reference value is of said second type, wherein accessing said data includes determining, by the processor, whether said data is accessible from said buffer pool and then using said reference value of said second type to access said data from said buffer pool if it is determined that said data is accessible from said buffer pool; and alter said plurality of search index reference values from page pointers to the in-memory storage to page disk addresses in the disk memory in response to data being migrated from the in-memory storage to the disk memory storage based on a least recently used queue of the in-memory storage. - View Dependent Claims (14, 15, 16)
-
-
17. A system comprising:
-
a database that comprises data stored in both an in-memory storage and a disk memory storage that is in processing communication with the in-memory storage, the database comprising a database table comprising a plurality of rows, wherein a first portion of the rows is stored in the in-memory device storage and a second portion of the rows is stored in the disk memory storage, wherein the subset of the rows of the database stored in the disk memory storage is not stored in the in-memory storage; a buffer in processing communication with said in-memory and disk memory storage, said buffer including a buffer pool manager for handling buffer pool; and a database search engine having at least a processor for managing a data search index structure, said search index having a plurality of reference values each of a first or a second type such associating data to said in-memory and disk memory storage, wherein the search index has densely indexed rows that correspond to the subset of the rows of the database stored in the in-memory storage and sparsely indexed rows that correspond to the subset of the rows of the database stored in the disk memory storage; said reference value of first type being a page pointer to in-memory storage in said buffer pool and said reference value of second type being a page disk address to be processed by said buffer pool; wherein the database search engine is configured to; access data from said first or said second memory using a reference value of the plurality of reference values, wherein said reference value is of said second type, wherein accessible from said data includes determining, by the processor, whether said data is accessible from said buffer pool and then using said reference value of said second type to access said data from said buffer pool if it is determined that said data is accessible from said buffer pool; and alter said plurality of search index reference values from page pointers to the in-memory storage to page disk addresses in the disk memory in response to data being migrated from the in-memory storage to the disk memory storage, wherein the data is migrated based on a least recently used queue of the in-memory storage.
-
Specification