IPA過去問ドリル

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

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

WAL(Write Ahead Log)プロトコルの目的に関する説明のうち,適切なものはどれか。

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

正解:ウ

解説

WAL(Write Ahead Log,先行書込みログ)プロトコルとは,データベースの更新内容をデータベース本体に反映する前に,必ずその更新内容をログ(ログファイル)へ書き出しておくという規約である。これによって,コミット済みであるにもかかわらず,何らかの理由(電源断やソフトウェア異常など)でDBMSが停止し,まだデータベース本体には反映されていなかった更新データについても,ログに記録された情報を使って再実行(ロールフォワード)し,正しく回復させることができる。

選択肢ごとの解説

  • 誤り。実行中のトランザクションを一時停止させずにチェックポイント処理を行うことは,チェックポイント処理方式(ファジーチェックポイントなど)に関する工夫であり,WALプロトコルそのものの目的ではない。
  • 誤り。デッドロック状態の検出は,待ちグラフなどを用いた同時実行制御の仕組みによって行われるものであり,ログの書込み順序を規定するWALプロトコルとは直接関係がない。
  • 正しい。WALプロトコルにより,更新内容は必ずログへ先に書き出されるため,コミット済みでありながらデータベース本体にはまだ反映されていなかった更新データを,DBMS再起動後にログを使って回復できる。
  • 誤り。ログを格納する記録媒体自体に障害が発生した場合には,WALプロトコルによってもその記録媒体上のログを使ったデータ更新・回復はできない。ログ媒体の障害対策には,別途,二重化などの対策が必要である。
データベーススペシャリストの過去問を演習モードで解く