KEY-VALUE STORE USING JOURNALING WITH SELECTIVE DATA STORAGE FORMAT
First Claim
Patent Images
1. A system comprising:
- a set of memory components providing a journal data storage space and a long-term data storage space; and
a processing device, operatively coupled to the set of memory components, configured to perform operations comprising;
receiving, from volatile memory, a set of key-value pairs;
storing key data for a particular key, of a particular key-value pair in the set of key-value pairs, in a first journal data storage object on the journal data storage space;
determining whether a particular value, of the particular key-value pair, meets a non-journal data storage object criterion;
based on the determining whether the particular value meets the non-journal data storage object criterion, storing value data for the particular value, in at least one of a non-journal data storage object on the journal data storage space or a second journal data storage object on the journal data storage space;
determining whether a condition, to move the key data and the value data from the journal data storage space, is satisfied; and
in response to determining that the condition is satisfied, moving the key data and the value data from the journal data storage space to a new key-value set added to a node of a key-value store tree data structure, the key-value store tree being stored on the long-term data storage space, and the new key-value set comprising a first set of non-journal data storage objects for storing one or more keys and a second set of non-journal data storage objects for storing one or more values.
5 Assignments
0 Petitions
Accused Products
Abstract
Aspects of the present disclosure provide for operations of a key-value store (KVS) that uses journaling with storage of data (e.g., key data or value data of a key-value pair) in different types of data storage objects (e.g., data storage formats) selected based on one or more criteria.
11 Citations
20 Claims
-
1. A system comprising:
-
a set of memory components providing a journal data storage space and a long-term data storage space; and a processing device, operatively coupled to the set of memory components, configured to perform operations comprising; receiving, from volatile memory, a set of key-value pairs; storing key data for a particular key, of a particular key-value pair in the set of key-value pairs, in a first journal data storage object on the journal data storage space; determining whether a particular value, of the particular key-value pair, meets a non-journal data storage object criterion; based on the determining whether the particular value meets the non-journal data storage object criterion, storing value data for the particular value, in at least one of a non-journal data storage object on the journal data storage space or a second journal data storage object on the journal data storage space; determining whether a condition, to move the key data and the value data from the journal data storage space, is satisfied; and in response to determining that the condition is satisfied, moving the key data and the value data from the journal data storage space to a new key-value set added to a node of a key-value store tree data structure, the key-value store tree being stored on the long-term data storage space, and the new key-value set comprising a first set of non-journal data storage objects for storing one or more keys and a second set of non-journal data storage objects for storing one or more values. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A method comprising:
-
receiving, from volatile memory, a set of key-value pairs; storing, by a processing device, key data for a particular key, of a particular key-value pair in the set of key-value pairs, in a first journal data storage object on a journal data storage space provided by a set of memory components; determining, by the processing device, whether a particular value, of the particular key-value pair, meets a non-journal data storage object criterion; based on the determining whether the particular value meets the non-journal data storage object criterion, storing, by the processing device, value data for the particular value, in at least one of a non-journal data storage object on the journal data storage space or a second journal data storage object on the journal data, storage space; determining, by the processing device, whether a condition, to move the key data and the value data from the journal data storage space, is satisfied; and in response to determining that the condition is satisfied, moving, by the processing device, the key data and the value data from the journal data storage space to a new key-value set added to a node of a key-value store tree data structure, the key-value store tree being stored on a long-term data storage space provided by the set of memory components, and the new key-value set comprising a first set of non-journal data storage objects for storing one or more keys and a second set of non-journal data storage objects for storing one or more values. - View Dependent Claims (19)
-
-
20. A non-transitory machine-readable storage medium comprising instructions that, when executed by a processing device, cause the processing device to:
-
receive, from volatile memory, a set of key-value pairs; determine whether a particular value, aof the particular key-value pair, meets a non-journal data storage object criterion; based on the determining whether the particular value meets the non journal data storage object criterion, store value data for the particular value, in at least one of a non-journal data storage object on a journal data storage space or a second journal data storage object on the journal data storage space; determine whether a condition, to move key data and the value data from the journal data storage space, is satisfied; and in response to determining that the condition is satisfied, move the value data from the journal data storage space to a new key-value set added to a node of a key-value store tree data structure, the key-value store tree being stored on a long-term data storage space provided by a set of memory components, and the new key-value set comprising a first set of non journal data storage objects for storing one or more keys and a second set of non-journal data storage objects for storing one or more values.
-
Specification