数据库分布式事务的两段式和三段式有哪些区别

技术数据库分布式事务的两段式和三段式有哪些区别这篇文章主要介绍“数据库分布式事务的两段式和三段式有哪些区别”,在日常操作中,相信很多人在数据库分布式事务的两段式和三段式有哪些区别问题上存在疑惑,小编查阅了各式资料,整理出

本文主要介绍“两阶段和三阶段数据库分布式事务有什么区别”。在日常操作中,相信很多人对两阶段和三阶段数据库分布式事务的区别有所怀疑。边肖查阅了各种资料,整理出简单易用的操作方法,希望能帮助大家解答“两阶段和三阶段数据库分布式事务有什么区别”的疑惑!接下来,请和边肖一起学习!

00-1010c代表一致性,a代表可用性,p代表分区容差。

对于一致性:,的指定客户端,读操作保证可以返回最新的写操作结果。

可用性:无故障节点在合理的时间内返回合理的响应(不是错误和超时响应)。(只有无故障节点才能满足正常业务;只有在合理的时间内用户才能接受;只有当合理的响应被返回时,用户才能接受它)。

当网络分区出现在分区容错性:,时,系统可以继续“履行其职责”。(定义的网络分区中有很多情况,比如丢包、连接中断和拥塞。

中定义的职责的履行表示系统可以返回合理的响应。)

00-1010 1,请求阶段(提交-请求阶段,或投票阶段)

询问。协调者将交易内容发送给所有参与者,询问交易是否可以提交,然后开始等待参与者的响应。

执行交易。每个参与者节点执行事务操作(本地事务),并在事务日志中记录撤消和重做信息。

每个参与者将对交易查询的响应反馈给协调者。同意(事务参与者的本地作业执行成功)或取消(本地作业执行失败)。

2.提交阶段

在这一阶段,协调员将根据第一阶段的投票结果做出决定:提交还是取消。

并且只有当所有参与者都同意提交时,事务协调器才会通知所有参与者提交事务,否则,协调器会通知所有参与者回滚事务。

00-1010 1.同步阻塞问题。

在执行过程中,所有参与节点都被事务阻塞。当参与者占用公共资源时,必须阻止其他第三方节点访问公共资源。

2.单点故障

当协调器出错时,所有参与者仍处于锁定事务资源的状态,无法继续完成事务操作。

3、

在第二阶段,当协调器再次发送提交消息时,它就下去了,唯一接收到这个消息的参与者也下去了,所以即使协调器通过选举协议产生了一个新的协调器,这个事务的状态也是不确定的,没有人知道这个事务是否已经提交。

4.不一致的数据

在两阶段提交的第二阶段,当协调器向参与者发送提交请求时,在发送提交请求的过程中出现本地网络异常或协调器失败。这一次,只有一部分参与者收到提交请求,提交操作将在这部分参与者收到提交请求后执行。然而,其他没有收到提交请求的机器无法执行事务提交,因此数据的局部不一致性出现在整个分布式系统中。

CAP

1、CanCommit

询问。

每个参与者对协调此反馈事务的查询的响应。

2、预调试

假设协调器从所有参与者那里得到了“是”的响应,那么事务预提交将被执行。执行事务操作,在事务日志中记录撤销和重做信息。

假设任何参与者向协调器反馈“否”响应,或者等待超时后,协调器无法从所有参与者获得响应,则事务将被中断。

3、文档

在这个阶段,事务将被提交或回滚。

一、两段式

为协调者和参与者设置了超时机制。

参与者的阻塞范围缩小,第一阶段出现两级阻塞,第二阶段出现三级阻塞。

解决了单点阻塞问题,因为一旦参与者不能及时收到协调者的信息,他会因超时而默认提交。但是,如果协调器发送中止,其中一个参与者由于网络问题未能收到,最终提交,则该参与者的数据与执行中止的其他参与者的数据不一致。

(原两阶段提交中,经过投票,解决了由于协调人崩溃或错误导致参与者无法知道是提交还是暂停的“不确定状态”可能导致的长时间延迟问题。也就是说,即使协调者在发送提交消息后就下去了,而唯一收到这个消息的参与者也同时下去了,我们仍然可以知道它至少处于准备通过提案的阶段,也就是说大家已经决定通过第一阶段,然后就可以直接通过了。(即第一阶段的预告起到担保的作用))

至此,“两阶段和三阶段数据库分布式事务有什么区别”的研究结束,希望能解决大家的疑惑。理论和实践的结合可以帮助你学得更好。去试试吧!如果你想继续学习更多的相关知识,请继续关注网站,边肖会继续努力,给大家带来更多实用的文章!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/98521.html

(0)

相关推荐

  • Hive高阶聚合函数用法示例

    技术Hive高阶聚合函数用法示例这篇文章主要为大家展示了“Hive高阶聚合函数用法示例”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Hive高阶聚合函数用法示例”这篇文章吧。

    攻略 2021年12月10日
  • IE8兼容性问题的快速解决方法是什么

    技术IE8兼容性问题的快速解决方法是什么IE8兼容性问题的快速解决方法是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。为了实现IE8兼容基于其它网页标准

    攻略 2021年11月25日
  • Flutter Android应用启动白屏怎么办

    技术Flutter Android应用启动白屏怎么办小编给大家分享一下Flutter Android应用启动白屏怎么办,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让

    攻略 2021年11月11日
  • C# 和 Python 的 hash_md5加密方法是什么

    技术C# 和 Python 的 hash_md5加密方法是什么这篇文章给大家介绍C# 和 Python 的 hash_md5加密方法是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一、C# 和

    攻略 2021年11月9日
  • 用图形画一幅画,用一张白纸怎么样绘画出一张图

    技术用图形画一幅画,用一张白纸怎么样绘画出一张图“绘见70年用图形画一幅画,画出新中国”一个才华横溢有望成为艺术大家的美术老师?,为大家呈现以绘画的方式表达对祖国的热爱。一张白纸经过我们的图图画画,使空白化作神奇。新手绘

    生活 2021年10月24日
  • 1.如何用flink表和sql建立pom文件

    技术1、如何用flink的table和sql​构建pom文件这篇文章主要讲解了“1、如何用flink的table和sql构建pom文件”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研

    攻略 2021年12月23日