基本情報技術者 2009年 秋期 午前(科目A) 問35
問題文
分散データベースの透過性の説明として、適切なものはどれか。
選択肢
ア:クライアントのアプリケーションプログラムは、複数のサーバ上のデータベースをアクセスする。アプリケーションプログラムは、データベースがあたかも一つのサーバ上で稼働しているかのようにアクセスできる。(正解)
イ:クライアントのアプリケーションプログラムは、複数のサーバ上のデータベースをアクセスする。アプリケーションプログラムはどのサーバ上のデータベースをアクセスするのかを知っている必要がある。
ウ:複数のクライアントのアプリケーションプログラムが、一つのサーバ上のデータベースを共有してアクセスする。
エ:複数のクライアントのアプリケーションプログラムは、一つのサーバ上のデータベースを、サーバ上のアプリケーションプログラムを介してアクセスする。
分散データベースの透過性の説明として、適切なものはどれか。【午前2 解説】
要点まとめ
- 結論:分散データベースの透過性とは、クライアントから見て複数の物理的なデータ配置が隠蔽され、一つの統一されたデータベースに見える性質です。
- 根拠:透過性にはロケーション透過性やレプリケーション透過性、フラグメンテーション透過性などが含まれ、アクセス方法や場所の違いを隠します。
- 差がつくポイント:設問は「クライアントが配置を知る必要があるか」を問うており、知る必要があるとする選択肢は透過性の定義に反します。
正解の理由
正解: ア
アは「クライアントが複数サーバ上のデータベースをあたかも一つのサーバ上で稼働しているかのようにアクセスできる」と述べており、これは分散データベースにおける透過性(特にロケーション透過性や分散の隠蔽)そのものです。クライアント側からデータの分散や配置、複製といった物理的差異が見えないことが透過性の本質であり、アはこれを正確に表現しています。
アは「クライアントが複数サーバ上のデータベースをあたかも一つのサーバ上で稼働しているかのようにアクセスできる」と述べており、これは分散データベースにおける透過性(特にロケーション透過性や分散の隠蔽)そのものです。クライアント側からデータの分散や配置、複製といった物理的差異が見えないことが透過性の本質であり、アはこれを正確に表現しています。
よくある誤解
- 「透過性=同時実行制御や一貫性の保証」ではなく、透過性は主に分散部分の隠蔽に関する概念です。
- 「サーバが一台であること」と混同すると誤答します。透過性は見え方の話であり、実際の構成は分散であることが多いです。
解法ステップ
- 設問のキーワード「透過性(transparency)」の意味を思い出す(隠蔽・見えないこと)。
- 各選択肢で「クライアントが何を知っている必要があるか」を判定する。
- クライアントが配置やサーバを把握する必要がある記述は透過性と矛盾するため除外する。
- 残った選択肢が透過性の定義に合致しているかを最終確認する(本問ではアが合致)。
選択肢別の誤答解説
- ア(正解):クライアント側から見て複数サーバ上のデータが一つに見える、と明言しており透過性の定義に合致します。
- イ:クライアントが「どのサーバ上のデータをアクセスするのかを知っている必要がある」としており、ロケーション透過性を否定するため誤りです。
- ウ:複数クライアントが一つのサーバ上のDBを共有するという記述は集中型(中央集権)的な共有であり、分散透過性の説明ではありません。
- エ:クライアントがサーバ上のアプリケーション経由でアクセスするというのはアプリケーションサーバ方式の説明であり、分散データベースの透過性(分散の隠蔽)とは別の概念です。
補足コラム
- 透過性の種類:ロケーション透過性(位置の隠蔽)、レプリケーション透過性(複製の隠蔽)、フラグメンテーション透過性(分割片の隠蔽)、トランザクション透過性(分散トランザクションの一貫性隠蔽)などがあります。
- 実装例:分散DBMSやミドルウェアは、名前解決サービスやディレクトリ、問い合わせルータを用いて物理配置を隠蔽します。分散トランザクションには2フェーズコミット(2PC)などのプロトコルが用いられます。
- 注意点:透過性は「見えない」ことを保証する概念ですが、パフォーマンスや可用性の差は依然として存在し、設計上それらを考慮する必要があります。
FAQ
Q: 分散データベースの透過性は完全に自動で保証されますか?
A: 透過性は概念上の目標であり、実装によりレベルが異なります。パフォーマンスや整合性のトレードオフにより完全に隠蔽されない場合もあります。
A: 透過性は概念上の目標であり、実装によりレベルが異なります。パフォーマンスや整合性のトレードオフにより完全に隠蔽されない場合もあります。
Q: レプリケーション透過性とロケーション透過性は同じですか?
A: いいえ。ロケーション透過性はデータの物理位置を隠すことで、レプリケーション透過性は複製の存在や数を隠すことを指します。目的は同じく「隠蔽」です。
A: いいえ。ロケーション透過性はデータの物理位置を隠すことで、レプリケーション透過性は複製の存在や数を隠すことを指します。目的は同じく「隠蔽」です。
関連キーワード: 分散データベース、透過性、ロケーション透過性、レプリケーション透過性、フラグメンテーション透過性、分散トランザクション、2フェーズコミット、ミドルウェア、名前解決、ディレクトリサービス

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

