Serializable Snapshot Isolation

SI 异常

事务依赖类型:

  • WR依赖:T1写 -> T2读
  • WW依赖:T1写一个版本 -> T2更新版本
  • RW反依赖:T1写一个版本 -> T2读前一个版本。读写冲突,对SSI很重要

异常

如果 Serializable graph 有环,则不可串行化,无法拓扑排序。

Serializability 理论

定理1

每个有环的 Serializable graph 中都必定有连续的 T1 -(rw)-> T2 -(rw)-> T3 序列,而且T3是环中首先提交的事务。

推论2

T1和T2并发,T2和T3并发。

SSI

  • 只检测 rw反依赖 序列,会有 false positive。
  • 使用 SIREAD 锁进行运行时rw反依赖检测。
  • 扩展:PSSI (Precisely Serializable Snapshot Isolation) 去除所有的 false positives.

参考:p1850_danrkports_vldb2012

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容