CPC G06F 12/0238 (2013.01) [G06F 16/1734 (2019.01); G06F 16/2246 (2019.01); G06F 2212/7202 (2013.01)] | 24 Claims |
1. A database system comprising:
a main memory;
a secondary store comprising nonvolatile storage;
memory containing a log-structured merge-tree (LSM-tree) providing indexed access to files stored in the file buffer and the secondary store, the LSM-tree being organized to accommodate a range of merge policies; and
a processor for accessing runs in the main memory, each of the runs including a plurality of key-value pairs sorted by key, wherein:
(i) each of the runs is sorted and has a size;
(ii) the runs are organized into a plurality of levels according to run size; and
(iii) the processor is configured to select a merge policy from a plurality of alternatives and operate the LSM-tree in accordance with the selected merge policy, the merge policy determining a frequency of merging runs within each of the LSM-tree levels.
|