データベーススペシャリスト 2015年 午前2 問23
問題文
データベースサーバのクラスタリング技術に関する記述のうち、シェアードエブリシングを説明したものはどれか。
選択肢
ア:HA構成を用いたクラスタリングを行い、障害発生時には待機系のサーバに担当していたデータ範囲を引き継ぐことができる。
イ:アクティブーアクティブ構成によって負荷分散を行うことによって、サーバリソースの有効活用が可能となり、さらにデータが共有されているので、1台のサーバの障害発生時でも処理を継続することができる。(正解)
ウ:サーバごとに管理する対象データが決まっているので、1台のサーバに障害が発生すると対象データを処理できなくなり、システム全体の可用性が低下する。
エ:データを複数の磁気ディスクに分割配置し、さらにサーバと磁気ディスクが1対1に対応しているので、複数サーバを用いた並列処理が可能となる。
🔒 解説は解答すると表示されます
シェアードエブリシング【午前2解説】
正解の理由
シェアードエブリシングは、複数のサーバノードが同一のデータ領域(共通のストレージ)に同時にアクセスして処理を分担する方式を指します。したがって、複数ノードで負荷分散(アクティブ−アクティブ)を行い、各ノードが共通データを参照・更新できるとする記述が該当します。選択肢イは「アクティブ−アクティブで負荷分散し、データが共有されるためノード障害でも処理継続可能」と述べており、シェアードエブリシングの本質(共有ストレージ+同時アクセス)を正しく表しています。
シェアードエブリシングの実装では共有ストレージ(SANや共有ディスク、クラスタ対応ファイルシステム)と分散ロック管理が必須で、データ整合性を保ちながら複数ノードで並列処理を行います。
解法ステップ
- 問題語(シェアードエブリシング)の定義を明確にする:複数ノードが同一データを同時に共有・アクセスする方式であることを確認する。
- 各選択肢のキーワードを抽出する:共有/分割/待機系/1対1対応など。
- キーワードと定義を照合する:同一データの同時共有=シェアードエブリシング、データ分割=シェアードナッシング(パーティショニング)、待機系に切替える=フェイルオーバ(アクティブ−スタンバイ)。
- 最も一致する記述を選ぶ:同時共有とアクティブ−アクティブの組合せを示す選択肢が正解。
選択肢別の誤答解説
- ア: 「HA構成で障害時に待機系が担当データを引き継ぐ」とある記述は、フェイルオーバー型(アクティブ−スタンバイ)を説明しています。これは冗長化/可用性確保の手法ですが、ノード間で同時に同一データを共有して並列処理するという意味ではありません。したがってシェアードエブリシングの説明ではありません。なお、この記述はシェアードナッシングとも異なります(シェアードナッシングはデータをノードごとに分割して持つ方式です)。
- イ: 正解。アクティブ−アクティブで複数ノードが同じデータを共有し、負荷分散と可用性を両立する点がシェアードエブリシングの特徴に合致します。一般的な実装例としては共有ストレージ+クラスタ化されたデータベース(例:Oracle RAC 等)が挙げられます。
- ウ: 「サーバごとに管理する対象データが決まっている」は、データをノードごとに分割(パーティショニング)するシェアードナッシングの説明です。単一ノードの障害でそのデータ領域が失われるため、選択肢の記述どおり可用性が低下します。したがってシェアードエブリシングの説明ではありません。
- エ: 「データを複数の磁気ディスクに分割配置し、サーバと磁気ディスクが1対1に対応」する記述は、データをノードに割り当てることで並列処理する構成(シェアードナッシング寄り、または各ノードに専用ディスクを持たせた並列ストレージ)を示しています。共有ストレージ上で全ノードが同一データに同時アクセスするシェアードエブリシングとは異なります。
よくある誤解
- 「フェイルオーバー(アクティブ−スタンバイ)=シェアードナッシング」ではありません。フェイルオーバーは主に可用性のための待機系切替メカニズムであり、データ配置の方式(共有か分割か)とは別の概念です。
- 「シェアードエブリシングは常にスケールしやすい」も誤解です。共有ストレージとロック競合によりスケーラビリティの限界や性能劣化が生じやすく、ノード数を増やしても直線的に性能が伸びるとは限りません。
- 共有ストレージがあるからといって単独障害点が無いわけではありません。共有ディスクやSANが冗長化されていなければ、共有部分が単一障害点になります。
補足コラム
シェアードエブリシング実装の要素技術:
- 共有ストレージ(SAN、共有ディスク)
- クラスタ対応ファイルシステム(GFS2、OCFS2 など)または分散データベース
- 分散ロックマネージャ(DLM)やクラスタ内同期メカニズム
長所:運用の単純化(データの一元管理)、高可用性(ノード障害時も他ノードで継続可能)。短所:ロック競合による性能問題、実装・運用の複雑さ、共有ストレージの冗長化が必須。
実際の選択例:
- 大規模トランザクション処理で整合性重視 → シェアードエブリシング(例:Oracle RAC)
- 大量データの水平分割で高スケールを狙う → シェアードナッシング(シャーディング)
FAQ
Q: シェアードエブリシングとシェアードディスクは同じですか?
A: 概念的に近いですが厳密には使い分けられます。シェアードディスクはノードが同じディスクにアクセスする構成を指し、シェアードエブリシングは「CPU・メモリ・ディスクなどのリソースをノード間で共有して動作する」広い意味合いで使われます。実務では同義的に扱われることもあります。
A: 概念的に近いですが厳密には使い分けられます。シェアードディスクはノードが同じディスクにアクセスする構成を指し、シェアードエブリシングは「CPU・メモリ・ディスクなどのリソースをノード間で共有して動作する」広い意味合いで使われます。実務では同義的に扱われることもあります。
Q: シェアードエブリシングで重要な構成要素は?
A: 共有ストレージの冗長化と分散ロック(整合性保持)、クラスタ間ネットワークの低遅延化が重要です。
A: 共有ストレージの冗長化と分散ロック(整合性保持)、クラスタ間ネットワークの低遅延化が重要です。
Q: スケールアウトが簡単か?
A: 基本的に難しいです。ロック競合や同期遅延がボトルネックになりやすく、用途によってはシェアードナッシングの方が水平スケールしやすいことが多いです。
A: 基本的に難しいです。ロック競合や同期遅延がボトルネックになりやすく、用途によってはシェアードナッシングの方が水平スケールしやすいことが多いです。
関連キーワード: クラスタリング、共有ストレージ、分散ロック、アクティブ−アクティブ、アクティブ−スタンバイ、フェイルオーバー、シェアードナッシング、パーティショニング、SAN、クラスタファイルシステム、ロック競合、Oracle RAC

\ せっかくなら /
データベーススペシャリストを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

