Content #
我们通过一个例子,看看如何用这几条规则来构建一个简单的串行化图。
图中一共有三个事务先后执行,事务 T1 先执行 W(A),T2 再执行 R(A),所以 T1 与 T2 之间存在 WR 依赖,因此形成一条 T1 指向 T2 的边;同理,T2 的 W(B) 与 T3 的 R(B) 也存在 WR 依赖,T1 的 W(A) 与 T3 的 R(A) 之间也是 WR 依赖,这样就又形成两条有向边,分别是 T2 指向 T3 和 T1 指向 T3。
最终,我们看到产生了一个有向无环图(Directed Acyclic Graph,DAG)。能够构建出 DAG,就说明相关事务是可串行化执行的,不需要中断任何事务。