目录#
MVCC#
- 四个关键模块设计 [1]
- 并发控制协议 ***
- Two-phase Locking (MV2PL)
- MVOCC
- Timestamp Ordering (MVTO)
- 版本数据存储 ***
- Append-only
- Time-Travel
- Delta
- 垃圾清理机制
- 索引管理
- 并发控制协议 ***
并发控制协议 [4]#
本地数据库中的MVCC [2]#
| DB | Protocol | Version Storage | Garbage Collection | Index Management | |
|---|---|---|---|---|---|
| Oracle | MV2PL | Delta | Tuple-level (VAC) | Logical Pointers (TupleId) | |
| Postgres | MV2PL/SSI | Append-only (O2N) | Tuple-level (VAC) | Physical Pointers | |
| MySQL-InnoDB | MV2PL | Delta | Tuple-level (VAC) | Logical Pointers (PKey) |
MySQL中的MVCC [3]#
分布式数据库中MVCC[5]#
参考#
- Paper Reading:聊一聊MVCC ***
- [1] Y. Wu, An Empirical Evaluation of In-Memory Multi-Version Concurrency Control. In VLDB 2017.
- Go to Page self
MySQL MVCC 快照读 vs 当前读 - 乐观锁和 MVCC 的区别?
- Go to Page self