Repurposing log files
First Claim
1. A method, comprising:
- receiving a data record comprising a key-value pair;
storing the key-value pair in an in-memory data structure in a first storage tier, wherein the in-memory data structure is used to access the data record;
storing a log entry for the key-value pair in a log file in a second storage tier;
renaming the log file in place in the second storage tier, said renaming comprising assignment of a new filename to the log file, wherein an index file points to the log entry in the log file corresponding to the new filename, the index file being used to access the key-value pair; and
storing a new log entry in a new log file, the new log file storing the new log entry comprising a key-value pair.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems and methods for key-value pair management. A method embodiment commences upon receiving data records comprising key-value pairs. The key-value pairs are stored in two locations, (1) in an in-memory data structure in a first storage tier, and (2) in a log file in a second storage tier. At some moment in time, an event causes a flush of the in-memory data structure. The flush operations comprise renaming the log file to refer to it as a uniquely identifiable data file in the second storage tier, and populating an index file in the second storage tier. Requests for a value corresponding to a key is satisfied by using the index file to access the uniquely identifiable data file by byte or word offset to a location in the data file so as to retrieve the value of the corresponding key.
58 Citations
20 Claims
-
1. A method, comprising:
-
receiving a data record comprising a key-value pair; storing the key-value pair in an in-memory data structure in a first storage tier, wherein the in-memory data structure is used to access the data record; storing a log entry for the key-value pair in a log file in a second storage tier; renaming the log file in place in the second storage tier, said renaming comprising assignment of a new filename to the log file, wherein an index file points to the log entry in the log file corresponding to the new filename, the index file being used to access the key-value pair; and storing a new log entry in a new log file, the new log file storing the new log entry comprising a key-value pair. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A non-transitory computer readable medium having stored thereon a sequence of instructions which, when executed by a processor performs a set of acts, comprising:
-
receiving a data record comprising a key-value pair; storing the key-value pair in an in-memory data structure in a first storage tier, wherein the in-memory data structure is used to access the data record; storing a log entry for the key-value pair in a log file in a second storage tier; renaming the log file in place in the second storage tier, said renaming comprising assignment of a new filename to the log file, wherein an index file points to the log entry in the log file corresponding to the new filename, the index file being used to access the key-value pair; and storing a new log entry in a new log file, the new log file storing the new log entry comprising a key-value pair. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18)
-
-
19. A system, comprising:
-
a storage medium having stored thereon a sequence of instructions; and a processor that executes the sequence of instructions to cause a set of acts, comprising, receiving a data record comprising a key-value pair; storing the key-value pair in an in-memory data structure in a first storage tier, wherein the in-memory data structure is used to access the data record; storing a log entry for the key-value pair in a log file in a second storage tier; renaming the log file in place in the second storage tier, said renaming comprising assignment of a new filename to the log file, wherein an index file points to the log entry in the log file corresponding to the new filename, the index file being used to access the key-value pair; and storing a new log entry in a new log file, the new log file storing the new log entry comprising a key-value pair. - View Dependent Claims (20)
-
Specification