📜  DBMS Thomas写规则

📅  最后修改于: 2020-12-12 07:48:43             🧑  作者: Mango

托马斯写规则

Thomas Write Rule为协议提供了可序列化顺序的保证。它改进了基本时间戳排序算法。

Thomas的基本写入规则如下:

  • 如果TS(T)
  • 如果TS(T)
  • 如果条件1和条件2均不发生,则允许事务Ti执行WRITE操作,并将W_TS(X)设置为TS(T)。

如果我们使用托马斯写入规则,那么可以允许一些可序列化的时间表,该时间表与可序列化的冲突不冲突,如给定图中的时间表所示:

图:没有冲突的可序列化时间表

在上图中,T1读取同一数据项并在T1写入之前。此计划不会与可序列化冲突。

托马斯写入规则检查T2的写入不会被任何事务看到。如果我们删除事务T2中的写操作,则可以获得冲突的可序列化调度,如下图所示。

图:可序列化的冲突时间表