ACID
Four guarantees for database transactions: Atomicity (all or nothing), Consistency (valid states only), Isolation (no interference), Durability (changes persist).
What is ACID?
Four guarantees for database transactions: Atomicity (all or nothing), Consistency (valid states only), Isolation (no interference), Durability (changes persist).
ACID is a foundational concept that sits in the Database Fundamentals area of system design. Engineers reach for it whenever they need to reason about real-world trade-offs in that space — not just for textbook correctness, but because real production systems at companies like Netflix, Amazon, and Google make these decisions every day.
If you want to go deeper than this definition — with diagrams, code, and a quiz to lock it in — work through the "ACID" lesson linked below. It walks through the why, the mechanism, the trade-offs, and how the giants actually use it in production.
Learn ACID in depth
Full interactive lesson with diagrams, code examples, real-world references, and a quiz.
Open the ACID lessonRelated lessons
Lessons that touch on ACID as part of a larger topic.
Design a Payment System
Design a payment processing system - ACID transactions, idempotency, reconciliation, retry strategies, and the saga pattern for distributed payments
capstone · capstone
NewSQL Databases
Distributed SQL databases that promise the scalability of NoSQL with the ACID guarantees of traditional SQL. CockroachDB, Google Spanner, and the NewSQL movement
intermediate · database types storage
ACID Properties
Database transaction guarantees that keep your data correct
foundation · core fundamentals
See also
Related glossary terms you might want to look up next.
BASE
An alternative to ACID for distributed systems: Basically Available, Soft state, Eventually consistent. Trades strong consistency for availability.
SQL
Structured Query Language for managing relational databases. Tables, rows, columns, and powerful joins to query related data.
Two-Phase Commit
A protocol ensuring all nodes in a distributed transaction either commit or abort together. Phase 1: prepare (vote). Phase 2: commit or rollback.