首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >可恢复和级联调度

可恢复和级联调度
EN

Stack Overflow用户
提问于 2014-02-21 15:18:56
回答 2查看 7.5K关注 0票数 0

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

代码语言:javascript
运行
复制
    T1        T2     

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

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

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

代码语言:javascript
运行
复制
    T1        T2      

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

上面的时间表是级联较少和可恢复的。但还有一个疑问出现在我的脑海里。这个时间表(下面)是什么?

代码语言:javascript
运行
复制
    T1        T2       T3

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

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

EN

回答 2

Stack Overflow用户

发布于 2015-10-22 14:09:05

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

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

票数 1
EN

Stack Overflow用户

发布于 2015-10-02 08:55:43

T1 & T2是可恢复的,因为首先启动的事务是首先提交的事务。而且,在W(A)之后T1中的任何T2故障都会导致两个事务的回滚,因此T1 &T2也是级联的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21938218

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档