Repeatable Read vs Snapshot Isolation
jaymcor.github.io原文 ↗
这篇笔记比较 Repeatable Read 与 Snapshot Isolation,先列 ANSI SQL A1/A2/A3 异常和传统锁模型,再指出现代 MVCC 实现常偏离标准语义。关键结论是 SI 与 RR 很像但不相同:SI 允许 write skew、阻止 phantoms;理论 RR 阻止 write skew、允许 phantoms。实验部分用医生 on-call 例子显示 MySQL RR 和 PostgreSQL RR 都会发生 write skew;MySQL RR 还会出现 lost update,作者建议此类模式用 `SELECT ... FOR UPDATE` 或 Serializable。它的实用价值在于把隔离级别从教科书名字还原成具体数据库行为。
–浏览
评论 · Comments