ACID is a set of four guarantees that describe how a database transaction should behave to be considered reliable. The letters stand for Atomicity, Consistency, Isolation, and Durability, and each one protects data from a different kind of problem. Atomicity means that a transaction either completes fully or has no effect at all, instead of stopping halfway. Consistency ensures that every completed transaction leaves the database following all its rules, such as unique primary keys. Isolation means that even if many transactions run at the same time, they behave as if they ran one after another. Durability guarantees that once a transaction is committed, it will survive crashes or power loss because it has been safely written to storage.
Why it matters
Without ACID properties, systems like banking apps or inventory tools could easily lose or corrupt data when many users act at once. Developers use ACID as a mental checklist when designing relational databases and choosing between SQL and NoSQL options. Understanding these guarantees also helps you reason about tradeoffs when a system relaxes strict ACID behavior to gain speed or scalability.
Examples
A classic example is transferring money between two accounts, where one row is debited and another is credited in a single transaction. If the system crashes after the debit but before the credit, Atomicity ensures that the whole transaction is rolled back rather than leaving the customer poorer. Modern relational databases like MySQL and PostgreSQL are built to support strong ACID guarantees for many workloads. You can see how transactions behave in practice in the lesson What Are Transactions?.