Transaction Isolation
Rule: a read-modify-write split across two statements is a race condition unless you have
Atomicity & Durability
Rule: COMMIT SUCCESSFUL is a promise about your database's local rows, and nothing else.
Optimistic vs Pessimistic Locking
Rule: the choice is a bet on how often writes actually collide, and being wrong is expensive in
Distributed Transactions
Rule: ACID stops at the database boundary, and "localhost is a great lie." Across services you
Consistency Boundaries
Rule: decide which invariants must be true *right now*, and let everything else converge.