
Notable exception is MongoDB, which supports multi-document distributed transactions. However, most NoSQL databases cannot support even this flavor of transactions because of their eventually-consistent storage engines that has no inherent guarantee on the correctness of the data read. Since the data for a single row typically doesn’t cross the boundary of a single node in most distributed databases, single-row ACID transactions are easier to achieve in the distributed DB world.

Transactions where all the operations impact only a single row (aka key) are called as single-row ACID transactions. In the context of distributed databases, ACID transactions can be internally classified into the following three flavors. The modifications must persist even in case of power loss or system failures.


This loss of ACID properties is usually justified with a gain in performance (measured in terms of low latency and/or high throughput). While they are taken for granted in monolithic SQL/relational databases, distributed NoSQL/non-relational databases either forsake them completely or support only a highly restrictive single-row flavor (see sections below). They simplify the complex task of ensuring data integrity while supporting highly concurrent operations. ACID transactions are a fundamental building block when developing business-critical, user-facing applications.
