可恢复和级联时间表

时间:2014-02-21 15:18:57

标签: database database-design data-binding database-schema

在数据库事务管理中。严格的时间表是

    T1        T2     

    R(A)
    W(A)
              R(A)
              W(A)
   Commit;
              Commit;

这是严格的时间表。因为我们遵循基本规则。如果T2读取由T1写入的值,那么T1提交应该在T2提交之前。

此计划也是级联计划的子集。因为如果T1失败,T2将被回滚。因此,严格时间表是级联时间表的子集。该附表也是可恢复的时间表。 我们可以得出结论,级联计划是可恢复计划的子集

    T1        T2      

    R(A)
    W(A)
    Commit;
              R(A)
              W(A)
              Commit;

上述时间表是Cascade较少且可恢复的。但是我脑子里还有一个疑问。这个时间表是什么(下)。

    T1        T2       T3

    R(A)
    W(A)
              R(A)
              W(A)
    Commit;
              Commit;
                       R(A)
                       W(A)
                       Commit;

T1和T2是级联的,但T3不是。是级联和可恢复的

2 个答案:

答案 0 :(得分:1)

这里,事务T1和T2是级联和可恢复的(因为T2读取由T1写入的A,T1在T2之前提交)。 T3和(T1 + T2)是无级联的。由于所有无级联调度都是可恢复的,因此所有T1,T2,T3都是可恢复的。

看看这个:http://coddicted.com/recoverable-and-cascadeless-schedules/

答案 1 :(得分:0)

T1& T2是可恢复的,因为首先开始的事务是首先提交的事务。此外,在W(A)之后T2中的任何一次故障导致两次交易都回滚,因此T1和T2也是级联的。