IPA過去問ドリル

平成22年度 春期 データベーススペシャリスト試験 午前Ⅱ 問19

テクノロジ/データベース

分散型データベースで結合演算を行うとき,通信負荷を最も小さくすることができる手法はどれか。ここで,データベースは異なるコンピュータ上に格納されて,かつ結合演算を行う表の行数が,双方で大きく異ならないものとする。

出典:平成22年度 春期 データベーススペシャリスト試験 午前Ⅱ 問19

正解:ウ

解説

セミジョイン法は,結合に必要な列(結合列)の値だけを相手側のコンピュータに送信し,相手側で絞り込みを行った上で必要な行だけを送り返すことによって,結合演算全体で転送されるデータ量(通信負荷)を削減する手法です。表の行数が双方で大きく異ならない場合でも,結合に不要な列を転送しない分だけ通信負荷を抑えることができます。

選択肢ごとの解説

  • 誤り。入れ子ループ法は,一方の表の各行に対してもう一方の表を繰り返し走査して結合する方式であり,表全体を相手側から取得する必要があるため,通信負荷の削減には向きません。
  • 誤り。インデックスジョイン法は,インデックスを利用して結合相手の行を効率的に探す方式ですが,分散環境での通信負荷そのものを削減する手法として最も効果的とは言えません。
  • 正しい。セミジョイン法は,結合に必要な列の値だけを転送し合うことで,結合演算に伴う通信負荷を最も小さくすることができる手法です。
  • 誤り。マージジョイン法は,あらかじめソートされた表を突き合わせて結合する方式であり,通信負荷の削減を主目的とした分散結合の手法ではありません。
データベーススペシャリストの過去問を演習モードで解く