冲突序列化解释



我正在努力了解如何确定时间表是否为可冲突序列化

提前谢谢!

我们可以通过分析从名为序列化图的历史派生的图来确定历史是否是可冲突序列化的。

设CCD_ 1是CCD_ 2上的历史。H的序列化图(SG),表示为SG(H),是一个有向图,其节点是在H中提交的T中的事务,并且其边都是T_i to T_ji neq j),使得T_i的一个操作先于H0在H中的一个操作并与之冲突。

SC(H)中的每个边T_i to T_j意味着T_i的操作中至少有一个在T_j的操作之前并且与之冲突。这表明在与H等价的任何序列历史中,T_i应该在T_j之前。如果我们能找到一个序列历史H_s,它与T = { T_1, T_2, ldots, T_n }0中的所有边一致,那么H_sH冲突等价,因此H是可冲突序列化的。只要SG(H)是非循环的,我们就可以这样做。

形式上,我们有(冲突-)可串行性理论的基本定理:

历史H是可冲突序列化的,当且仅当SG(H)是非循环的。

注意:有关详细信息,请参阅Philip A.Bernstein等人的第2章第33页。

最新更新