Intermediate Topic 25 of 51 Databases
ACID Properties
Atomicity, consistency, isolation and durability guarantees.
How it works
ACID summarizes the guarantees of reliable transactions. Atomicity means all of a transaction's changes happen or none do. Consistency means a transaction takes the database from one valid state to another, respecting constraints. Isolation means concurrent transactions do not see each other's partial work, as if they ran one after another. Durability means committed data survives crashes, ensured by write-ahead logging and flushing to stable storage.
Step-by-step walkthrough
- Atomicity: all of the transaction happens or none.
- Consistency: constraints hold before and after.
- Isolation: concurrent transactions do not see half-done work.
- Durability: committed data survives crashes.
- Together they keep money and orders correct.
Where it is used
Financial systems, inventory and booking systems and most relational databases rely on ACID to keep data correct under failures and concurrency.
Common pitfall
Strict isolation can reduce concurrency, so many systems use weaker levels. Durability depends on disks honoring flush commands, and asynchronous commit settings trade it for speed. Consistency in ACID is different from consistency in the CAP theorem. Distributed transactions across services are costly, so understand which guarantees you really need.
Where it fits in the course
ACID Properties is topic 25 of 51 in Databases, rated Intermediate. It follows Transactions. The next topic is Isolation Levels.
Practice and explore
- Open the interactive lesson, with a mini quiz.
- Take the Databases quiz.
How to study this topic
- Read the explanation above and restate the definition in your own words.
- Open the interactive lesson and answer its mini quiz.
- Read the common pitfall, then write a short example that avoids it.
- Check your understanding in the Databases quiz, and revisit the topic if you miss a question.
Frequently asked questions
What is ACID Properties?
Where do people use ACID Properties?
What is the most common mistake with ACID Properties?
What should I learn before this topic?
How can I practice it?
Is ACID Properties hard to learn?
How long does it take to learn ACID Properties?
Which topics are related to ACID Properties?
What should I study after ACID Properties?
Related topics
- Transactions (Databases)
- Isolation Levels (Databases)
- Denormalization (Databases)
- Concurrency Control (Databases)