首页   >   M   >
    mongodb 事务隔离

mongodb 事务隔离

2020-09-03

3.MySQL (X-Engine) 隔离级别实现

X-Engine 隔离级别实现同样采用MVCC+Lock的方式,支持RC和SI,表现与Oracle数据库的RC,Serializable一致。具体实现层面,X-Engine 实现了行级MVCC,每条记录的key都附有一个 Sequence 代表自己的版本。所有的读操作均是快照读(包括加锁读),读请求所需要的snapshot也是一个Sequence 。写写冲突处理依靠两阶段锁,并遵循First committer wins。

按照惯例,以下面两个例子分析,说明我们的实现原理:

image.png


image.png


与Oracle类似,X-Engine SI隔离级别,可以避免Lost Update:

image.png

4.总结

image.png

前文介绍了多种数据库隔离级别的表现,对比如上表所示。其种MySQL比较特殊,如前文所述,其RR级别可以禁止部分幻读现象。开发人员在使用数据库时,需要注意:尽管不同数据库隔离级别名称相同,但是表现却可能存在差异。

展开阅读全文 icon
其他推荐内容