Idempotence for database transactions
US-8984170-B2 · Mar 17, 2015 · US
US9734187B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9734187-B2 |
| Application number | US-201414217737-A |
| Country | US |
| Kind code | B2 |
| Filing date | Mar 18, 2014 |
| Priority date | Apr 3, 2013 |
| Publication date | Aug 15, 2017 |
| Grant date | Aug 15, 2017 |
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.
Systems and methods are provided for atomic transactions in a NoSQL database. A system writes a pending transaction identifier to write claim data for a first data item in a NoSQL database in response to a determination that the write claim data for the first data item includes a first previous transaction identifier included in last commit data for the first data item. The system writes the pending transaction identifier and a pending commit identifier to the last commit data for the first data item. The system writes a first value associated with a pending transaction to the first data item. The system aborts the pending transaction in response to a determination that the write claim data for the first data item does not include the first previous transaction identifier included in the last commit data for the first data item.
Opening claim text (preview).
The invention claimed is: 1. An apparatus for atomic transactions in a NoSQL database, the apparatus comprising: a processor; and one or more stored sequences of instructions which, when executed by the processor, cause the processor to implement the steps of: determining whether write claim data for a first data item in a non-relational database includes a first previous transaction identifier, the write claim data storing a transaction identifier for a transaction that establishes a claim to write a value to the first data item, the first previous transaction identifier being included in last commit data for the first data item; updating the write claim data for the first data item to include a pending transaction identifier in response to a determination that the write claim data for the first data item includes the first previous transaction identifier; updating the last commit data for the first data item with the pending transaction identifier and a pending commit identifier in response to the determination that the write claim data for the first data item includes the first previous transaction identifier; writing a first value associated with a pending transaction to the first data item; and aborting the pending transaction in response to a determination that the write claim data for the first data item does not include the first previous transaction identifier included in the last commit data for the first data item. 2. The apparatus of claim 1 , further comprising the steps of: determining whether write claim data for a second data item includes a second previous transaction identifier included in last commit data for the second data item; writing the pending transaction identifier to the write claim data for the second data item in response to a determination that the write claim data for the second data item includes the second previous transaction identifier included in the last commit data for the second data item; writing the pending transaction identifier and the pending commit identifier to the last commit data for the second data item; writing a second value associated with the pending transaction to the second data item; and aborting the pending transaction in response to a determination that the write claim data for the second data item does not include the second previous transaction identifier included in the last commit data for the second data item. 3. The apparatus of claim 2 , wherein aborting the pending transaction in response to the determination that the write claim data for the second data item does not include the second previous transaction identifier included in the last commit data for the second data item comprises writing the previous transaction identifier to the write claim data for the first data item. 4. The apparatus of claim 1 , further comprising the steps of: identifying a global commit identifier associated with a most recent fully committed transaction; and reading a recent value for the first data item by selecting a value for the first data item which corresponds to a highest sequential commit identifier that is either less than or equal to the global commit identifier. 5. The apparatus of claim 4 , further comprising the step of equating the global commit identifier to the pending commit identifier. 6. A computer program product, comprising a non-transitory computer-readable medium having a computer-readable program code embodied therein to be executed by one or more processors, the program code including instructions to: determine whether write claim data for a first data item in a non-relational database includes a first previous transaction identifier, the write claim data storing a transaction identifier for a transaction that establishes a claim to write a value to the first data item, the first previous transaction identifier being included in last commit data for the first data item; update the write claim data for the first data item to include a pending transaction identifier in response to a determination that the write claim data for the first data item includes the first previous transaction identifier; update the last commit data for the first data item with the pending transaction identifier and a pending commit identifier in response to the determination that the write claim data for the first data item includes the first previous transaction identifier; write a first value associated with a pending transaction to the first data item; and abort the pending transaction in response to a determination that the write claim data for the first data item does not include the first previous transaction identifier included in the last commit data for the first data item. 7. The computer program product of claim 6 , wherein the program code includes further instructions to: determine whether write claim data for a second data item includes a second previous transaction identifier included in last commit data for the second data item; write the pending transaction identifier to the write claim data for the second data item in response to a determination that the write claim data for the second data item includes the second previous transaction identifier included in the last commit data for the second data item; write the pending transaction identifier and the pending commit identifier to the last commit data for the second data item; write a second value associated with the pending transaction to the second data item; and abort the pending transaction in response to a determination that the write claim data for the second data item does not include the second previous transaction identifier included in the last commit data for the second data item. 8. The computer program product of claim 7 , wherein aborting the pending transaction in response to the determination that the write claim data for the second data item does not include the second previous transaction identifier included in the last commit data for the second data item comprises writing the previous transaction identifier to the write claim data for the first data item. 9. The computer program product of claim 6 , wherein the program code includes further instructions to: identify a global commit identifier associated with a most recent fully committed transaction; and read a recent value for the first data item by selecting a value for the first data item which corresponds to a highest sequential commit identifier that is either less than or equal to the global commit identifier. 10. The computer program product of claim 9 , wherein the program code includes further instructions to equate the global commit identifier to the pending commit identifier. 11. A method for atomic transactions in a NoSQL database, the method comprising: determining whether write claim data for a first data item in a non-relational database includes a first previous transaction identifier, the write claim data storing a transaction identifier for a transaction that establishes a claim to write a value to the first data item, the first previous transaction identifier being included in last commit data for the first data item; updating the write claim data for the first data item to include a pending transaction identifier in response to a determination that the write claim data for the first data item includes the first previous transaction identifier; updating the last commit data for the first data item with the pending transaction identifier and a pending commit identifier in response to the determination that the write claim data for the first data item includes the first previous transaction identifier; writing a first value associated with a pending transaction to the
Updates performed during online database operations; commit processing · CPC title
Transactional file systems · CPC title
Ensuring data consistency and integrity · CPC title
Physics · mapped topic
Physics · mapped topic
Related publications grouped by family.
Answers are generated from the same data shown on this page.