分布式事务—Lec12课前资料
创始人
2024-06-02 03:31:20
0

文章目录

  • 9.1.5 Before-or-After Atomicity: Coordinating Concurrent Threads
  • 9.1.6 Correctness and Serialization
  • 9.5.2 Simple Locking
  • 9.5.3 Two-Phase Locking
  • 9.6.3 Multiple-Site Atomicity: Distributed Two-Phase Commit多点原子性:分布式两阶段提交

9.1.5 Before-or-After Atomicity: Coordinating Concurrent Threads

9.1.6 Correctness and Serialization

1.多个并发操作正确性的概念:如果保证每个结果都可以通过纯串行应用这些相同的操作来获得。
2.保证(1)正确的旧状态 (2)正确的一些列操作 ——> 正确的新状态
在这里插入图片描述
3.before-or-after atomicity定义指的是每一个before-or-after 行为都在另一个before-or-after 行为完全结束或还未开始时运行。保证了操作的序列化

9.5.2 Simple Locking

1.Simple Locking类似于the mark-point discipline标记点原则的思想
2.Simple Locking有两个规则:(1)每个事务读写数据之前要先获取要读写数据的锁。(2)直到事务完成并提交/数据已完全保存并中止才能释放锁
3.the mark-point discipline:事务有一个lock point:第一个获得了所有锁的时刻。获得的所有锁叫做lock set。
4.lock manager强制Simple Locking每个事务在begin_transaction操作时,将它需要的lock set作为参数传入,如果有必要就等待锁可用。

9.5.3 Two-Phase Locking

1.第三种锁原则,两阶段锁,类似read-capture discipline,避免了事务需要提前知道获取哪些锁的要求。
2.两阶段锁允许事务在进行中获得锁,一个事务可以在获取对象的锁之后马上读写该数据对象。也允许事务释放锁,只要不再需要读取该对象。
3.两阶段锁名字来源于:一个事务获得的锁数量,在达到lock point之前是单调递增的,这是第一个阶段;超过了lock point,是单调递减的,这是第二个阶段

9.6.3 Multiple-Site Atomicity: Distributed Two-Phase Commit多点原子性:分布式两阶段提交

1.联合一个带有持续发送者的两阶段提交协议、复制压制和单点事务,我们可以创建一个正确的多点事务。
2.多点事务的难题:协调者和worker之间不能可靠的通信。
解决:构造可靠的两阶段提交协议的分布式版本,应用持久发送者和副本抑制。
3.阶段一:
A 为协调者, B C D 为worker
A ——>B : Please do X as part of my transaction.
B——>A: My part X is ready to commit.
A——>B:PREPARE to commit X.
B——>A: I am PREPARED to commit my part. Have you decided to commit yet? Regards.(准备消息)
(此时A作为协调者容易成为单点故障,如果A崩溃,其他worker都要等待A恢复)
如果此时所有的worker都回复了准备消息,两阶段提交的第一个阶段结束。
如果有一个worker回复了中止消息,或没回复,则A将中止整个事务或者试图将一个另外的worker点来操作这个组件事务。
4.阶段二:
当A标记她自己的输出日志committed时,A提交了整个事务,此时第二阶段开始。
A——>B:My transaction committed. Thanks for your help.
每个worker收到这个消息后,将它的状态从perpared改为committed,执行完需要的提交后置操作后,退出。
而A也可以去做其他的事务了,但是A必须永久记录完成事务的输出,为了防止有还在prepared状态的worker因网络等原因没收到完成的消息,它会重发,A收到后就会重新发送对应事务的输出记录。
5.因为worker作为他们prepared信息的persistent senders,所以A可以确信每个worker最终都会得到她committed的信息,但是却无法保证是实时的。
6.如下图所示,如果无故障,N个worker点的两阶段提交将在3N个消息完成:每一个worker点有prepare信息,prepared的回复信息 和 提交信息。
在这里插入图片描述
7.有的版本的两阶段协议还有第四种信息——从worker点到coordinator的确认信息,来统计worker是否收到committed信息。如果所有worker都已收到,coordinator可以安全的丢弃该事务的输出记录。
8.有些更关注输出记录存储空间和额外信息消耗的系统有些优化,叫做presumed commit(推测提交)
因为预期最多的信息是:committed,所以将committed的信息省略为non-existence。
9.两阶段提交未解决所有的多点原子性问题:如(1)coordinator的崩溃,导致worker们进度无法推进。(2)coordinator和worker之间实时性同步的问题.

