← Back to Index
10 · Data Guarantees

ACID vs BASE

The two philosophies for database guarantees. ACID = strict correctness. BASE = eventual correctness with higher availability and scale.

ACID
AAtomicity — all or nothing, transaction never partially succeeds
CConsistency — DB always moves from one valid state to another
IIsolation — concurrent transactions don't interfere with each other
DDurability — committed transactions survive crashes, power loss
When to use: Financial systems, inventory, order management. Anywhere data correctness is non-negotiable. PostgreSQL, MySQL, Oracle.
BASE
BABasically Available — system guarantees availability, always responds
SSoft State — state may change over time even without new input
EEventually Consistent — data will become consistent… eventually
When to use: Social feeds, recommendations, analytics, shopping carts, DNS. High availability matters more than perfect accuracy. Cassandra, DynamoDB, MongoDB.