Study smarter with Fiveable
Get study guides, practice questions, and cheatsheets for all your subjects. Join 500,000+ students with a 96% pass rate.
When you're tested on database systems, understanding ACID properties isn't just about memorizing an acronym—it's about grasping why databases can be trusted with critical operations like processing payments or booking flights. Every time you hear about a bank transfer completing "all or nothing" or a reservation system preventing double-bookings, you're seeing ACID in action. These four properties work together to guarantee transaction reliability, and exam questions will test whether you understand how each property contributes to data integrity and what happens when one fails.
The real exam skill here is recognizing trade-offs. ACID guarantees come with performance costs, and modern distributed systems sometimes relax these guarantees (hello, BASE model) to achieve scalability. You'll need to know when strict ACID compliance matters, when it can be relaxed, and how different isolation levels balance consistency against concurrency. Don't just memorize definitions—know what problem each property solves and what breaks if it's violated.
These four properties form an interdependent system. Each addresses a specific failure mode that could corrupt your data.
Compare: Atomicity vs. Durability—both protect against failures, but atomicity handles failures during a transaction (rollback incomplete work), while durability handles failures after commit (preserve completed work). If an FRQ asks about crash recovery, durability is your focus; if it asks about transaction failure handling, think atomicity.
Understanding where ACID matters helps you reason about system design questions and recognize appropriate use cases.
Compare: Banking vs. E-commerce—both need strong ACID compliance, but banking typically requires stricter isolation (Serializable) to prevent any balance anomalies, while e-commerce might accept Read Committed for better throughput on product browsing. Know which isolation level fits which scenario.
ACID guarantees aren't free—understanding the costs helps you answer design and comparison questions.
Compare: ACID vs. BASE—ACID guarantees immediate consistency and is essential when data accuracy is non-negotiable (banking, healthcare). BASE trades consistency for availability and partition tolerance, suitable for large-scale distributed applications (social networks, content delivery). FRQs may ask you to justify which model fits a given scenario.
| Concept | Best Examples |
|---|---|
| Atomicity | Fund transfers, multi-table updates, order processing |
| Consistency | Balance constraints, referential integrity, business rules |
| Isolation | Concurrent bookings, inventory management, balance checks |
| Durability | Committed payments, audit logs, transaction records |
| Isolation Levels | Read Uncommitted, Read Committed, Repeatable Read, Serializable |
| ACID Use Cases | Banking, e-commerce, reservations, healthcare records |
| BASE Use Cases | Social media feeds, analytics, content caching |
| Trade-offs | Performance vs. correctness, scalability vs. consistency |
A transaction debits one account and credits another, but the system crashes after the debit. Which ACID property ensures the debit is reversed, and which property would have protected the credit if the transaction had completed before the crash?
Compare Read Committed and Serializable isolation levels—what anomalies does each prevent, and when would you choose one over the other?
An e-commerce site allows two customers to simultaneously purchase the last item in stock, resulting in overselling. Which ACID property was violated, and how would you fix it?
Why might a social media platform choose BASE over ACID for displaying post likes, but use ACID for processing payments? Explain the trade-off in each case.
A database uses write-ahead logging (WAL) for crash recovery. Which ACID property does this primarily support, and how does it work to guarantee that property?