ACID
ACID is the four guarantees a serious database makes about transactions: Atomicity — all operations commit together or none do, no half-updates; Consistency — constraints (foreign keys, uniqueness, checks) hold before and after each transaction; Isolation — concurrent transactions don't see each other's intermediate state; Durability — once the DB says "committed", it survives crashes. The interesting one in practice is Isolation, because it comes in levels with real trade-offs: Read Uncommitted, Read Committed (Postgres default), Repeatable Read, Serializable. Higher levels prevent more anomalies (dirty reads, non-repeatable reads, phantom reads) but cost throughput. The mental model: ACID is the difference between a database and a smart file — you pay latency and complexity for these four properties, and for anything handling money, orders, or user identity, that payment is mandatory.