BASE特性を満たし,次の特徴をもつNoSQLデータベースシステムに関する記述のうち,適切なものはどれか。
〔NoSQLデータベースシステムの特徴〕
・ネットワーク上に分散した複数のノードから構成される。
・一つのノードでデータを更新した後,他の全てのノードにその更新を反映する。
正答2
解説
正解は2です。
BASE特性は、分散型のNoSQLデータベースで重視される性質で、Basically Available(基本的に利用可能)、Soft state(状態は固定されない)、Eventually consistent(結果整合性)の頭文字です。
厳密な一貫性よりも可用性を優先し、データは最終的に一致すればよいと考えます。
【選択肢別解説】
1:× 2相コミットで全ノードに同時に反映するのは、ACID特性(原子性・一貫性・独立性・耐久性)を守るための強い一貫性の手法です。
BASE特性の考え方ではありません。
2:○ 更新は直ちに全ノードへ反映されなくても、障害がなければいずれ全ノードに反映されます。
これが結果整合性(Eventually consistent)であり、BASE特性に合っています。
3:× 同じ主キーへの同時の参照に全ノードが常に同じ結果を返すのは、強い一貫性です。
BASE特性では、反映途中のノードが古い値を返すことがあります。
4:× ネットワークが分断されたときに要求を受け付けなくするのは、一貫性を優先する設計です。
BASE特性は可用性を優先するので、分断中も処理を受け付けます。
【ポイント】
分散システムでは一貫性(Consistency)、可用性(Availability)、分断耐性(Partition tolerance)を同時にすべて満たせないというCAP定理があります。
BASEは「可用性と分断耐性を優先し、一貫性は結果的に満たす」立場です。