Multiversion concurrency control(MVCC)是数据库实现并发访问的一种方法。 在MVCC下一个row会有多个版本。 比如对一个row做UPDATE操作时,不会修改原始的row,而是作用在这个row的一个新的拷贝上。 MVCC在实现并发时不需要引入锁。 读、写操作不会相互阻塞。

很多数据库都实现了MVCC,比如PostgreSQL和Oracle。

更多参考

Multiversion concurrency control

PostgreSQL Concurrency with MVCC

Mvcc Unmasked - Bruce Momjian