Efficient Methods and Systems for Consistent Read in Record-Based Multi-Version Concurrency Control
US-2015278281-A1 · Oct 1, 2015 · US
US10409864B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10409864-B2 |
| Application number | US-201414552808-A |
| Country | US |
| Kind code | B2 |
| Filing date | Nov 25, 2014 |
| Priority date | Nov 25, 2014 |
| Publication date | Sep 10, 2019 |
| Grant date | Sep 10, 2019 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Disclosed herein are system, method, and computer program product embodiments for utilizing a transaction control block for providing reader-writer access to transaction commit status. An embodiment operates by receiving a row read request and determining that the row is versioned. The system determines that a first timestamp information for a row destroy transaction associated with the row exists in a transaction control block and retrieves the first timestamp information from the transaction control block.
Opening claim text (preview).
What is claimed is: 1. A computer implemented method for reading versioned data in a database, comprising: receiving, by at least one processor, a read request for a row in the database, wherein the row is linked to a particular transaction control block data structure that stores commit information for only a corresponding single atomic database transaction comprising a set of operations associated with the row that are committed together; determining, by the at least one processor, that the row is versioned; determining, by the at least one processor, that a first timestamp information for a row destroy operation associated with the row exists in the transaction control block; determining, by the at least one processor, that a second timestamp information for a row create operation associated with the row exists in the transaction control block; and providing, by the at least one processor, a version of the row based on comparing a consistent view timestamp with the first timestamp information or the second timestamp information, wherein the consistent view timestamp represents a time of a database snapshot corresponding to the read request. 2. The method of claim 1 , wherein the providing further comprises providing the version of the row when the consistent view timestamp and the first timestamp information indicate the row destroy operation had not committed at a time of the consistent view timestamp. 3. The method of claim 1 , wherein the providing further comprises providing the version of the row when the consistent view timestamp and the second timestamp information indicate the row create operation had committed at the consistent view timestamp. 4. The method of claim 1 , wherein the transaction control block comprises a transaction state indicator and a transaction identifier, wherein the transaction identifier is associated with the single atomic database transaction. 5. The method of claim 4 , further comprising: deriving commit information from the transaction control block; and storing the derived commit information into a version information structure associated with a plurality of rows associated with at least one of the set of operations. 6. The method of claim 4 , wherein the providing further comprises providing the version of the row based on the transaction state indicator. 7. The method of claim 1 , wherein the transaction control block is updated in response to the atomic database transaction being committed. 8. A system, comprising: a memory; and at least one processor coupled to the memory and configured to: receive a read request for a row in a database, wherein the row is linked to a particular transaction control block data structure that stores commit information for only a corresponding single atomic database transaction comprising a set of operations associated with the row that are committed together; determine that the row is versioned; determine that a first timestamp information for a row destroy operation associated with the row exists in the transaction control block; determine that a second timestamp information for a row create operation associated with the row exists in the transaction control block; and provide a version of the row based on comparing a consistent view timestamp with the first timestamp information or the second timestamp information, wherein the consistent view timestamp represents a time of a database snapshot corresponding to the read request. 9. The system of claim 8 , wherein to provide the at least one processor is configured to provide the version of the row when the consistent view timestamp and the first timestamp information indicate the row destroy operation had not committed at the consistent view timestamp. 10. The system of claim 8 , wherein to provide the at least one processor is configured to providing the version of the row when the consistent view timestamp and the second timestamp information indicate the row create operation had committed at the consistent view timestamp. 11. The system of claim 8 , wherein the transaction control block comprises a transaction state indicator and a transaction identifier, wherein the transaction identifier is associated with the single atomic database transaction. 12. The system of claim 11 , the at least one processor further configured to: derive commit information from the transaction control block; and store the derived commit information into a version information structure associated with a plurality of rows associated with at least one of the set of operations. 13. The system of claim 11 , wherein to provide the at least one processor is configured to provide the version of the row based on the transaction state indicator. 14. A non-transitory computer-readable device having instructions stored thereon that, when executed by at least one computing device, causes the at least one computing device to perform operations comprising: receiving a read request for a row in a database, wherein the row is linked to a particular transaction control block data structure that stores commit information for only a corresponding single atomic database transaction comprising a set of operations associated with the row that are committed together; determining that the row is versioned; determining that a first timestamp information for a row destroy operation associated with the row exists in the transaction control block; determining that a second timestamp information for a row create operation associated with the row exists in the transaction control block; and providing a version of the row based on comparing a consistent view timestamp with the first timestamp information or the second timestamp information, wherein the consistent view timestamp represents a time of a database snapshot corresponding to the read request. 15. The computer-readable device of claim 14 , wherein the providing further comprises providing the version of the row when the consistent view timestamp and the first timestamp information indicate the row destroy operation had not committed at the consistent view timestamp. 16. The computer-readable device of claim 14 , wherein the providing further comprises providing the version of the row when the consistent view timestamp and the second timestamp information indicate the row create operation had committed at the consistent view timestamp. 17. The computer-readable device of claim 14 , wherein the transaction control block comprises a transaction state indicator and a transaction identifier, wherein the transaction identifier is associated with the single atomic database transaction. 18. The computer-readable device of claim 17 , wherein the providing further comprises providing the version of the row based on the transaction state indicator.
using timestamps · CPC title
Presentation of query results · CPC title
Managing data history or versioning (querying versioned data G06F16/2474; querying temporal data G06F16/2477) · CPC title
Versioning file systems, temporal file systems, e.g. file system supporting different historic versions of files · CPC title
using versioning · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.