MVCC
Multi-Version Concurrency Control: de database bewaart meerdere versies van dezelfde rij, zodat lezers nooit schrijvers blokkeren (en andersom).
Elke transactie krijgt een snapshot op basis van een transactie-ID en ziet alleen versies die bij de start van de transactie al gecommit waren. Schrijfacties maken nieuwe versies; oude worden later opgeruimd (VACUUM in Postgres, undo log in Oracle/MySQL InnoDB).
Standaard in Postgres, Oracle, MySQL InnoDB, SQL Server (snapshotmodus), SQLite (WAL-modus) en Spanner. De prijs: meer schijf- en geheugengebruik, periodieke garbage collection, en de ‘write skew’-anomalie blijft mogelijk onder snapshot isolation.