Atomic transactions in a NOSQL database

US9734187B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9734187-B2
Application numberUS-201414217737-A
CountryUS
Kind codeB2
Filing dateMar 18, 2014
Priority dateApr 3, 2013
Publication dateAug 15, 2017
Grant dateAug 15, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

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.

First claim

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

Assignees

Inventors

Classifications

  • 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

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9734187B2 cover?
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 pe…
Who is the assignee on this patent?
Salesforce Com Inc
What technology area does this patent fall under?
Primary CPC classification G06F16/2365. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 15 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).