$$ \newcommand{\rel}[1]{\xrightarrow{#1}} \newcommand{\WR}{\textsf{WR}} \newcommand{\WW}{\textsf{WW}} \newcommand{\RW}{\textsf{RW}} $$
摘要
[Fekete PODS'05]
- DB2,SQL Server 和 ASE 使用了 S2PL 算法
- Oracle 和 PostgreSQL 使用了 SI 算法
- Oracle 使用 SI 算法来实现 SERIALIZABLE,但允许显式使用锁
- 预告 Yukon release of SQL Server 支持 S2PL+SI 算法
- S2PL+SI 下的静态鲁棒性充分条件:如果所有的 pivot 事务都使用了 S2PL,则整个程序鲁棒;
- 我们对 SI-SER 的定义与 Fekete 相同,但我们给出的充分条件比 Fekete 更精确。
[Fekete DASFAA'08]
- 明确指出 SQL Server 2005 支持 S2PL+SI
- 实验:SI、S2PL、pivot-S2PL 下的 throughput 对比
[Gotsman CONCUR'16]
- 提出了弱隔离级别和 SER 混合的语义;
- 给出该混合隔离级别下的静态鲁棒性。
[Enea CAV'25]
- 给出了混合隔离级别(RC、RA、PC、SI、SER)的形式语义规约,在 SI-SER 上保持了与 Fekete 一致,该形式语义与我们的贡献几乎相同;
- 使用 PostgreSQL 在 RC-SI-SER 下产生的历史完成实验
[Vandervoort VLDB'25]
- 基于调度定义了 RC-SI-SSI 混合;
- 使用读提升(Read Promotion)实现鲁棒;
- 不适用于分布式系统。
Mixing Isolation Levels
至少有三个。
理论章节不要限制具体的隔离级别,要 gerneral
找到 Fekete'05 的对应系统:HyperSQL
检查 PGSQL 的语义实现。
向 PGSQL 的 community 进行提问,找到其他可以背书的内容
关于 PG 的实验文章看一看