分散データストレージのアーキテクチャ比較メモ

Key/Value型が一番楽なのは、参照(ロケーション発見)の効率がよいためで、他に方法がなさげなところはみんな分かっているんだと思う。

name routing balancing schema replication membership consistency Tx*1
BigTable +Megastore layered schema (meta tablet) Centralized 列指向DB GFS依存 Chubby lock OK
Dynamo Chord DHT 特になし? Quorum-based Gossip vector clock ×
Cassandra Chord DHT? 列指向DB? checksum (Act-Sby) Gossip ? ×
Scalaris Chord# naming rule なし Quorum-based Gossip transaction OK
Kai Chord? DHT なし Quorum-based Gossip vector clock ×

こうやってみるとなんかちょっとずつ理解に穴があいているなぁ。あとはKademliaを押さえとかないといけないかも。

churn耐性の話もあるけど、BigTableの一番の特徴はSplit Brain耐性があるってところだろうか。いや、他のものがないってわけじゃなくて、不明なだけ。

*1:複数行のアトミックな更新/2PC的なもの