ホーム > データベーススペシャリスト試験 > 2020年
データベーススペシャリスト試験 2020年 午前2 問02
BASE特性を満たし、次の特徴をもつNoSQLデータベースシステムに関する記述のうち適切なものはどれか。
〔NoSQLデータベースシステムの特徴〕
・ネットワーク上に分散した複数のノードから構成される。
・一つのノードでデータを更新した後、他の全てのノードにその更新を反映する。
ア:クライアントからの更新要求を2相コミットによって全てのノードに反映する。
イ:データの更新結果は、システムに障害がなければ、いつかは全てのノードに反映される。(正解)
ウ:同一の主キーの値による同時の参照要求に対し、全てのノードは同じ結果を返す。
エ:ノード間のネットワークが分断されると、クライアントからの処理要求を受け付けなくなる。
解説
BASE特性を満たすNoSQLデータベースシステムに関する問題【午前2 解説】
要点まとめ
- 結論:NoSQLのBASE特性では、更新は即時反映されず「最終的に一貫性」が保証されるため、イが正解です。
- 根拠:BASEは「Basically Available, Soft state, Eventual consistency」の略で、即時一貫性を求めず、更新は遅延して全ノードに反映されます。
- 差がつくポイント:2相コミットなどの強い一貫性を求める方式はBASEではなくACIDに該当し、分散環境での可用性重視の理解が重要です。
正解の理由
選択肢イ「データの更新結果は、システムに障害がなければ、いつかは全てのノードに反映される。」は、BASE特性の「Eventual consistency(最終的整合性)」を正しく表現しています。NoSQLデータベースは分散環境で可用性を優先し、更新の即時反映を保証しませんが、時間経過とともに全ノードに更新が伝播し整合性が取れます。これがBASEの本質です。
よくある誤解
2相コミットなどの強い一貫性を保証する方式をBASE特性と混同しやすいですが、BASEは可用性と分割耐性を優先し、一貫性は最終的に保証される点が異なります。
解法ステップ
- BASE特性の意味を確認する(Basically Available, Soft state, Eventual consistency)。
- 問題文の「分散ノード」「更新の反映」から、即時一貫性か最終的整合性かを判断。
- 選択肢をACID特性(強い一貫性)とBASE特性(最終的整合性)で分類。
- BASE特性に合致する選択肢を選ぶ。
選択肢別の誤答解説
- ア: 2相コミットはACIDの強い一貫性を保証する方式で、BASEの特徴とは異なります。
- イ: 正解。更新は即時反映されず、障害がなければ最終的に全ノードに反映されることを示しています。
- ウ: 同一主キーの同時参照で全ノードが同じ結果を返すのは強い一貫性の特徴であり、BASEでは保証されません。
- エ: ネットワーク分断時に処理要求を受け付けなくなるのはCP(Consistency and Partition tolerance)寄りの動作で、BASEは可用性を優先し処理を継続します。
補足コラム
BASE特性はNoSQLデータベースの設計思想の一つで、分散システムにおける可用性と分割耐性を重視します。これに対し、従来のRDBMSはACID特性を重視し、強い一貫性を保証します。NoSQLは大量データや高負荷環境でのスケーラビリティを実現するためにBASEを採用しています。
FAQ
Q: BASE特性の「Soft state」とは何ですか?
A: 「Soft state」は状態が時間とともに変化しうることを意味し、即時に一貫性を保つ必要がないことを示します。
A: 「Soft state」は状態が時間とともに変化しうることを意味し、即時に一貫性を保つ必要がないことを示します。
Q: 2相コミットはどのような場面で使われますか?
A: 2相コミットは分散トランザクションで強い一貫性を保証したい場合に使われ、ACID特性を満たすシステムで採用されます。
A: 2相コミットは分散トランザクションで強い一貫性を保証したい場合に使われ、ACID特性を満たすシステムで採用されます。
関連キーワード: BASE特性, NoSQL, 分散データベース, 最終的整合性, 2相コミット, ACID, 可用性, 分割耐性