平成22年度 春期 午前Ⅱ 問19
データベース応用
分散データベースに関する問題
分散型データベースで結合演算を行うとき,通信負荷を最も小さくすることができる手法はどれか。ここで,データベースは異なるコンピュータ上に格納されて,かつ結合演算を行う表の行数が,双方で大きく異ならないものとする。
- ア入れ子ループ法
- イインデックスジョイン法
- ウセミジョイン法
- エマージジョイン法
答えと解説を見る
✓ これが正解ウセミジョイン法
解説
セミジョイン法は結合列の値だけを先に送り、通信量を抑えます。
異なるコンピュータに格納された表どうしを結合するとき、表をまるごと相手へ送ると通信負荷が大きくなります。セミジョイン法では、一方の表から結合に使う列の値だけを取り出して相手のコンピュータへ送り、相手側でその値と一致する行だけを絞り込んで送り返してから結合します。結合に関係しない行は送らずに済むので、コンピュータ間を流れるデータの量を小さくできます。結合の手法の中で、通信量を抑えることを目的にしたのがセミジョイン法、と目的で区別しておくと判断できます。
ほかの選択肢はなぜ違うのか
- ア入れ子ループ法:入れ子ループ法は、一方の表の行ごとに、もう一方の表の行を順に調べて結合する方法です。異なるコンピュータの表に使うと、相手の表を何度も参照したり丸ごと送ったりすることになり、通信量を抑える工夫にはなりません。
- イインデックスジョイン法:インデックスジョイン法は、結合する相手の表のインデックスを使って、一致する行を効率よく探す方法です。一つのコンピュータの中での探索を速くする工夫で、コンピュータ間で送るデータを減らす仕組みではありません。
- エマージジョイン法:マージジョイン法は、二つの表を結合列の値で整列しておき、先頭から突き合わせて結合する方法です。突き合わせるにはどちらかの表を相手側へ送る必要があり、通信量を減らすことを狙った方法ではありません。
この問題の用語
- データベースたくさんのデータを決まった形で貯め、探したり書き換えたりできるようにした仕組み。多くの人が同時に使うことを前提にしています。
出典:平成22年度 春期 データベーススペシャリスト試験 午前Ⅱ 問19
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)