DBMS时间戳顺序协议

DBMS时间戳顺序协议-

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

基本时间戳排序协议的工作原理如下:

  1. 每当事务Ti发出Read(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协议确保可串行化,因为优先级图如下:

  • TS协议确保免于死锁,这意味着没有事务等待。
  • 但是时间表可能无法恢复,甚至可能无法级联。

上一篇:DBMS基于锁的协议

下一篇:DBMS基于验证的协议

关注微信小程序
程序员编程王-随时随地学编程

扫描二维码
程序员编程王

扫一扫关注最新编程教程