第9問
業務処理のためには、多くの場合、データベース)DBが利用される。DB をネ ットワーク環境下で利用する場合、さまざまな端末からトランザクション処理要求 を受け付けるため、多くの負荷が集中することもある。このような状態の中での DB の効率的な運用や障害対策などのための仕組みが用意されている。 そのような仕組みに関する記述として、最も適切なものはどれか。
- ア DB 運用中に表のデータ項目の追加・削除や新たな表追加が必要となり、DB の論理構造の再構築を行う場合は、SQL 文のREBUILD 命令において必要なパ ラメータを指示して実行する。
- イ DB の更新処理を行う場合は、ロックと呼ばれる排他制御が行われる。このロ ックをかける範囲をロック粒度と呼び、ロック粒度が大きいと排他制御のための 処理のオーバヘッドが大きくなる。
- ウ DB の障害回復には、バックアップファイルを利用するロールフォワードとデ ータ更新状況を記録したものを利用するロールバックの仕組みがある。
- エ ライアント端末からWeb サーバを経由してDB サーバに対して更新作業を 行う際、まずDB サーバに対して更新作業が可能かどうかを問い合わせることを 相のコミットメントと呼ぶ。 DKJC-1F
▼ 解答・解説を見る
正解:ウ
解答:ウ
DBの排他制御(ロック粒度)・障害回復(ロールフォワード/ロールバック)・2相コミットの理解を問う問題。
- ア(×):表定義の変更(列・表の追加削除)はSQLのDDL(ALTER TABLE/CREATE TABLE等)で行う。「REBUILD命令」で論理構造を再構築するという記述は誤り。
- イ(×):ロック粒度が「大きい」と一度に広い範囲をロックするため排他制御の処理オーバヘッドは「小さく」なる(代わりに同時実行性は低下する)。記述が逆。
- ウ(○):障害回復には、バックアップ取得後の更新ログを反映する「ロールフォワード」(前進復帰)と、未完了トランザクションを取り消す「ロールバック」(後退復帰)がある。正しい。
- エ(×):2相コミット(2相コミットメント)は分散DBで複数サイトの更新可否を問い合わせる第1相(準備)と確定する第2相(コミット)から成る。記述は「3相」となっており誤り。
よって ウ。