个性化阅读
专注于IT技术分析

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)

由于S1是冲突可序列化的。

赞(0)
未经允许不得转载:srcmini » DBMS冲突可序列化时间表

评论 抢沙发

评论前必须登录!