Questions: Multi-Version Concurrency Control (MVCC)

5 questions to test your understanding

Score: 0 / 5
Question 1 Multiple Choice

Transaction T1 started at time 10. Transaction T2 started at time 15 and is currently updating row R. At time 20, T1 reads row R. What does T1 see under MVCC?

AT1 blocks until T2 commits, then reads the new version
BT1 reads the version of R that was committed before T1's snapshot time (time 10)
CT1 reads the version of R that T2 is currently writing (the in-progress update)
DT1 receives an error because row R is locked
Question 2 Multiple Choice

Under MVCC, two transactions simultaneously attempt to update the same row. What happens?

ABoth updates succeed simultaneously, with MVCC creating two new versions
BThe second transaction reads the old version and writes independently, causing no conflict
CThe second transaction must wait or abort — write-write conflicts still require coordination
DMVCC prevents this situation by making rows read-only during updates
Question 3 True / False

Under MVCC, a long-running analytical query can cause the database to retain old row versions that would otherwise be garbage collected.

TTrue
FFalse
Question 4 True / False

MVCC substantially eliminates the need for any locking in the database.

TTrue
FFalse
Question 5 Short Answer

Explain why old row versions in an MVCC database cannot be immediately deleted when a transaction updates a row.

Think about your answer, then reveal below.