DBMS冲突串行化调度
如果不冲突的业务交换后,它可以转变成串行调度,调度被称为冲突串行化调度。
此调度将是一个序列化的冲突,如果它是相当于冲突的串行调度。
冲突操作
如果所有条件满足,则这两个操作会发生冲突:
- 两者都属于单独的事务。
- 它们具有相同的数据项。
- 它们至少包含一个写操作。
示例:
仅当S1
和S2
在逻辑上相等时才可以进行交换。
这里,S1 = S2
。 这意味着它是非冲突的。
冲突等效
在冲突等效中,可以通过交换非冲突操作将其转换为另一个。 在给定的示例中,S2与S1相当冲突(S1可以通过交换非冲突操作转换为S2)。
当且仅当以下情况时,两个调度被认为是冲突等效的:
- 它们包含相同的事务集。
- 如果以相同的方式对每对冲突操作进行排序。
示例
调度S2是一个连续调度表,因为在这种情况下,T1
的所有操作都是在开始任何T2
操作之前执行的。通过交换S1的非冲突操作,可以将调度S1转换为连续时间表。
在交换非冲突操作后,调度S1变为:
因为,S1是冲突可序列化的。
上一篇:DBMS串行化的测试
下一篇:DBMS查看可序列化
扫描二维码
程序员编程王