嗨,我正在为考试而学习,并遇到了以下问题:
记录历史(或时间表)
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 不能被视为可序列化的。
我的错误在哪里?
谢谢大家。