Storage & Databases

ACID

Atomicity, Consistency, Isolation, Durability — the database transaction guarantees.


In plain terms

Coined by Andreas Reuter and Theo Härder in 1983. Atomic = all-or-nothing; Consistent = invariants hold; Isolated = concurrent txns appear serial; Durable = once committed, survives crashes.

Origin

Coined by Andreas Reuter and Theo Härder at IBM Heidelberg in their 1983 paper "Principles of Transaction-Oriented Database Recovery." The properties themselves go back to Jim Gray's 1981 work on transaction processing; ACID gave them a name that stuck.

Where it shows up in production
  • PostgreSQL Full ACID by default; serializable level uses Serializable Snapshot Isolation (SSI).
  • MySQL InnoDB ACID with MVCC. Default isolation is REPEATABLE READ, not the strongest level.
  • DynamoDB ACID transactions added in 2018, scoped to a single region.
On Semicolony
Sources & further reading
Found this useful?