VERSIONED HIERARCHICAL DATA STRUCTURES IN A DISTRIBUTED DATA STORE
First Claim
1. A system, comprising:
- a plurality of storage nodes, comprising a processor and a memory, that store respective versions of a hierarchical data structure consistent with a transaction log for the hierarchical data structure;
a transaction log store, that maintains a transaction log for the hierarchical data structure;
individual ones of the storage nodes, configured to;
receive a read request for specified data stored as part of the hierarchical data structure from a client;
identify one of the respective versions of the hierarchical data structure maintained at the storage node for service of the read request;
access one or more locations at the storage node that store the specified data included in the identified version to obtain the specified data; and
return the specified data included in the identified version to the client.
1 Assignment
0 Petitions
Accused Products
Abstract
A distributed data store may maintain versioned hierarchical data structures. Different versions of a hierarchical data structure may be maintained consistent with a transaction log for the hierarchical data structure. When access requests directed to the hierarchical data structure are received, a version of the hierarchical data structure may be identified for processing an access request. For access requests with snapshot isolation, the identified version alone may be sufficient to consistently process the access request. For access requests with higher isolation requirements, such as serializable isolation, transactions based on the access request may be submitted to the transaction log so that access requests resulting in committed transactions may be allowed, whereas access requests resulting in conflicting transactions may be denied.
-
Citations
20 Claims
-
1. A system, comprising:
-
a plurality of storage nodes, comprising a processor and a memory, that store respective versions of a hierarchical data structure consistent with a transaction log for the hierarchical data structure; a transaction log store, that maintains a transaction log for the hierarchical data structure; individual ones of the storage nodes, configured to; receive a read request for specified data stored as part of the hierarchical data structure from a client; identify one of the respective versions of the hierarchical data structure maintained at the storage node for service of the read request; access one or more locations at the storage node that store the specified data included in the identified version to obtain the specified data; and return the specified data included in the identified version to the client. - View Dependent Claims (2, 3, 4)
-
-
5. A method, comprising:
performing, by one or more computing devices; receiving an access request directed to a hierarchical data structure maintained as part of a distributed data store from a client; identifying one of a plurality of versions of the hierarchical data structure for servicing the access request, wherein the plurality of versions of the hierarchical data structure are maintained in the distributed data store consistent with a transaction log for the hierarchical data structure that describes committed changes to the hierarchical data structure; and servicing the access request utilizing the identified version of the hierarchical data structure. - View Dependent Claims (6, 7, 8, 9, 10, 11, 12, 13)
-
14. A non-transitory, computer-readable storage medium, storing program instructions that when executed by one or more computing devices cause the one or more computing devices to implement:
-
maintaining respective versions of a hierarchical data structure at a plurality of storage nodes in a distributed data store consistent with a transaction log for the hierarchical data structure that describes committed changes to the hierarchical data structure; receiving an access request directed to the hierarchical data structure at one of the storage nodes; identifying one of the respective versions of the hierarchical data structure maintained at the one storage node for servicing the access request; and servicing the access request utilizing the identified version of the hierarchical data structure. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification