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.