DBMS冲突可序列化时间表

本文概述

  • 行动冲突
  • 冲突当量
  • 如果计划在交换无冲突的操作之后可以转换为串行计划, 则该计划称为冲突可序列化性。
  • 如果该调度与串行调度冲突, 则该调度将是可序列化的冲突。
行动冲突 如果所有条件都满足, 则这两个操作将发生冲突:
  1. 两者都属于单独的交易。
  2. 它们具有相同的数据项。
  3. 它们包含至少一个写操作。
例:
仅当S1和S2在逻辑上相等时才可以交换。
DBMS冲突可序列化时间表

文章图片
在此, S1 = S2。这意味着它是非冲突的。
DBMS冲突可序列化时间表

文章图片
在此, S1≠S2。那就是冲突。
冲突当量 在冲突等效中, 可以通过交换非冲突操作将一个转换为另一个。在给定的示例中, S2是与S1等效的冲突(可以通过交换非冲突操作将S1转换为S2)。
当且仅当以下两种情况被称为两个时间表是等效的:
  1. 它们包含同一组事务。
  2. 如果每对冲突操作都以相同的方式排序。
例:
DBMS冲突可序列化时间表

文章图片
调度表S2是串行调度表, 因为在这种情况下, T1的所有操作都在开始T2的任何操作之前执行。通过交换S1的无冲突操作, 可以将日程表S1转换为串行日程表。
交换无冲突的操作之后, 时间表S1变为:
T1 T2
读(A)写(A)读(B)写(B) 读(A)写(A)读(B)写(B)
【DBMS冲突可序列化时间表】由于S1是冲突可序列化的。

    推荐阅读