冲突序列化解释

时间:2013-12-05 20:37:33

标签: database

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

提前谢谢!

1 个答案:

答案 0 :(得分:0)

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

H成为T = \{ T_1, T_2, \ldots, T_n \}以上的历史记录。 H的序列化图(SG),表示为SG(H),是一个有向图,其节点是T中提交的H中的事务,其边缘都是{ {1}} T_i \to T_j),i \neq j的某个操作先于T_i T_jH个操作之一并与之发生冲突。

T_i \to T_j中的每个边SC(H)表示T_i的至少一个操作先于T_j&#39}之一并与之发生冲突。这表明T_i应该在T_j之前的任何序列历史记录中等同于H。如果我们可以找到H_s的序列历史记录,与SG(H)中的所有边缘一致,则H_sH冲突等效,因此H是冲突可序列化。只要SG(H)是非循环的,我们就可以这样做。

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

  

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

注意:有关详细信息,请参阅Page 33 in Chapter 2 of Philip A. Bernstein et al.