您的位置:寻梦网首页编程乐园数据库PostgreSQL 7.2 Documentation

Chapter 9. 多版本并行控制

多版本并行控制(Multi-Version Concurrency Control (MVCC)) 是用于提高数据库在一个多用户环境下性能的高级技术。 Vadim Mikheev( )为 PostgreSQL 提供了MVCC的实现。

9.1. 介绍

与其他使用锁来进行并行控制的数据库系统不同, PostgreSQL 利用多版本模型来维护数据的一致性。 这就意味着当检索数据库时,每个事务都看到一个 数据的一段时间前的快照 ( 数据库版本 ) ,而不管正在处理的数据当前的状态。这样,如果对每个数据库会话进行 事务隔离 , 就可以避免一个事务看到因为其它并行的事务更新 同一行数据而导致的不连贯的数据。

多版本和锁定模型的主要区别是在 MVCC 里, 对检索(读)数据的锁要求与写数据的锁要求不冲突, 所以读不会阻塞写,而写也从不阻塞读。