Whitepaper: The Importance of ACID Isolation
With the explosion in both the number and types of data management systems over the last few years, there has also come confusion about the definitions of terms that had very specific and deliberate meanings in the world of relational databases. We often hear that a new product, surprisingly sometimes even a NoSQL system, claims to be ACID-compliant, but what does that really mean?
It turns out that the ANSI definitions for ACID (Atomicity, Consistency, Isolation, and Durability) include different levels of compliance. Two systems can both accurately claim to be ACID-compliant, but if they support different levels of the four components of ACID, in practice they will act very differently. The differences become particularly apparent and important under heavy workload and during failures, especially network connectivity failures between nodes of the same cluster. Most databases that claim to be 100% ACID compliant use very vague or misleading definitions. This applies to large established vendors as much as to small new startups — so understanding what is being claimed, and more importantly what you actually get in practice, is important
Why is Isolation Needed?
This paper covers:
- Isolation level and phenomena
- Regulatory management use case
- Single source of truth use case
- Precise real-time resource management use case
- Exactly once semantics use case