写于考试前。。
冲突(conflict):即在一个 schedule 里面,对同一样事物,一个在写,同时另一个在读或者写,会造成冲突。
冲突可串行化(conflict serializable):一个 schedule能将冲突的操作调节成类似串行化的操作。
优先图判断是否是冲突可串行化:
- 先画出每个 transaction(T1 T2 T3…)
- 找到所有的 读写操作,按照先后顺序,将 read—>write, write—>read, write—>write 连起来,都是前指向后,这些读写都是不同 transaction之间,相同的 transaction 内部不管,如果是相同路径的线段重复多条,只画一条。
- 如果画完了有环,则是非冲突可串行化,就是有冲突,但是不能串行化的。
视图等价(view equivalent): 判断两个 schedule 是否是视图等价的,用下面规