Transactions & Concurrency Language
5 exercises — practise the English vocabulary for advanced concurrency discussions: ACID properties mapped to real scenarios, isolation level anomalies, optimistic vs. pessimistic locking, dirty reads, and the 2PL vs. 2PC distinction.
Transactions & concurrency vocabulary quick reference
- ACID: Atomicity (all-or-nothing), Consistency (valid state), Isolation (no interference), Durability (survives crash)
- Dirty read: reading uncommitted data — prevented from READ COMMITTED upward
- Phantom read: range query returns different rows on re-execution — prevented by SERIALIZABLE only
- Optimistic locking: version column checked at update time — no lock held during read
- Pessimistic locking: SELECT FOR UPDATE holds a row lock until commit
- 2PL: single-node concurrency control (growing/shrinking phases) — solves serializability
- 2PC: distributed commit protocol (prepare/commit phases) — solves distributed atomicity
Question 1 of