応用情報技術者 2014年 秋期 午前2 問28
問題文
分散データベースシステムのデータディクショナリ/ディレクトリの配置方式に関する記述のうち、適切なものはどれか。
選択肢
ア:集中管理方式では、データディクショナリ/ディレクトリを保有するサイトに負荷が集中することはない。
イ:集中管理方式では、データディクショナリ/ディレクトリを保有するサイトの障害が、分散データベースシステムの重大な障害になる。(正解)
ウ:分散管理方式で、各サイトにデータディクショナリ/ディレクトリを重複保有しない形態では、表の構造の変化が発生した場合、全てのサイトで内容を変更する必要がある。
エ:分散管理方式で、各サイトにデータディクショナリ/ディレクトリを重複保有する形態では、問合せに対して、他のサイトの内容を調べることがある。
🔒 解説は解答すると表示されます
データディクショナリ配置方式【午前2解説】
正解の理由
分散データベースでディレクトリ(データディクショナリ)を集中管理する方式は、管理の単純化や一貫性確保の利点がある一方で、その保有サイトに障害が発生するとディレクトリ参照が不能になり、分散システム全体の運用に重大な影響を与える可能性があります。したがって、選択肢イ「集中管理方式では、データディクショナリ/ディレクトリを保有するサイトの障害が、分散データベースシステムの重大な障害になる。」が適切です。
解法ステップ
- 各選択肢が指す配置方式(集中管理 / 分散管理)と「重複保有(レプリケーション)」「非重複(パーティション化)」の意味を明確にする。
- 集中管理の特徴を確認:単一のディレクトリ保有サイトに問い合わせが集中する/単一障害点(SPOF)となる可能性がある。
- 分散管理での重複・非重複の違いを理解する:
- 重複保有(レプリケーション):複数サイトで同一ディクショナリを持つ。通常の問い合わせはローカルで解決可能だが、同期・整合性保持のコストがある。
- 非重複保有(パーティション化):ディクショナリのエントリが特定サイトに割り当てられ、該当データはそのサイトのみで管理される。構造変更や更新は該当箇所を保有するサイトのみで行えばよい。
- 各選択肢を上の知識に照らし合わせて真偽を判断する。
選択肢別の誤答解説
-
ア: 「集中管理方式では、データディクショナリ/ディレクトリを保有するサイトに負荷が集中することはない。」
誤り。集中管理ではディクショナリ参照や更新が単一サイトに向かうため負荷集中のリスクが高い。負荷分散対策がなければボトルネックになる。 -
イ: 「集中管理方式では、データディクショナリ/ディレクトリを保有するサイトの障害が、分散データベースシステムの重大な障害になる。」
正しい。集中サイトが障害で利用不能になると、ディクショナリ参照や管理操作ができず、システム全体に重大な影響(例えばデータ配置情報が得られない、トランザクション制御不能など)が発生する。 -
ウ: 「分散管理方式で、各サイトにデータディクショナリ/ディレクトリを重複保有しない形態では、表の構造の変化が発生した場合、全てのサイトで内容を変更する必要がある。」
誤り。非重複(パーティション化)では各ディクショナリエントリが特定サイトにのみ存在するため、ある表に関する構造変更があった場合は、その表情報を保持しているサイト(複数ある場合は該当サイト群)だけを更新すればよく、全サイトを無条件に変更する必要はない。 -
エ: 「分散管理方式で、各サイトにデータディクショナリ/ディレクトリを重複保有する形態では、問合せに対して、他のサイトの内容を調べることがある。」
文として完全に無効とは言えないが誤解を招きやすい。通常、重複保有(レプリケーション)の場合は各サイトがローカルコピーで問合せを解決できるため、問い合わせのために他サイトを参照する必要は基本的にない。ただし、同期や最新性確認、あるいはローカルに目的の情報が存在しない/古い場合には他サイトを参照するケースがあり得る。したがって「問合せに対して常に他サイトを調べる」と受け取れる表現は不適切。
よくある誤解
- 中央集権=問題なし:集中管理は実装が簡単で一貫性取りやすいが、可用性とスケーラビリティの観点でリスク(負荷集中・単一障害点)があることを見落としやすい。
- 非重複は必ず全サイト更新が必要:非重複はパーティション化のため、該当データを持つサイトだけを更新すればよく、全サイト一斉更新は不要な場合が多い。
- レプリケーションは常に他サイト参照が必要:通常はローカルで解決可能だが、同期戦略(同期/非同期)や整合性要件に応じて他サイトとの照合を行う場合がある、という点を区別する必要がある。
補足コラム
ディクショナリ配置の代表的な方式とそのトレードオフ:
- 集中管理(集中ディレクトリ)
- 長所:管理が単純、整合性管理が容易
- 短所:負荷集中、単一障害点、拡張性が低い
- 分散管理(非重複:パーティション)
- 長所:負荷分散、可用性向上(部分的障害でも他データは影響を受けにくい)
- 短所:グローバル検索やメタデータ参照時にルックアップが必要になる場合がある
- 分散管理(重複:レプリケーション)
- 長所:ローカル解決で応答性が良い、可用性が高い
- 短所:更新時の同期コストと整合性維持の複雑さ
実運用ではハイブリッド(主要情報は複製し、詳細はパーティション)や冗長化(集中ディレクトリでもフェイルオーバー構成にする)などで、可用性と一貫性のバランスを取ることが多いです。
FAQ
Q. 集中管理はなぜ単一障害点になるのですか?
A. ディクショナリはデータの配置・スキーマ情報などシステム運用に必須のメタデータを保持します。集中サイトが落ちるとその情報を参照できず、正しいデータアクセスやトランザクション制御ができなくなるためです。
A. ディクショナリはデータの配置・スキーマ情報などシステム運用に必須のメタデータを保持します。集中サイトが落ちるとその情報を参照できず、正しいデータアクセスやトランザクション制御ができなくなるためです。
Q. レプリケーションでも更新時に問題は起きないのですか?
A. レプリケーションは可用性と応答性を高めますが、更新時に全コピーの整合性を保つための同期処理(同期レプリケーションやコンフリクト解決)が必要で、遅延や競合が発生するリスクがあります。
A. レプリケーションは可用性と応答性を高めますが、更新時に全コピーの整合性を保つための同期処理(同期レプリケーションやコンフリクト解決)が必要で、遅延や競合が発生するリスクがあります。
Q. 非重複(パーティション)でスキーマ変更を行う場合の運用は?
A. スキーマ変更は変更対象のパーティション(およびそのテーブルを持つサイト群)に対して行えばよく、変更範囲を限定して影響を抑える設計が可能です。ただし、グローバルに一貫したスキーマが必要な場合は調整が必要です。
A. スキーマ変更は変更対象のパーティション(およびそのテーブルを持つサイト群)に対して行えばよく、変更範囲を限定して影響を抑える設計が可能です。ただし、グローバルに一貫したスキーマが必要な場合は調整が必要です。
関連キーワード: 分散データベース、データディクショナリ、ディレクトリ配置、集中管理、分散管理、レプリケーション、パーティショニング、単一障害点(SPOF)、可用性、整合性

\ せっかくなら /
応用情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

