過去問ドリル

LinuCレベル4 システムアーキテクト ネットワークとストレージの選定 問16

ネットワークとストレージの選定/集中型および分散型ストレージ

複数の拠点にレプリカを置く分散データストアを、拠点間のネットワーク分断が起こり得る前提で設計する。整合性と可用性のトレードオフに関する説明として適切でないものはどれか。

当サイトのオリジナル問題(LinuCレベル4 システムアーキテクトの出題範囲「ネットワークとストレージの選定」に対応。実際の試験問題ではありません)

正解:A

解説

ネットワーク分断が起こり得る分散システムでは、分断中に強い整合性と可用性を同時には満たせず、どちらを優先するかを選ぶ必要があります(CAP定理)。結果整合性は、更新が止まればいずれ全レプリカが同じ値に収束することだけを保証するもので、書き込み直後の読み込みで古い値が返ることがあります。そのため在庫の引き当てや残高のように食い違いを許せない処理には、多数派の合意を必要とする強い整合性の方式を選びます。可用性を優先して分断中も書き込みを受け付ける場合は、競合の解決やRead Repairのような食い違いの修復の仕組みを組み合わせます。

選択肢ごとの解説

  • A正しい(誤っている記述)。結果整合性では書き込み直後に古い値が読まれることがあるため、厳密な引き当てにそのまま使うと二重の引き当てなどが起こり得ます。
  • B誤り(正しい記述)。両側で受け付けた更新は分断の解消後に衝突し得るため、併合や勝者の決定などの競合解決が必要です。
  • C誤り(正しい記述)。整合性を優先する設計では、過半数に届かない側の処理を止めて、食い違った更新が生まれるのを防ぎます。
  • D誤り(正しい記述)。Read Repairは読み込みの機会を使って古いレプリカを修復し、結果整合性のもとで収束を早める手法です。
LinuCレベル4 システムアーキテクトの問題を演習モードで解く