分布式系统原理(8)-- 基于MVCC的分布式事务

本文介绍了基于MVCC的分布式事务实现原理,通过在分布式系统中应用MVCC技术,确保事务的原子性和一致性。文章详细阐述了MVCC的并发控制机制,分布式MVCC的重点在于实现分布式事务的原子性,并通过实例解释了如何在节点间协调事务。同时,讨论了MVCC的优缺点以及工程实践中的改进措施,如定期合并操作。文中提到了Megastore和Doris*系统中MVCC的应用。
摘要由CSDN通过智能技术生成

   实现分布式事务除了使用类似“两阶段提交”协议等方式外,另一种简单有效的方式使用MVCC(Multi-version Cocurrent Control,多版本并发控制)技术,最初也是在数据库系统中被提出。

(1)MVCC简介

   是一种多个不同版本的数据实现并发控制的技术,其思想是为每次事务生成一个新版本的数据,在读数据时选择不同版本的数据可以实现对事务结果的完整性读取。在使用MVCC时,每个事务都是基于一个已生效的基础版本进行更新,事务可以并行进行,从而可以产生一种图状结构

   如图,数据基础版本是1,同时产生两个事务A和B,分别对数据进行本地修改(仅事务自己可见,不影响真正数据),A首先提交,生成数据版本2,在基于2,发起事务C,C提交后生成数据版本3,最后B提交,B的结果与C合并,若无数据冲突,则可提交,否则B提交失败。

   MVCC的流程与SVN等版本控制系统相似,事务基于基础数据版本做本地修改时,为不影响真正数据,有两种做法:

1. 将基础版本中的数据完全拷贝出来再修改,SVN check out就是拷贝过程

2. 每个事务只记录更新操作,不记录完整数据,读取数据时再将更新操作应用到基础版本数据,类似SVN的增量提交

 

(2)分布式MVCC

分布式MVCC的重点不是并发控制,而是实现分布式事务。

   问题模型:在分布式系统中,更新操作以事务进行,每个事务包括若干个对不同节点的不同更新

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值