NoSQLデータベースシステム|科目A-1 令和7年 秋期午前試験 問26

出典:令和7年秋期 午前 問26 分野:データベース / データベース応用
BASE特性を満たし,次の特徴をもつNoSQLデータベースシステムに関する記述のうち,適切なものはどれか。 〔NoSQLデータベースシステムの特徴〕
  • ネットワーク上に分散した複数のノードから構成される。
  • 一つのノードでデータを更新した後,他の全てのノードにその更新を反映する。
  • ア:クライアントからの更新要求を2相コミットによって全てのノードに反映する。
  • イ:データの更新結果は,システムに障害がなければ,いつかは全てのノードに反映される。
  • ウ:同一の主キーの値による同時の参照要求に対し,全てのノードは同じ結果を返す。
  • エ:ノード間のネットワークが分断されると,クライアントからの処理要求を受け付けなくなる。
解説

BASE特性は、主にNoSQLなどの分散データベースで使われる考え方です。厳密に常に同じデータを保つことよりも、サービスを止めずに使えることを重視します。

従来型のデータベースでは、ACID特性のように「正確さ」や「厳密な一貫性」を重視します。一方、BASE特性では、多少データの反映に時間差があっても、最終的に整合していればよいと考えます。

特性 意味
Basically Available 基本的に利用可能であること。多少状態が不完全でも、サービスを止めずに応答することを重視する
Soft State 状態が一時的に変化してもよいこと。すべてのデータが常に完全に一致していることを前提にしない
Eventually Consistent 結果整合性。すぐには一致しなくても、時間がたてば最終的にデータが一致する

たとえば、複数のサーバで同じデータを管理している場合、あるサーバで更新された内容が、別のサーバに反映されるまでに少し時間がかかることがあります。

厳密な一貫性では、どのサーバにアクセスしても常に最新の同じデータが返される必要があります。一方、結果整合性では、一時的に古いデータが返ることがあっても、最終的にすべてのサーバのデータが一致すればよいと考えます。

BASE特性は、クラウド環境やビッグデータ処理のように、大量のデータを多数のサーバで扱う場面に向いています。可用性や拡張性を重視しやすいためです。

つまりBASE特性は、「常に完全一致を求めるのではなく、サービスを使える状態に保ち、最終的にデータが合えばよい」という考え方です。

したがって、が適切です。

❌他選択肢が誤りの理由
ア:クライアントからの更新要求を2相コミットによって全てのノードに反映する。
⇒2相コミットは、分散トランザクションで全参加ノードの合意を取ってから確定する方式です。強い一貫性を重視する考え方であり、BASE特性のように可用性や結果整合性を重視する説明とは異なります。
ウ:同一の主キーの値による同時の参照要求に対し,全てのノードは同じ結果を返す。
⇒これは、強い一貫性が保たれている状態の説明です。BASE特性では、更新直後はノードによって古い値を返す可能性があり、最終的に整合性が取れることを許容します。
エ:ノード間のネットワークが分断されると,クライアントからの処理要求を受け付けなくなる。
⇒BASE特性を満たすNoSQLデータベースは、分散環境での可用性を重視します。ネットワーク分断時にも、可能な範囲で処理を受け付け、後で整合性を取る設計が多く、処理要求を受け付けなくなることを特徴とはしません。
TSUNAGARU-ADVICE

まず押さえたいこと

BASE特性をもつNoSQLデータベースでは、常に全ノードで同じ結果を返すことよりも、可用性や分散環境での動作を重視します。更新直後はノード間で値がずれることがありますが、障害がなければ最終的に同じ状態へ近づくという結果整合性がポイントです。

迷ったときの判断軸

2相コミットや全ノードで常に同じ結果を返す説明は、強い整合性を重視する考え方に近く、BASEの特徴とはずれます。また、ネットワーク分断時に処理を受け付けなくなるのは可用性を優先していない説明です。「いつかは全ノードに反映される」という表現に注目しましょう。

科目Bにつなげるために

特にプロフェッショナルデジタルスキル(データ・AI)試験合格を目指す方は、NoSQLを単なるデータベースの種類ではなく、分散環境で整合性・可用性・性能をどうバランスさせるかという設計判断として理解しておくと有効です。複数区分で共通して、クラウド上の分散システム設計にもつながります。