相关内容

热门资讯

能不能给我《猫武士》第一本的第... 能不能给我《猫武士》第一本的第一个啊?呼唤野性的第一章如果能给我很多的话就更好啦!回答好我就给你一串...
高手们请帮忙翻译下下面的文章,... 高手们请帮忙翻译下下面的文章,急用,谢谢了!翻译成英文?
落跑甜心大结局是什么啊,具体的 落跑甜心大结局是什么啊,具体的男主角和女主角在一个没人的山坡举行婚礼仪式,仪式结束后,藏在山坡下的亲...
关于冬风的诗句 关于冬风的诗句千里黄云白日曛,北风吹雁雪纷纷。(唐·高适《别董大》)
林如海的介绍 林如海的介绍林如海,是清代小说《红楼梦》中的人物,巡盐御史,娶妻贾敏,林黛玉之父。
南阳有几个监狱,具体位置在哪,... 南阳有几个监狱,具体位置在哪,盗墓被判了大概五年,会在南阳那个监狱?哥,难道你就是传说中的摸金校尉。
有一本游戏小说主角是一个监狱的... 有一本游戏小说主角是一个监狱的人,还是秘密组织的人他得到一个神器叫沙盗王的戒指,上面有一段话是什么英...
形容不团结的成语有哪些? 形容不团结的成语有哪些?1、一盘散沙,、各奔东西2、,四分五裂、拳中掿沙3、七支八搭、勾心斗角4、自...
我们都一样年轻又彷徨中因为读了... 我们都一样年轻又彷徨中因为读了这本书抑郁症好了的是那一篇?保险杠铃声多多关照了我在家级的多吃点东西都...
小说炎景熙和陆沐擎最后在一起了... 小说炎景熙和陆沐擎最后在一起了吗熙带着花环和志焕一起拍了一张两个人的照片,那也是最后的一张照片,至此...
求有关化肥的绕口令。 求有关化肥的绕口令。1、初入江湖:化肥会挥发2、小有名气:黑化肥发灰,灰化肥发黑3、名动一方:黑化肥...
小喜鹊是怎样起床的 小喜鹊是怎样起床的早上大喜鹊从早上四点开始捕食喂小鸟,一直到晚上,早上小喜鹊和大喜鹊都醒了自身的生物...
贝贝小南瓜的生长资料? 贝贝小南瓜的生长资料?贝贝南瓜需要提前将种子浸泡一夜。幼苗定植一个月后,需要对土壤进行深耕,施肥。每...
苗族姑娘怎么画? 苗族姑娘怎么画? 画清楚,画好一些 找专业画家画啊,我就知道 , 兄弟壁画 挺好的,中国最大的了
求一篇科幻小说,男主被流放到一... 求一篇科幻小说,男主被流放到一颗有人形生物的星球,不断杀掉长相和地球人不同的外星生物男主被流放到一颗...
柳树怎么画 柳树怎么画柳树怎么画
快穿文女主姓宋叫什么歌,男主第... 快穿文女主姓宋叫什么歌,男主第一个位面姓林,叫什么不知道了,里面还有一个位面是腹黑王妃的?男主是那个...
哑舍同人文 哑舍同人文最好是上传的TAT~~~没有写哑舍同人文哦,怨念。。。。。。。。不过玄色大神在赤锁吧写了一...
陆墨宸简汐和刘雨彤的小说叫什么... 陆墨宸简汐和刘雨彤的小说叫什么名字宠婚:总裁在上
加法是什么意思? 加法是什么意思? 很高兴告诉你!加法: 把两个数合并成一个数的运算 把两个小数合并成一源粗带个小...