| CPC G06F 16/2246 (2019.01) [G06F 12/0253 (2013.01); G06F 16/2358 (2019.01); G06F 16/24552 (2019.01); G06F 16/24561 (2019.01); G06F 16/93 (2019.01)] | 20 Claims |

|
1. A computer-implemented method for maintaining data in a data management system, comprising:
storing a set of documents in log-structured object store comprising sequence numbers and document value, the log-structured object store storing documents of the set of documents in a sorted order, the log-structured object store comprising an index for accessing a document given a sequence number;
storing a log-structured merge tree, mapping keys to sequence numbers for accessing documents of the set of documents;
receiving, from a client device, a query statement for querying a database that is managed by the data management system, the query statement specifying a key;
searching the key in a cache memory;
responsive to the key not found in the cache memory, searching for the key in the log-structured merge tree;
obtaining a document sequence number by matching the key from the log-structured merge tree;
obtaining a document value from a log-structured object store using the document sequence number, wherein the log-structured object store maintains documents sequence numbers and document values;
returning the document value to the client device;
storing in the cache memory a portion of the log-structured merge tree that maps the key to the sequence number and a portion of the index that maps the sequence number to the document value;
responsive to receiving, from a second client device, a second query statement for querying the database specifying the key, searching the key in the cache memory; and
responsive to the key found in the cache memory, obtaining the document sequence number based on the key from the cache memory.
|