5 questions to test your understanding
A database guarantees SERIALIZABLE isolation. Which statement correctly describes what this means?
Two transactions T1 and T2 run concurrently at SERIALIZABLE isolation under MVCC. T1 reads account balances; T2 updates one. At commit time, the system detects a conflict and aborts T2. A developer says: 'MVCC is broken — we paid for SERIALIZABLE isolation but our transaction was aborted.' What is the correct response?
Two read-only transactions can always execute in parallel without violating SERIALIZABLE isolation, regardless of the isolation mechanism.
Two-phase locking (2PL) prevents conflicts by requiring transactions to release their existing locks before acquiring new ones.
What is the fundamental difference in how 2PL and MVCC achieve serializability, and what does this mean for concurrent read-only transactions?