5. CAP の2特性を選択
C A • Consistency + Availability
• 単一サイト / クラスタデータベース
P • 通常の RDB など
• Consistency + Partition-tolerance
C A • 分散データベース / 分散ロック
P • HBase、Paxos
• Availability + Partition-tolerance
C A • 分散キャッシュ / DNS
P • Cassandra, eventual consistency
(C) 2013 Microsoft Corporation 5
6. 可用性 vs. 一貫性
CAP 定理
(C) 2013 Microsoft Corporation 6
7. Lease
CAP 定理の AP の基本技術
クライアント(キャッシュ、複製)
A.TTL=10
サーバ(データソース)
B.TTL=20
A.TTL=10 C.TTL=10
B.TTL=20
C.TTL=10
D.TTL=15 D.TTL=15
(C) 2013 Microsoft Corporation 7
8. クォーラムシステム
CAP 定理の CP の基本技術
W=N R=1 読み取りに最適化した強い一貫性 (ROWA)
W=1 R=N 書き込みに最適化した強い一貫性
W+R<=N eventual consistency 古いデータの読み取りがありえる
W+R>N, クォーラムによる強い一貫性。読み取りには少なくとも1つ
W>N/2 の最新データの複製を含む
Read quorum
Replica Replica Replica
Manger Manger Manger
Client Front
End
Replica Replica Replica
Manger Manger Manger
Front
Client
End
Replica Replica
Manger Manger
Write quorum
(C) 2013 Microsoft Corporation 8
10. CAP 定理の制約を超える
• レイヤリング
– CP (クォーラム) を AP (期限付きキャッシュ) に載せる
• トランザクションの時間分割から一貫性モデルの時間
調整 (CA の 2PC の制約)
– メッセージ安定化のフェーズ
– Weak consistency
多数のプロセスですべてのプロセスが更新結果をみなくてもいい状況
異なるプロセスでまだ同期化が実行され
ていないので観測結果が異なってよい
同期化しているので
P2は最新の x の b
が見えないといけない
許容 許容されない
(C) 2013 Microsoft Corporation 10
11. CAP 定理を克服する
スキーマ定義
CP
AP
ネットワーク
非同期特性
(C) 2013 Microsoft Corporation 11
12. 次世代アーキテクチャー
• Soft State
– Weak Consistency
Model
– Timeline consistency
– Read-your-Writes
consistency
– Eventual consistency
• NoSQL
C,
AP (BASE), 非同期
Stateless,
Elastic
CA
(C) 2013 Microsoft Corporation 12
13. 混沌と秩序
A C A C A C
BASE ACID BASE ACID BASE ACID
Superstep Sync Superstep Sync Superstep Sync
非同期 同期 非同期 同期 非同期 同期
混沌 秩序 混沌 秩序 混沌 秩序
(C) 2013 Microsoft Corporation 13