database - 数据库中的可恢复性和级联调度

标签 database

你能帮我弄清楚可恢复调度和无级联调度之间的区别吗。

我知道可恢复计划假定第一个事务写入也应该提交。

另一方面,如果没有脏读,则调度是无级联的。

下面的调度是可恢复的,无级联的吗?

enter image description here

谢谢

最佳答案

我认为 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/

相关文章:

mysql - Mysql master-master仅复制一个数据库而忽略其他数据库

database - PostgreSQL 是否可以自动释放锁?

php - 自定义 CMS 如何使用 PHP/MySQL 数据库为帖子创建类别

java - 作为 Java 1.3 的数据库,什么是文本文件的良好替代品?

sql - 在 SQL Server 中,将 int 类型的列更改为 text

sql - 有没有 'web-based' sql测试环境?

php - 每 X 秒(异步)从数据库访问数据的最佳方式

MySQL使用 "only if"条件选择行

database - SSD 使用对基本数据库假设有何影响?

database - 面向列和面向行的数据库有什么区别?