Efficient data storage and retrieval using a heterogeneous main memory
First Claim
1. A method comprising:
- a database server maintaining a database, said database server comprising one or more central processing units (CPUs);
wherein said database includes a plurality of database tables stored in a plurality of data blocks on block-addressable persistent storage devices;
said database server storing, in a hierarchy of random-access memories (RAMs), sets of mirror format (MF) data produced by converting data in said plurality of data blocks to a mirror format, each RAM in said hierarchy of RAMs being byte addressable memory having an address space referenceable by software instructions executed by said one or more CPUs, each RAM in said hierarchy of RAMs having an associated latency different from a latency associated with any other RAM in said hierarchy of RAMs;
wherein each set of MF data of said sets of MF data store, in column-major form, data from a plurality of columns of said plurality of database tables;
wherein, for each set of MF data of said sets of MF data, storing includes;
selecting based on one or more criteria, by said database server, a respective RAM from said hierarchy to store said each set of MF data;
storing, by said database server, said each set of MF data in said respective RAM.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques related to efficient data storage and retrieval using a heterogeneous main memory are disclosed. A database includes a set of persistent format (PF) data that is stored on persistent storage in a persistent format. The database is maintained on the persistent storage and is accessible to a database server. The database server converts the set of PF data to sets of mirror format (MF) data and stores the MF data in a hierarchy of random-access memories (RAMs). Each RAM in the hierarchy has an associated latency that is different from a latency associated with any other RAM in the hierarchy. Storing the sets of MF data in the hierarchy of RAMs includes (1) selecting, based on one or more criteria, a respective RAM in the hierarchy to store each set of MF data and (2) storing said each set of MF data in the respective RAM.
-
Citations
20 Claims
-
1. A method comprising:
-
a database server maintaining a database, said database server comprising one or more central processing units (CPUs); wherein said database includes a plurality of database tables stored in a plurality of data blocks on block-addressable persistent storage devices; said database server storing, in a hierarchy of random-access memories (RAMs), sets of mirror format (MF) data produced by converting data in said plurality of data blocks to a mirror format, each RAM in said hierarchy of RAMs being byte addressable memory having an address space referenceable by software instructions executed by said one or more CPUs, each RAM in said hierarchy of RAMs having an associated latency different from a latency associated with any other RAM in said hierarchy of RAMs; wherein each set of MF data of said sets of MF data store, in column-major form, data from a plurality of columns of said plurality of database tables; wherein, for each set of MF data of said sets of MF data, storing includes; selecting based on one or more criteria, by said database server, a respective RAM from said hierarchy to store said each set of MF data; storing, by said database server, said each set of MF data in said respective RAM. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. One or more non-transitory storage media storing a set of instructions which, when executed by one or more computing devices, cause:
-
a database server maintaining a database, said database server comprising one or more central processing units (CPUs); wherein said database includes a plurality of database tables stored in a plurality of data blocks on block-addressable persistent storage devices; said database server storing, in a hierarchy of random-access memories (RAMs), sets of mirror format (MF) data produced by converting data in said plurality of data blocks to a mirror format, each RAM in said hierarchy of RAMs being byte addressable memory having an address space referenceable by software instructions executed by said one or more CPUs, each RAM in said hierarchy of RAMs having an associated latency different from a latency associated with any other RAM in said hierarchy of RAMs; wherein each set of MF data of said sets of MF data store, in column-major form, data from a plurality of columns of said plurality of database tables; wherein, for each set of MF data of said sets of MF data, storing includes; selecting based on one or more criteria, by said database server, a respective RAM from said hierarchy to store said each set of MF data; storing, by said database server, said each set of MF data in said respective RAM. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification