如何证明“Serializable Snapshot Isolation 能够保证 Serializability”?

2021-10-20 07:22:15 +08:00
 JasonLaw

假设数据库只有 read 和 write 两种命令,每个事务只会执行两个命令。

transaction 1 transaction 2
rr rr
rw rw
wr wr
ww ww

那么如果 transaction 1 执行的是 rr,那么 transaction 2 可能执行{rr, rw, wr, ww}中的一个,以此类推。

是不是通过这种方式就可以证明“Serializable Snapshot Isolation 能够保证 Serializability”?

893 次点击
所在节点    数据库
1 条回复
zhengxiaowai
2021-10-20 11:00:59 +08:00
分析的没错:SSI 保证 Serializability 就是排除掉异常情况

我记得在工程实现上是用了一个什么图模型,然后判断是否有环,只有有环就是异常情况,直接取消事务这么来保证 Serializability 的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/809049

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX