Shared log-structured multi-version transactional datastore with metadata to enable melding trees
AssigneeMicrosoft Corporation
InventorsColin W. Reid, Philip A. Bernstein
Life of this patent
Estimating the term…
Abstract
Architecture that includes an ordered and shared log of indexed transaction records represented as multi-version data structures of nodes and node pointers. The log is a sole monolithic source of datastore state and is used for enforcing concurrency control. The architecture also includes a transaction processing component that appends transaction records to the log from concurrent transactions executing on different processors. Each node of a record is assigned a log address.
Claims20
A concurrency control system, comprising:
- an ordered and shared log of indexed transaction records represented as multi-version data structures of nodes and node pointers, the log is a sole monolithic source of datastore state and is used for enforcing concurrency control;
- a transaction processing component that appends transaction records to the log from concurrent transactions executing on different cores of a multi-core processor, each node of a record is assigned a log address;
- and
- a microprocessor that executes computer-executable instructions in association with at least one of the log or the transaction processing component.
A concurrency control system, comprising:
- an ordered and shared log of indexed transaction records represented as multi-version data structures of nodes and node pointers, the log is a sole monolithic source of datastore state and is used for enforcing concurrency control;
- a transaction processing component that appends transaction records to the log from concurrent transactions executing on different multi-core processor cores, each node of a record is assigned a log address, a node dependency is stored in the log as a log address, and a node of the record is associated with versioned content identified in the log by a log address;
- and
- a microprocessor that executes computer-executable instructions in association with at least one of the log or the transaction processing component.
A concurrency control method performed by a computer system executing machine-readable instructions, the method comprising acts of:
- executing concurrent transactions on different cores of a multi-core processor;
- storing transaction records of the concurrent transactions as a monolithic index in an ordered and shared log;
- representing the records as data structures having nodes and node dependencies;
- tracking the nodes and node dependencies in the log using log addresses;
- and
- concurrently appending the records into the log at distinct log addresses.
Dependencies are inferred from the claim text.