ACID stands for Atomicity, Consistency, Isolation, and Durability. Atomicity ensures that all parts of a transaction are completed successfully, or none at all. Consistency maintains database integrity by ensuring that a transaction can only bring the database from one valid state to another. Isolation ensures that transactions occur independently without interference, and Durability guarantees that once a transaction is committed, it will remain so even in case of a system failure.
In depth
The ACID properties are critical in database management systems to guarantee reliable transactions. Atomicity means that a grouping of operations within a transaction is treated as a single unit, preventing partial updates that could lead to data corruption. Consistency ensures that any transaction that begins with the database in a consistent state must end with the database in a consistent state, obeying all defined rules. Isolation is crucial in multi-user environments, as it allows concurrent transactions to run without impacting each other’s outcomes. Finally, Durability gives users the assurance that once a transaction is confirmed, its results will persist, even in the event of a crash or power loss, thus safeguarding data integrity. These properties work together to form a robust foundation for reliable database systems, especially in critical applications like banking or e-commerce where failures can have severe consequences.
Example scenario
In a banking application, when a customer transfers money from one account to another, a transaction is initiated. This transaction must ensure that the money is deducted from the sender's account and credited to the recipient's account atomically, meaning either both operations succeed, or neither does. If the system crashes after deducting the money but before crediting it, ACID properties ensure that the transaction is rolled back, and the funds remain intact, thereby maintaining the integrity of the accounts involved.
Common mistakes
One common mistake is misunderstanding Atomicity, where developers think that partial updates are allowed if they can be rolled back. However, this can lead to inconsistencies if a failure occurs after some updates have been applied. Another mistake is neglecting Isolation in high-concurrency environments, which can result in 'dirty reads' where one transaction reads data modified by another ongoing transaction. This can lead to incorrect results and undermine the integrity of the application.
Follow-up questions
- Can you explain how you would implement ACID properties in a NoSQL database?
- What challenges might you face when ensuring ACID compliance in a distributed system?
- How can you test for each of the ACID properties in your applications?

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.