MVCC

MVCC(多版本并发控制)是一种常见的数据库并发控制方法,用于提供一致性的读取和事务隔离。主要通过保留旧版本数据并在事务提交后延迟清除来实现。不同数据库如MySQL的InnoDB、Oracle和PostgreSQL有不同的MVCC实现方式。InnoDB使用回滚段和undo log,Oracle依赖ITL和回滚段,而PostgreSQL没有回滚段,旧数据通过垃圾回收进行管理。MVCC确保查询与更新操作互不阻塞,提供快照读功能,保证数据一致性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

目录

MVCC如何实现

旧版本数据延迟清除的原因

快照读(一致性读)的用途

MVCC总结

Mysql MVCC实现

Innodb的事务的相关概念

Innodb多版本的实现

Innodb的事务的提交与回滚

Oracle的多版本实现

ITL解释

ITL内容

Oracle数据块的结构

Oracle的多版本实现

旧版本的数据在回滚段中的结构

PostgreSQL MVCC实现

PostgreSQL事务ID

PostgreSQL MVCC实现

比较事务新旧的方法

可见性判断


以下内容来自于唐成老师的公开课内容,感谢老师不吝分享,仅限于学习交流。如有侵权,及时删除。

借助wiki上的解释:

Multiversion concurrency control (MCC or MVCC), is a concurrency control method commonly used by database management systems to provide concurrent access to the database and in programming languages to implement transactional memory.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MyySophia

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值