ACID stands for Atomicity, Consistency, Isolation, and Durability. Atomicity ensures all parts of a transaction are completed, Consistency ensures data integrity, Isolation keeps transactions independent, and Durability guarantees that once a transaction is committed, it remains so even in case of a failure.
In depth
Atomicity means that a transaction must be treated as a single unit; if any part of the transaction fails, the entire transaction fails. This is crucial to prevent partial updates that could corrupt data. Consistency ensures that a transaction brings the database from one valid state to another, abiding by all defined rules and constraints. Isolation ensures that concurrently executing transactions do not interfere with each other, which is important in multi-user environments to maintain data integrity. Finally, Durability means that once a transaction is committed, it will persist regardless of system failures, which is vital for trust in the data stored in the database.
Example scenario
For instance, consider an online banking system where a user transfers money from one account to another. The transaction must ensure that the debit from the sender's account and the credit to the receiver's account either both happen or neither does, adhering to the Atomicity property. If there's a system crash after the debit but before the credit, the transaction should not leave the accounts in an inconsistent state.
Common mistakes
One common mistake developers make is assuming that a database will always enforce ACID properties without understanding their configuration. For example, using a non-transactional storage engine can lead to data loss during failures. Another mistake is not considering Isolation levels; choosing too low an isolation level can result in dirty reads or lost updates, undermining the integrity of concurrent transactions.
Follow-up questions
- Can you describe a situation where a violation of ACID properties might occur?
- What are some strategies to ensure ACID compliance in a distributed database?
- How do different database systems implement ACID properties?
- Can you explain what happens during a rollback in a transaction?

Preparing for a system design interview?
- A 7-step method for answering any system design question, plus estimation numbers
- 5 worked designs: URL shortener, rate limiter, chat, news feed and file storage
- Guides to caching, databases, queues, consistency and reliability, with a 4-week study plan
- 306 practice questions with answers on caching, databases, queues, microservices, APIs and more
5 worked designs, a 4-week plan and 306 practice questions with answers.
The material stays free to read online. This is the organised, offline, print-ready PDF edition. Secure payment by PayPal; your personal download link is emailed after payment is confirmed. Digital product, no shipping.