Notes
- 
ACID (database systems) stands for atomicity, consistency, isolation, durability.
 - 
Andreas Reuter and Theo Härder coined the acronym ACID in 1983.
 - 
They're a set of database transactions intended to guarantee data validity.
- Data validity is guaranteed even if errors or power failures happen.
 
 - 
Transaction is a sequence of database operations that satisfies the ACID properties.
 - 
The four properties:
- 
Atomicity: guarantees that each transaction (multiple operations) is considered a single "unit." A transaction succeeds if all operations also succeed. If only one operation fails, the whole transaction also fails.
- An atomic system must guarantee this property in all scenarios, including power failures, errors, and crashes.
 
 - 
Consistency: ensures that transactions can only bring the database from a valid state to another.
- It maintains the database invariants and constraints. For example, only numbers can be written in a property that is a number.
 
 - 
Isolation: ensures that concurrent execution of transactions leaves the database as if the same transactions were executed sequentially.
- The effects of an incomplete transaction cannot be visible by other transactions.
 
 - 
Durability: once the transaction is committed, it will remain even in the case of a system failure.
 
 -