クライアントサーバシステムにおいて,利用頻度が高い命令群をあらかじめサーバ上のDBMSに格納しておくことによって,クライアントサーバ間のネットワーク負荷を軽減する仕組みはどれか。
正答4
解説
正解は4です。
クライアントサーバシステムでは、クライアントがSQL文を1文ずつ送ると、そのたびにネットワークで通信が発生します。
よく使う一連の処理をサーバ側に登録しておき、呼び出すだけにすれば、通信量を減らせます。
【選択肢別解説】
1:× 2相コミットメントは、分散データベースで複数のサイトの更新を、すべて確定するかすべて取り消すかにそろえる手順です。
ネットワーク負荷を減らすための仕組みではありません。
2:× グループコミットメントは、複数のトランザクションのコミットをまとめてログに書き込み、ディスクへの書込み回数を減らす手法です。
クライアントとサーバ間の通信量を減らすものではありません。
3:× サーバプロセスのマルチスレッド化は、サーバ内で複数の要求を並行して処理し、処理能力を高める手法です。
クライアントから送る命令の量は変わりません。
4:○ ストアドプロシージャは、利用頻度の高いSQLの命令群をあらかじめDBMSに格納しておく仕組みです。
クライアントは手続名と引数を送るだけで済むので、ネットワーク負荷が軽くなります。
【ポイント】
ストアドプロシージャには、通信量の削減に加えて、処理の再利用や事前の構文解析による高速化という利点もあります。
「サーバ上のDBMSに命令群を格納」とあればストアドプロシージャです。