High performance transactions in database management systems
First Claim
Patent Images
1. A system comprising:
- one or more processors; and
one or more computer-readable hardware storage media having stored thereon computer-executable instructions that are executable by the one or more processors to cause the system to be configured with an architecture for providing high performance data transactions in a database management system, the architecture comprising;
a recovery log that acts, in part, as a deferred delivery queue for a transaction outcome message and the recovery log stores a version of a record wherein the recovery log stores redo records and record entries representing copies of versions of respective records that are associated with a key-value store;
a latch-free hash table comprising an offset value that indicates a storage location of the version of the record stored in the recovery log and a most recent read time value indicating a temporal most recent read time of the version of the record;
a multi-version concurrency control (MVCC) module that performs timestamp order concurrency control using the temporal most recent read time of the record as determined by the most recent read time value from the latch-free hash table to identify the offset value that indicates the storage location of the version of the record stored in the recovery log; and
a version manager that sends a log buffer to a transaction component proxy that receives the log buffer and posts committed transactions to stable storage for records associated with the committed transactions.
2 Assignments
0 Petitions
Accused Products
Abstract
A transaction engine includes a multi-version concurrency control (MVCC) module that accesses a latch-free hash table that includes respective hash table entries that include respective buckets of respective bucket items. The bucket items represent respective records, the respective bucket items each including a value indicating a temporal most recent read time of the item and a version list of descriptions that describe respective versions of the respective records, the MVCC module performing timestamp order concurrency control, using the latch-free hash table. Recovery log buffers may be used as cache storage for the transaction engine.
-
Citations
18 Claims
-
1. A system comprising:
-
one or more processors; and one or more computer-readable hardware storage media having stored thereon computer-executable instructions that are executable by the one or more processors to cause the system to be configured with an architecture for providing high performance data transactions in a database management system, the architecture comprising; a recovery log that acts, in part, as a deferred delivery queue for a transaction outcome message and the recovery log stores a version of a record wherein the recovery log stores redo records and record entries representing copies of versions of respective records that are associated with a key-value store; a latch-free hash table comprising an offset value that indicates a storage location of the version of the record stored in the recovery log and a most recent read time value indicating a temporal most recent read time of the version of the record; a multi-version concurrency control (MVCC) module that performs timestamp order concurrency control using the temporal most recent read time of the record as determined by the most recent read time value from the latch-free hash table to identify the offset value that indicates the storage location of the version of the record stored in the recovery log; and a version manager that sends a log buffer to a transaction component proxy that receives the log buffer and posts committed transactions to stable storage for records associated with the committed transactions. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A computer-implemented method performed by one or more processors executing computer executable instructions for the computer-implemented method, the computer-implemented method comprising:
-
approving a transaction update of a record; storing a copy of an updated version of the record in a recovery log that acts, in part, as a queue for the deferred delivery of the transaction update to a data component in lieu of using a separate queue wherein the recovery log stores redo records and record entries representing copies of versions of respective records that are associated with a key-value store; creating a new entry in a latch-free hash table, the new entry comprising an offset value that corresponds to the updated version of the record and a most recent read time value indicating a temporal most recent read time of the updated version of the record; performing timestamp order concurrency control using a multi-version concurrency control (MVCC) module wherein the temporal most recent read time of the record as determined by the most recent read time value from the latch-free hash table to identify the offset value that indicates the storage location of the version of the record stored in the recovery log; and sending a log buffer to a transaction component proxy that receives the log buffer and posts committed transactions to stable storage for records associated with the committed transactions.
-
-
16. A computer program product comprising a computer-readable storage medium storing executable instructions that when executed by at least one processor cause at least one computing device to:
-
approve a transaction update of a respective record; storing a copy of an updated version of the record in a recovery log that acts, in part, as a queue for the deferred delivery of the transaction update to a data component in lieu of using a separate queue wherein the recovery log stores redo records and record entries representing copies of versions of respective records that are associated with a key-value store; create a new entry in a latch-free hash table comprising an offset value that indicates a storage location of a version of a record in a recovery log and a most recent read time value indicating a temporal most recent read time of the updated version of the respective record; perform timestamp order concurrency control using a multi-version concurrency control (MVCC) module wherein the temporal most recent read time of the record as determined by the most recent read time value from the latch-free hash table to identify the offset value that indicates the storage location of the version of the record stored in the recovery log; and send a log buffer to a transaction component proxy that receives the log buffer and posts committed transactions to stable storage for records associated with the committed transactions. - View Dependent Claims (17, 18)
-
Specification