CAP定理ってのがあって、NoSQLみたいな分散型で可用性を担保しようとすると、一貫性が失われるんだったよなーと思ってた。
どうやら、これはミスリーディングだったみたい。CAP定理のブリュワー本人がこんな記事を書いている。
12年後のCAP定理: "法則"はどのように変わったか(2012)
The "2 of 3" formulation was always misleading because it tended to oversimplify the tensions among properties.
3つのうち2つっていうあの公式は誤解されてしまいがち。単純化しすぎたわ。(意訳)
結論としては、分散型NoSQLでもロックやコミット処理は頑張れば可能らしい。
詳しくはこの記事に書いてあるが、なかなか難解。
NoSQLは「一貫性あるトランザクションを実現できない」という誤解
BASEという考え方
クラウドでの中心的なトランザクションの考え方。
cloudでは分散構成が基本なので、CAP理論のPとAは必須。
一貫性については時間が経てば反映される。つまりEventually Consistencyでいいじゃんって考え方。
Eventually Consictencyを許容すれば、ScalableでAvailableでかつEventually Consistencyなシステムは可能。
クラウドでの新しいACID、そしてBASEトランザクションとCAP定理
丸山先生の資料
調べたリンク
そもそもACIDとは
ACID(wiki)
トランザクション分離レベル
トランザクション分離レベルについてのまとめ
CAP定理
cap定理