令和4年度 秋期 午前Ⅱ 問1
データベース応用
BASEに関する問題
BASE 特性を満たし,次の特徴をもつ NoSQL データベースシステムに関する記述のうち,適切なものはどれか。
〔NoSQL データベースシステムの特徴〕
・ネットワーク上に分散した複数のノードから構成される。
・一つのノードでデータを更新した後,他の全てのノードにその更新を反映する。
- アクライアントからの更新要求を 2 相コミットによって全てのノードに反映する。
- イデータの更新結果は,システムに障害がなければ,いつかは全てのノードに反映される。
- ウ同一の主キーの値による同時の参照要求に対し,全てのノードは同じ結果を返す。
- エノード間のネットワークが分断されると,クライアントからの処理要求を受け付けなくなる。
答えと解説を見る
✓ これが正解イデータの更新結果は,システムに障害がなければ,いつかは全てのノードに反映される。
解説
BASE 特性では、更新はいつかは全てのノードに反映されます。
BASE 特性は、Basically Available(基本的に利用可能)、Soft state(状態は厳密でない)、Eventually consistent(結果整合性)の頭文字を取ったもので、分散したノードの間で常に同じ値を保つことより、要求を受け付け続けることを優先する考え方です。ある時点ではノードごとに更新が反映済みのものとまだのものが混在しても、障害がなければ時間がたつうちに全てのノードに更新が行き渡り、そろった状態になります。これが結果整合性です。設問の NoSQL データベースはこの特性を満たすので、更新結果はいつかは全てのノードに反映される、という記述が当てはまります。即座にそろえるのか、いずれそろえばよいのかを軸にすると、BASE と ACID の違いを見分けられます。
ほかの選択肢はなぜ違うのか
- アクライアントからの更新要求を 2 相コミ…:2 相コミットは、全てのノードの合意を取ってから一斉に確定させ、ノード間のデータを常にそろえるための仕組みです。厳密な整合性を重んじる考え方であり、いずれそろえばよいとする BASE 特性とは方向が異なります。
- ウ同一の主キーの値による同時の参照要求に対…:同じ主キーの値で同時に参照したとき、全てのノードが同じ結果を返すことは、常に整合性が保たれている状態です。BASE 特性では更新がまだ届いていないノードが古い値を返すことがあり、この保証はありません。
- エノード間のネットワークが分断されると,ク…:ネットワークが分断されたときに処理要求の受付を止めるのは、整合性を優先して可用性を犠牲にする振る舞いです。BASE 特性は基本的に利用可能であることを重視し、分断中も要求を受け付ける側に立ちます。
この問題の用語
- データベースたくさんのデータを決まった形で貯め、探したり書き換えたりできるようにした仕組み。多くの人が同時に使うことを前提にしています。
出典:令和4年度 秋期 データベーススペシャリスト試験 午前Ⅱ 問1
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)