【システム構成要素】すべてを共有して処理する!シェアードエブリシングの定義|情報処理問題1000本ノック
複数の処理装置が一つの大きなリソースを分かち合う。並列システムにおける基本的な設計思想の一つである「シェアードエブリシング」の概念を整理しましょう。
1. 問題:同一のリソースを共有するアーキテクチャ
【 問題 】 システム構成において、複数のプロセッサが同一のメインメモリやディスク装置(データベース)を共有し、各プロセッサがすべてのデータに直接アクセスして処理を行うアーキテクチャを何と呼ぶでしょうか?
① シェアードナッシング ② シェアードエブリシング ③ マイクロサービス ④ マルチテナント
2. 正解:システム構成の分類に関する正解
正解: ② シェアードエブリシング
3. 解説:リソースの共有による密な連携
名前の通り、メモリやディスクといったすべてのリソースを「エブリシング(すべて)」共有する仕組みです。どのプロセスからでも同じデータにアクセスできるため、プロセッサ間でのデータ転送が不要であり、複雑なデータ整合性の管理が比較的容易になるという特徴があります。
[ シェアードエブリシングのポイント ]
・定義:複数のプロセッサが、単一のメモリや共有ディスクを介して同一のデータベースを操作する構造。
・メリット:負荷分散(ロードバランシング)が行いやすく、小中規模の構成では高い効率を発揮します。
・課題:プロセッサ数が増えると、共有メモリやディスクへのアクセス競合(渋滞)が発生し、拡張性に限界が生じやすくなります。
[ 他の選択肢との違い ]
★ シェアードナッシング:各ノードが独自のメモリとディスクを持ち、何も共有しない構成。大規模拡張に向きます。
★ マイクロサービス:システム全体をビジネス機能単位で小さな独立したサービスに分割する設計思想。
★ マルチテナント:一つのシステム環境を、論理的に複数の顧客(テナント)で共有して利用する形態。
・定義:複数のプロセッサが、単一のメモリや共有ディスクを介して同一のデータベースを操作する構造。
・メリット:負荷分散(ロードバランシング)が行いやすく、小中規模の構成では高い効率を発揮します。
・課題:プロセッサ数が増えると、共有メモリやディスクへのアクセス競合(渋滞)が発生し、拡張性に限界が生じやすくなります。
[ 他の選択肢との違い ]
★ シェアードナッシング:各ノードが独自のメモリとディスクを持ち、何も共有しない構成。大規模拡張に向きます。
★ マイクロサービス:システム全体をビジネス機能単位で小さな独立したサービスに分割する設計思想。
★ マルチテナント:一つのシステム環境を、論理的に複数の顧客(テナント)で共有して利用する形態。
1. 理解のコツ: 「みんなで一つの机(リソース)を囲んで作業する」のがシェアードエブリシング、「一人一台ずつ専用の机を持つ」のがシェアードナッシングだとイメージすると、違いが明確になります。
2. 試験対策の視点: システムアーキテクチャの設計において、高可用性を実現するクラスタ構成などの文脈で頻出します。特に「共有ディスク(同一のデータベース)を使っているかどうか」が、シェアードナッシングとの判別ポイントです。
4. まとめ
「複数のプロセスで、同一のデータベースを共有する」。これがシェアードエブリシングの核となる定義です。システムを拡張する際の「リソース競合」がボトルネックになりやすいという弱点とセットで覚えておきましょう!
PR