你能帮我弄清楚可恢复调度和无级联调度之间的区别吗。
我知道可恢复计划假定第一个事务写入也应该提交。
另一方面,如果没有脏读,则调度是无级联的。
下面的调度是可恢复的,无级联的吗?
谢谢
最佳答案
我认为 T1 交易拼写错误它必须是 Write(A) ?
此计划是可恢复的,因为还没有任何事务提交。
但以下情况是不可恢复的。
- 如果 T2 在 Read(A) 或之后立即提交
- 如果 T3 在 Read(A) 之后立即提交。
因为 T2 和 T3 依赖于 T1。T2 和 T3 读取从 T1 写入的 A。如果 T1 应该中止 T2,则 T3 将读取(并可能向用户显示)不一致的数据库状态。
调度也不是级联的如果 T1 失败,T2 和 T3 也必须回滚。
关于database - 数据库中的可恢复性和级联调度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27720007/