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)。
文章图片
图:没有冲突的可序列化时间表
在上图中, T1读取同一数据项并在T1写入之前。此计划不会与可序列化冲突。
托马斯写入规则检查T2的写入不会被任何事务看到。如果删除事务T2中的写操作, 则可以获得冲突可序列化的调度, 如下图所示。
文章图片
【DBMS Thomas的写入规则】图:可序列化的冲突时间表
推荐阅读
- DBMS三种架构架构
- DBMS第三范式(3NF)
- DBMS可串行性测试
- DBMS静态哈希解释
- DBMS事务状态介绍
- DBMS SQL中的视图
- DBMS SQL更新语句
- DBMS SQL表
- DBMS SQL子查询