解释测试冲突可串行化(DBMS)的优先级图


**冲突可串行化**将任何冲突操作按与某些串行执行相同的方式排序。如果两个操作作用于相同的数据项,并且其中一个操作是写操作,则称这两个操作发生冲突。

这意味着,

  • Readi(x) readj(x) - 非冲突读-读操作

  • Readi(x) writej(x) - 冲突读-写操作。

  • Writei(x) readj(x) - 冲突写-读操作。

  • Writei(x) writej(x) - 冲突写-写操作。

其中,I 和 j 表示两个不同的事务 Ti 和 Tj。

优先级图

现在考虑一个用于测试冲突可串行化的优先级图。它用于检查冲突可串行化。

优先级图的步骤

  • 对于每个事务 T,在图中放置一个节点或顶点。

  • 对于每个冲突对,从 Ti 到 Tj 放置一条边。

  • 如果图中存在循环,则调度不可冲突可串行化,否则调度可冲突可串行化。

让我们考虑一些例子。

示例 1

存在循环,因此它不可冲突可串行化。

示例 2

不存在循环,因此它是冲突可串行化的。

示例 3

不存在循环,因此它是冲突可串行化的。

更新于: 2021-07-08

2K+ 阅读量

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告

© . All rights reserved.