There are two ways of constructing a software design. One way is to make it so simple that there are obviously no deficiencies. And the other way is to make it so complicated that there are no obvious deficiencies. C.A.R. Hoare
Atomicity, Consistency, Isolation, Durability is a set of properties that guarantee that database transactions are processed reliably.
Atomicity requires that each transaction be completed successfully or nothing execute. A transaction consists of many steps. If any step fails, all the transactions are rolled back.
The consistency property ensures that any transaction will bring the database from one valid state to another. The database will move from one consistent state to another, if the transaction succeeds and remain in the original state, if the transaction fails.
The isolation property ensures that the concurrent execution of transactions results in a system state that would be obtained if transactions were executed serially.
The durability property ensures that once a transaction has been committed, it will remain in persistent storage.