35. 実験3. ノードのダウン (n>w)
サービスの継続性は n=w のときと同じ
データの整合性は落ちる
ノードが停止中のデータは復帰時に復旧されな
い
例: n = 2, w = 1 の時
○ document A は n 個 書き込まれている
http://node1:5984/test1/doca
http://node2:5984/test1/doca
○ document B は w 個 しか複製がない
http://node2:5984/test1/docb
36. 実験4. r=w が重要?
書き込みデータの整合性が落ちた状態でも読
み取りデータの整合性を高める
例:
ドキュメントの状態:
○ http://node1:5984/test1/doca
○ http://node2:5984/test1/doca
○ http://node2:5984/test1/docb
r = 1:
○ GET http://node1:5984/docb => 404
r = 2:
○ GET http://node1:5984/docb => 200 OK
○ 存在しないドキュメントでも別のノードを参照してく
れる
37. トレードオフの関係
q: シャード数
増やせば増やすほど MapReduce の負荷が分散される
n: 複製するシャード数
増やせば増やすほどディスク容量を食う
r <= n, w <= n でなければならない
w: 書き込み保証数
増やせば増やすほど書き込みレイテンシは下がるが、整合性が高くなる
○ n = r の場合は w = 1 でOK
r: 読み込み保証数
増やせば増やすほど読み込みレイテンシは下がるが、整合性が高くなる
○ n = w の場合は r = 1 でOK