MVCC

MVCC全称Multi-version Cocurrent Control,是一种针对数据库在高并发下的常用解决方案,常用的数据库MySQL,PostgreSQL,以及分布式key-value存储等都实现了MVCC.
MVCC主要通过以下几点实现:

  1. 写时创建新版本
  2. 读时根据版本号进行读取
  3. 读时不使用锁

处理写操作时,MVCC 不会用新值覆盖旧值,而是创建一个新版本的数据。
读取数据时,先确定要读取的版本,然后根据版本找到对应数据。
这种写操作创建新版本,读操作访问旧版本的方式可以使读写操作隔离,不需要加锁,减少阻塞可能发生的情况,以此提高效率

原文地址:https://www.cnblogs.com/quanee/p/11720198.html