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

DBMS时间戳排序协议

  • 时间戳排序协议用于根据事务的时间戳对事务进行排序。事务的顺序不过是事务创建的升序。
  • 较旧事务的优先级较高, 这就是它首先执行的原因。为了确定事务的时间戳, 此协议使用系统时间或逻辑计数器。
  • 基于锁的协议用于在执行时管理事务之间冲突对之间的顺序。但是, 基于时间戳的协议在创建事务后立即开始工作。
  • 假设有两个事务T1和T2。假设事务T1在007次进入系统, 事务T2在009次进入系统。 T1具有更高的优先级, 因此它在首先进入系统时首先执行。
  • 时间戳排序协议还维护对数据的最后“读”和“写”操作的时间戳。

基本时间戳排序协议的工作方式如下:

1.每当事务Ti发出读取(X)操作时, 请检查以下条件:

  • 如果W_TS(X)> TS(Ti), 则拒绝该操作。
  • 如果W_TS(X)<= TS(Ti), 则执行该操作。
  • 所有数据项的时间戳都会更新。

2.每当事务Ti发出Write(X)操作时, 请检查以下条件:

  • 如果TS(Ti)<R_TS(X), 则拒绝该操作。
  • 如果TS(Ti)<W_TS(X), 则拒绝该操作, 并回滚Ti, 否则执行该操作。

哪里,

TS(TI)表示事务Ti的时间戳。

R_TS(X)表示数据项X的读取时间戳。

W_TS(X)表示数据项X的写入时间戳。

TO协议的优缺点

  • 由于优先级图如下, 因此TO协议可确保可串行性:
DBMS时间戳排序协议
  • TS协议可确保避免死锁, 这意味着没有事务等待。
  • 但是时间表可能无法恢复, 甚至可能没有级联。
赞(0)
未经允许不得转载:srcmini » DBMS时间戳排序协议

评论 抢沙发

评论前必须登录!