Merge tree garbage metrics
First Claim
Patent Images
1. A system comprising processing circuitry configured to perform operations comprising:
- creating a key-value set (kvset) for a node in a key-value set (KVS) tree, the creation of the kvset including computation of a set of kvset metrics for the kvset, the kvset metrics included in the kvset, any kvset being arranged to store multiple key-value pairs in which a given key is unique to the kvset, the node comprising a temporally ordered sequence of kvsets, the temporally ordered sequence comprising an oldest kvset at one end of the temporally ordered sequence and a newest kvset at another end of the temporally ordered sequence, and the KVS tree having a determinative mapping that provides a rule such that any key-value pair maps a specific path through the KVS tree to a specific child node at any level of the KVS tree without regard to node content of the KVS tree;
adding the kvset to the temporally ordered sequence of kvsets of the node, the kvset being immutable once added to the temporally ordered sequence of kvsets of the node;
selecting the node for a compaction operation based on a metric in the set of kvset metrics; and
performing the compaction operation on the node.
5 Assignments
0 Petitions
Accused Products
Abstract
Systems and techniques for collecting and using merge tree garbage metrics are described herein. A kvset is created for a node in a KVS tree. Here, a set of kvset metrics for the kvset are computed as part of the node creation. The kvset is added to the node. The node is selected for a compaction operation based on a metric in the set of kvset metrics. The compaction operation is performed on the node.
59 Citations
44 Claims
-
1. A system comprising processing circuitry configured to perform operations comprising:
-
creating a key-value set (kvset) for a node in a key-value set (KVS) tree, the creation of the kvset including computation of a set of kvset metrics for the kvset, the kvset metrics included in the kvset, any kvset being arranged to store multiple key-value pairs in which a given key is unique to the kvset, the node comprising a temporally ordered sequence of kvsets, the temporally ordered sequence comprising an oldest kvset at one end of the temporally ordered sequence and a newest kvset at another end of the temporally ordered sequence, and the KVS tree having a determinative mapping that provides a rule such that any key-value pair maps a specific path through the KVS tree to a specific child node at any level of the KVS tree without regard to node content of the KVS tree; adding the kvset to the temporally ordered sequence of kvsets of the node, the kvset being immutable once added to the temporally ordered sequence of kvsets of the node; selecting the node for a compaction operation based on a metric in the set of kvset metrics; and performing the compaction operation on the node. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. At least one non-transitory machine readable medium comprising instructions that, when executed by a machine, cause the machine to perform operations comprising:
-
creating a key-value set (kvset) for a node in a key-value set (KVS) tree, the creation of the kvset comprising computing a set of kvset metrics for the kvset, the kvset metrics included in the kvset, any kvset being arranged to store multiple key-value pairs in which a given key is unique to the kvset, the node comprising a temporally ordered sequence of kvsets, the temporally ordered sequence comprising an oldest kvset at one end of the temporally ordered sequence and a newest kvset at another end of the temporally ordered sequence, and the KVS tree having a determinative mapping that provides a rule such that any key-value pair maps a specific path through the KVS tree to a specific child node at any level of the KVS tree without regard to node content of the KVS tree; adding the kvset to the temporally ordered sequence of kvsets of the node, the kvset being immutable once added to the temporally ordered sequence of kvsets of the node; selecting the node for a compaction operation based on a metric in the set of kvset metrics; and performing the compaction operation on the node. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30)
-
-
31. A machine-implemented method comprising:
-
creating a key-value set (kvset) for a node in a key-value set (KVS) tree, the creation of the kvset comprising computing a set of kvset metrics for the kvset, the kvset metrics included in the kvset, any kvset being arranged to store multiple key-value pairs in which a given key is unique to the kvset, the node comprising a temporally ordered sequence of kvsets, the temporally ordered sequence comprising an oldest kvset at one end of the temporally ordered sequence and a newest kvset at another end of the temporally ordered sequence, and the KVS tree having a determinative mapping that provides a rule such that any key-value pair maps a specific path through the KVS tree to a specific child node at any level of the KVS tree without regard to node content of the KVS tree; adding the kvset to the temporally ordered sequence of kvsets of the node, the kvset being immutable once added to the temporally ordered sequence of kvsets of the node; selecting the node for a compaction operation based on a metric in the set of kvset metrics; and performing the compaction operation on the node. - View Dependent Claims (32, 33, 34, 35, 36, 37)
-
-
38. A system comprising:
-
means for creating a key-value set (kvset) for a node in a key-value set (KVS) tree, the creating comprising computing a set of kvset metrics for the kvset, the node comprising a temporally ordered sequence of kvsets, the temporally ordered sequence comprising an oldest kvset at one end of the temporally ordered sequence and a newest kvset at another end of the temporally ordered sequence, the KVS tree having a determinative mapping that provides a rule such that any key-value pair maps a specific path through the KVS tree to a specific child node at any level of the KVS tree without regard to node content; means for adding the kvset to the temporally ordered sequence of kvsets of the node, the kvset being immutable once added to the temporally ordered sequence of kvsets of the node; means for selecting the node for a compaction operation based on a metric in the set of kvset metrics; and means for performing the compaction operation on the node. - View Dependent Claims (39, 40, 41, 42, 43, 44)
-
Specification