Database 共享/独占锁定方案及严格的两阶段锁定协议

Database 共享/独占锁定方案及严格的两阶段锁定协议,database,concurrency,locking,Database,Concurrency,Locking,[试题]给定一个键: S: r3(X); r1(Y); w3(Z); w3(X); w1(Z); w1(X); r2(X); w2(Z); w2(Y); r1(X); 而且 T1: r1(Y); w1(Z); w1(X); r1(X); T2: r2(X); w2(Z); w2(Y); T3: r3(X); w3(Z); w3(X); 在每次操作后指示有哪些锁。我真的不明白,我需要你的帮助。多谢各位 答案是这样的:但我不知道它是怎么做到的 此问题的时间戳排序: 注意:这应该是一个评论

[试题]给定一个键:

S: r3(X); r1(Y); w3(Z); w3(X); w1(Z); w1(X); r2(X); w2(Z); w2(Y); r1(X);
而且

T1: r1(Y); w1(Z); w1(X); r1(X); 
T2: r2(X); w2(Z); w2(Y); 
T3: r3(X); w3(Z); w3(X); 
在每次操作后指示有哪些锁。我真的不明白,我需要你的帮助。多谢各位

答案是这样的:但我不知道它是怎么做到的

此问题的时间戳排序:

注意:这应该是一个评论,但我没有这方面的声誉

我认为你不应该在家庭作业方面寻求帮助,尽管我可以指出,如果S是操作的顺序(看起来是这样),那么答案是非常严格的

编辑:

在分布式系统:概念和设计第5版()第16章第4节图16.15中,您有锁兼容性表。 此外,图16.16提供了执行2PL所需的所有信息

至于提交(c1、c2、c3),您只需要查看每个事务的最后一个操作


因此,首先用操作和提交事件构建表,然后,对于每个对象(X,Y,Z),使用我刚才给你的引用确定谁拥有锁。

你可以问你的考官?@jruizaranguren没有时间了,否则我会,他们不会在考试前两天再问问题。这不是家庭作业,这是考试题,我正在努力理解。我已经更新了答案。我希望它能帮上大忙。而且,这本书是开始分布式系统的一个很好的参考资料。@Duarte Patrício谢谢,我试着用很短的时间来阅读它,你知道基本的时间是如何进行重新定义的吗???@David你是说时间戳排序吗?是的,我试着理解这两个方面有一段时间了,但我不能。我想我现在理解了2pl是如何完成的,但我仍然不知道如何将r1移动到c3之后的下一个事务。是的,我指的是时间戳排序。用同样的S。