データベーススペシャリスト試験 2022年 午前201


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

解説

NoSQLデータベースのBASE特性に関する問題【午前2 解説】

要点まとめ

  • 結論:NoSQLのBASE特性では、更新は即時全ノード反映ではなく「最終的に一貫性」が保証される。
  • 根拠:BASEは「Basically Available, Soft state, Eventual consistency」の略で、即時強い一貫性を求めない設計思想。
  • 差がつくポイント:2相コミットのような強い一貫性を保証する仕組みはBASEではなく、CAP定理のCP系に近い点を理解すること。

正解の理由

選択肢イは「データの更新結果は、システムに障害がなければ、いつかは全てのノードに反映される」と述べており、これはBASEの「Eventual consistency(最終的整合性)」の特徴を正確に表しています。NoSQLデータベースは分散環境で可用性を重視し、即時の強い一貫性を犠牲にしても、最終的に全ノードのデータが整合することを保証します。したがって、イが適切な記述です。

よくある誤解

BASE特性のNoSQLは「即時に全ノードが同じデータを返す」と誤解されがちですが、実際は「最終的に整合する」ことを目指しています。

解法ステップ

  1. BASE特性の意味を確認する(Basically Available, Soft state, Eventual consistency)。
  2. 問題文の「分散ノード」「更新反映」の条件とBASEの整合性モデルを照合する。
  3. 選択肢の内容が強い一貫性(2相コミットなど)か最終的整合性かを判別する。
  4. BASEの特徴に合致する選択肢を選ぶ。

選択肢別の誤答解説

  • ア: 2相コミットは強い一貫性を保証するためのプロトコルであり、BASEの特徴とは異なります。
  • イ: 正解。最終的整合性を示し、BASEの特徴を正しく表現しています。
  • ウ: 同一主キーの同時参照で全ノードが同じ結果を返すのは強い一貫性の特徴であり、BASEの設計思想とは異なります。
  • エ: ネットワーク分断時に処理要求を受け付けなくなるのはCP系の特徴で、BASEは可用性を重視し処理を継続します。

補足コラム

NoSQLデータベースはCAP定理に基づき、Consistency(一貫性)、Availability(可用性)、Partition tolerance(分断耐性)のうち2つを重視します。BASEは可用性と分断耐性を優先し、一貫性は「最終的に」保証する設計です。代表的なNoSQLにはCassandraやDynamoDBなどがあり、これらはBASEモデルを採用しています。

FAQ

Q: BASE特性の「Soft state」とは何ですか?
A: 状態が時間経過や更新により変化しうることを意味し、即時の一貫性を保証しないことを示します。
Q: 2相コミットはどのような場面で使われますか?
A: 強い一貫性が必要な分散トランザクションで使われ、全ノードの合意を得てからコミットします。

関連キーワード: NoSQL, BASE特性, 分散データベース, 最終的整合性, CAP定理, 2相コミット, 一貫性モデル
← 前の問題へ次の問題へ →

©︎2025 情報処理技術者試験対策アプリ