个性化阅读
专注于IT技术分析

DBMS Thomas的写入规则

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

Thomas的基本写入规则如下:

  • 如果TS(T)<R_TS(X), 则事务T中止并回滚, 并且操作被拒绝。
  • 如果TS(T)<W_TS(X), 则不要执行事务的W_item(X)操作并继续处理。
  • 如果条件1和条件2均不发生, 则允许事务Ti执行WRITE操作并将W_TS(X)设置为TS(T)。

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

DBMS Thomas的写入规则

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

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

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

DBMS Thomas的写入规则

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

赞(0)
未经允许不得转载:srcmini » DBMS Thomas的写入规则

评论 抢沙发

评论前必须登录!