2

嗨,我正在为考试而学习,并遇到了以下问题:

记录历史(或时间表)

H = w1[x] w2[x] w2[y] c2 w1[y] w3[x] w3[y] c3 w1[z] c1

其中w1[x]意味着:事务 1 写入数据对象 X(r1[x]意味着读取)并且c1意味着:事务 1 提交。

为什么这个事务视图是可序列化的?

对于视图可串行化,历史 H 必须是视图等效于事务 1、2、3 的顺序执行。因此,此外,每个数据对象的最后写入必须与历史 H 事务的顺序执行中的相同。因此 H 的最后写入是:

  • x 和 y 的转换 3 和
  • z 的交易 1

但是,在没有顺序执行的情况下,最后一次写入是这样分布的,所以历史 H 不能被视为可序列化的。

我的错误在哪里?

谢谢大家。

4

1 回答 1

1

好的,我自己发现了:最后一句如果当然错了:

事实上,顺序执行 1,2,3 导致了这个历史:

w1[x] w1[y] w1[z] c1   w2[x] w2[y] c2    w3[x] w3[y] c3

和 fologint last-Writes:

  • x 和 y 的事务 3 和
  • z 的交易 1

这与历史 H 的最后写入相同

于 2010-08-27T14:01:22.133 回答