Making multi-step changes all-or-nothing, and understanding what concurrent readers and writers can see.
Topics
- Atomicity
- All-or-nothing changes, and what a transaction does and does not protect against.
- Isolation Levels and Anomalies
- Dirty reads, lost updates, write skew and phantoms, and which isolation levels prevent which.
- Locking and Optimistic Concurrency
- Row locks, version numbers and compare-and-set as ways to make concurrent writers safe.
- Consistency Models
- Strong, eventual and read-your-writes consistency, and what each one promises a user.
- Replication and Replica Lag
- How copies of data are kept in sync, and what stale reads look like to users.