Slide 10
Slide 10 text
Conflict Serializable
• 競合関係(Conflicts)が同じ直列実行が存在するような(並行)実行のこと
• Reader-writer Lock の理屈で競合関係を考える
• 原則として Single-version モデルで有効
• Operation 順序を 𝑂 とする(Tx 集合を 𝑇、op(𝑇) = ⨆ {𝑜 ∈ 𝑡 ∣ 𝑡 ∈ 𝑇)、𝑂 ⊂ 𝑜𝑝(𝑇) × 𝑜𝑝(𝑇))
• Multi-version でもうまく 𝑂 相当の情報を与えて Conflicts を定義すれば議論は可能
• 𝑝𝑖
𝑥 <𝑂
𝑞𝑗
𝑥 となる 𝑥 が存在する 𝑖, 𝑗 について 𝑡𝑖
, 𝑡𝑗
∈ conf𝑝𝑞
(𝑇, 𝑂)
• ただし、(𝑝, 𝑞) は (𝑤, 𝑟), (𝑤, 𝑤), (𝑟, 𝑤) のいずれか、𝑜1
<𝑂
𝑜2
は 𝑜1
, 𝑜2
∈ 𝑂 の意味
• conf 𝑇, 𝑂 ≔ conf𝑤𝑟
𝑇, 𝑂 ∪ conf𝑤𝑤
𝑇, 𝑂 ∪ conf𝑟𝑤
(𝑇, 𝑂)
• Conflict-equivalent Theorem
• conf 𝑇, 𝑂 が半順序 Conflict serializable
• Conflict serializable ならば View serializable
• 逆は必ずしも成り立たない
10