该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点
面试官:什么是MVCC,它的底层原理是什么?
MVCC(Multi-Version Concurrency Control)是一种并发控制机制,用于在数据库中实现并发事务的隔离性和一致性。MVCC的底层原理涉及到数据版本控制和多版本读取。
MVCC的底层原理主要包括以下几个关键概念和步骤:
-
数据版本控制:
- 每行数据都会有一个版本号或时间戳,表示该行数据的有效期。
- 当对数据进行修改时,系统会创建一个新的版本,并更新该行数据的版本号或时间戳。
- 旧的版本会保留在数据库中,以供其他事务进行读取操作。
-
读操作:
- 当一个事务开始执行读操作时,系统会为该事务分配一个事务ID或时间戳。
- 读操作会根据事务ID或时间戳来确定可见的数据版本。
- 只有版本号早于事务开始时间的数据版本才会对该事务可见。
-
写操作:
- 当一个事务开始执行写操作时,系统会为该事务分配一个事务ID或时间戳。
- 写操作会创建新的数据版本,并将新的版本号或时间戳与修改的数据进行关联。
- 原始版本的数据保持不变,其他事务仍然可以读取到旧版本的数据。
-
并发控