Fast iterators for key-value databases
AssigneeOracle International Corporation
InventorsRajesh Desai, Ben George, Pinky Kushwaha
Life of this patent
Estimating the term…
Abstract
Various techniques are provided for enabling an iterator (called persistent key-value (KV) iterator) that uses a special key structure embedded with secondary index information for efficient search (or query) of a key-value database (KVDB). In some embodiments, the key structure comprises a plurality of fields categorized into two groups, infrastructure hierarchy fields and object characteristic fields. Keys for the KVDB may be partitioned into one or more levels of hierarchy to generate many smaller key lists for easy search/query of the KVDB. These smaller key lists can be used for concurrent searches/queries.
Claims20
A method for accessing a key-value database (KVDB), comprising:
- identifying an infrastructure hierarchy of an infrastructure associated with the KVDB, the infrastructure comprising cloud resources configured to provide cloud services, and the infrastructure hierarchy comprising one or more levels;
- identifying one or more characteristics related to a plurality of objects corresponding to a first key-value pair and a second key-value pair of a set of one or more key-value pairs stored in the KVDB, the plurality of objects comprising value parts of the first key-value pair and the second key-value pair;
- creating a first key associated with the first key-value pair, the first key comprising a first string of characters comprising a first field and a second field, the first field corresponding to a first level of the one or more levels of the infrastructure hierarchy, and the second field corresponding to a first characteristic of the one or more characteristics;
- creating a second key associated with the second key-value pair, the second key comprising a second string of characters comprising a third field and a fourth field, the third field corresponding to a second level of the one or more levels of the infrastructure hierarchy, and the fourth field corresponding to a second characteristic of the one or more characteristics;
- accessing the first key-value pair stored in the KVDB using the first key based at least in part on a first query of the KVDB including the first characteristic or the first level;
- and
- accessing the second key-value pair stored in the KVDB using the second key based at least in part on a second query of the KVDB including the second characteristic or the second level, the first key-value pair being accessed using the first key in parallel with the second key-value pair being accessed using the second key.
A non-transitory computer-readable medium storing computer-executable instructions that, when executed by one or more processors of a computing system, cause the one or more processors to perform operations comprising:
- identifying an infrastructure hierarchy of an infrastructure associated with a key-value database (KVDB), the infrastructure comprising cloud resources configured to provide cloud services, and the infrastructure hierarchy comprising one or more levels;
- identifying one or more characteristics related to a plurality of objects corresponding to a first key-value pair and a second key-value pair of a set of one or more key-value pairs stored in the KVDB, the plurality of objects comprising value parts of the first key-value pair and the second key-value pair;
- creating a first key associated with the first key-value pair, the first key comprising a first string of characters comprising a first field and a second field, the first field corresponding to a first level of the one or more levels of the infrastructure hierarchy, and the second field corresponding to a first characteristic of the one or more characteristics;
- creating a second key associated with the second key-value pair, the second key comprising a second string of characters comprising a third field and a fourth field, the third field corresponding to a second level of the one or more levels of the infrastructure hierarchy, and the fourth field corresponding to a second characteristic of the one or more characteristics;
- accessing the first key-value pair stored in the KVDB using the first key based at least in part on a first query including the first characteristic or the first level;
- and
- accessing the second key-value pair stored in the KVDB using the second key based at least in part on a second query including the second characteristic or second first level, the first key-value pair being accessed using the first key in parallel with the second key-value pair being accessed using the second key.
A computing system, comprising:
- one or more processors;
- and
- one or more computer readable media storing computer-executable instructions that, when executed by the one or more processors of the computing system, cause the computing system to:
- identify, by the computing system, an infrastructure hierarchy of an infrastructure associated with key-value database (KVDB), the infrastructure comprising cloud resources configured to provide cloud services, and the infrastructure hierarchy comprising one or more levels;
- identify, by the computing system, one or more characteristics related to a plurality of objects corresponding to a first key-value pair and a second key-value pair of a set of one or more key-value pairs stored in the KVDB, the plurality of objects comprising value parts of the first key-value pair and the second key-value pair;
- create, by the computing system, a first key associated with the first key-value pair, the first key comprising a first string of characters comprising a first field and a second field, the first field corresponding to a first level of the one or more levels of the infrastructure hierarchy, and the second field corresponding to a first characteristic of the one or more characteristics;
- create, by the computing system, a second key associated with the second key-value pair, the second key comprising a second string of characters comprising a third field and a fourth field, the third field corresponding to a second level of the one or more levels of the infrastructure hierarchy, and the fourth field corresponding to a second characteristic of the one or more characteristics;
- access, by the computing system, the first key-value pair stored in the KVDB using the first key based at least in part on a first query including the first characteristic or the first level;
- and
- access, by the computing system, the second key-value pair stored in the KVDB using the second key based at least in part on a second query including the second characteristic or the second level, the first key-value pair being accessed using the first key in parallel with the second key-value pair being accessed using the second key.
Dependencies are inferred from the claim text.