目录
冲突可串行化
https://blog.csdn.net/stone_fall/article/details/88559909
视图可串行化
视图等价
考虑关于某个事务集的两个调度S,S',若调度S,S'满足以下条件,则称它们是视图等价的:
①对于每个数据项Q,若事务Ti在调度S中读取了Q的初始值,那么Ti在调度S'中也必须读取Q的初始值
②对于每个数据项Q,若事务Ti在调度S中执行了read(Q),并且读取的值是由Tj产生的,那么Ti在调度S'中读取的Q值也必须是由Tj产生的
③对于每个数据项Q,若在调度S中有事务执行了最后的write(Q),则在调度S'中该事务也必须执行最后的write(Q)
注:条件①、②保证两个调度中的每个事务都读取相同的值,从而进行相同的计算
条件①、②、③保证两个调度得到最终相同的系统状态
视图可串行化
如果某个调度视图等价于一个串行调度,则称该调度是视图可串行化的
冲突可串行化调度一定是视图可串行化的
存在视图可串行化但非冲突可串行化的调度
视图可串行化判定
带标记的优先图的构造
设调度S包含了事务{T1, T2, … , Tn},设Tb, Tf是两个虚事务,其中Tb为S中所有write(Q)操作, Tf为S中所有read(Q)操作。在调度S的开头插入Tb ,在调度S的末尾插入Tf,得到一个新的调度S'