US 12,013,831 B2
Index for multi-level data structures
Rohit Agrawal, San Francisco, CA (US); Aditya Shetty, San Francisco, CA (US); Kaushal Mittal, Dublin, CA (US); Terry Chong, Pleasanton, CA (US); Thomas Fanghaenel, Oakland, CA (US); and Vaibhav Arora, San Francisco, CA (US)
Assigned to Salesforce, Inc., San Francisco, CA (US)
Filed by salesforce.com, inc., San Francisco, CA (US)
Filed on Jan. 29, 2021, as Appl. No. 17/162,882.
Prior Publication US 2022/0245113 A1, Aug. 4, 2022
Int. Cl. G06F 16/22 (2019.01)
CPC G06F 16/2264 (2019.01) 14 Claims
OG exemplary drawing
 
1. A method, comprising:
storing, by a computer system, a set of records having a set of corresponding keys;
creating, by the computer system, a plurality of multi-level data structures that facilitate key range lookups against the set of records, wherein a given multi-level data structure stores key information indicative of a subset of the corresponding keys and is usable to determine that records corresponding to the subset of keys are stored by the computer system;
creating, by the computer system, index metadata that is usable for accessing the plurality of multi-level data structures, wherein the index metadata specifies, for the given multi-level data structure:
a marker key corresponding to one of the subset of keys that was inserted into the given multi-level data structure; and
a location of the given multi-level data structure;
wherein the index metadata identifies a portion of a record index that stores a pointer to a location having at least one record; and
performing, by the computer system, a key range lookup for a particular key range that encompasses multiple keys, wherein the performing includes accessing one or more of the set of records for the particular key range without accessing the plurality of multi-level data structures in response to determining that there is at least one record within the particular key range based on the index metadata indicating that at least a portion of the particular key range falls within at least two multi-level data structures, wherein the accessing of the one or more records includes accessing the at least one record using the pointer stored in the record index.