MVCC

MVCC

  • 当事务写入一个对象的时候,数据库创建这个对象的一个新版本
  • 当事务读取的时候,读取自事务开始后的该对象的最新版本

并发协议

  • Timestamp Ordering,每个事务关联一个时间戳,以检测顺序
  • Optimistic Concurrency Control
  • Two-Phase Locking。Txns acquire appropriate lock on physical version before they can read/write a logical tuple .

Tuple 的格式:

版本存储

  • Append-Only 存储:每一次更新,在表的空位置添加一个新版本的 Tuple。

  • Time-Travel 存储。每一次新增,将当前的版本拷贝到 Time Travel 表中。

  • 增量存储。每次更新,只拷贝改变的字段到增量存储中。

MVCC CONFIGURATION EVALUATION

参考