Data Property - ACID (atomicity, consistency, isolation, durability)
Table of Contents
1 - About
In computer science, ACID (atomicity, consistency, isolation, durability) is a set of properties that guarantee transactions are processed reliably.
They defines a concurrency model.
Traditional database (ie non distributed database) follows this rules. In a distributed database, traditional database would be categorize as the AC type of the cap theorem. Conventional databases assume no network partitioning and are not distributed.
2 - Articles Related
3 - ACID rules
Ideally, the software should enforce the ACID rules, summarized here:
- Atomicity: Either all the tasks in a transaction must happen, or none of them. The transaction must be completed, or else it must be undone (rolled back). Atomicity = the Transaction must fail of succeed. Either all occur or none of them occur.
- Consistency: Every transaction must preserve the integrity constraints — the declared consistency rules — of the database. It cannot leave the data in a contradictory state. A series of database operations does not violate any integrity constraints during execution.
- Isolation: Two simultaneous transactions cannot interfere with one another. Intermediate results within a transaction must remain invisible to other transactions. The intermediate state of a series of database operations cannot be seen by other series of database operations.
- Durability: Completed transactions cannot be aborted later or their results discarded. They must persist through (for instance) restarts of the DBMS after crashes. A series of database operations that have committed are guaranteed to survive permanently.
4 - Weaker concurrency model
In practice, many DBMSs allow the selective relaxation of most of these rules — for better performance or on a distributed system
- Data Property - BASE (Basically Available)