US 12,287,771 B2
High density data storage based on log structured storage techniques
Sarath Lakshman, Mahe (IN); Apaar Gupta, Bangalore (IN); Rohan Ashok Suri, Mumbai (IN); Scott David Lashley, Portland, OR (US); John Sae Liang, Palo Alto, CA (US); Srinath Duvuru, Portland, OR (US); and David James Oliver Rigby, Manchester (GB)
Assigned to Couchbase, Inc., Santa Clara, CA (US)
Filed by Couchbase, Inc., Santa Clara, CA (US)
Filed on Jul. 18, 2023, as Appl. No. 18/223,540.
Claims priority of application No. 202241041486 (IN), filed on Jul. 20, 2022.
Prior Publication US 2024/0028575 A1, Jan. 25, 2024
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 16/22 (2019.01); G06F 12/02 (2006.01); G06F 16/23 (2019.01); G06F 16/2455 (2019.01); G06F 16/93 (2019.01)
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
OG exemplary drawing
 
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.