クライアントサーバシステムにおいて,データベースにアクセスするときに,利用頻度の高い命令群をあらかじめサーバに用意しておくことによって,ネットワーク負荷を軽減できる機能はどれか。
正答4
解説
正解は4です。
クライアントサーバシステムで、よく使う命令群をサーバ側に用意しておき、ネットワークの負荷を減らす機能を問う問題です。
クライアントがSQL文を1つずつ送ると、そのたびに通信が発生します。
【選択肢別解説】
1:× 2相コミットメント機能は、分散データベースで複数のサイトの更新を、すべて確定するかすべて取り消すかにそろえる仕組みです。
通信量を減らす機能ではありません。
2:× グループコミットメント機能は、複数のトランザクションのコミット処理をまとめてログに書き込み、ディスクへの書込み回数を減らす仕組みです。
ネットワーク負荷の軽減が目的ではありません。
3:× サーバプロセスのマルチスレッド機能は、1つのプロセスの中で複数の要求を並行して処理する仕組みです。
サーバの処理効率を上げるもので、命令群を用意しておく機能ではありません。
4:○ ストアドプロシージャ機能は、よく使う一連のSQL文を手続きとしてサーバに登録しておく機能です。
クライアントは手続きを呼び出すだけでよいので、通信回数が減りネットワーク負荷が軽くなります。
【ポイント】
ストアドプロシージャには、通信量の削減に加え、処理の共通化や性能向上の効果もあります。
2相コミットは分散データベースの一貫性を保つ仕組みとして頻出です。