データベーススペシャリスト平成28年春期 午前Ⅱ 問16

問16

WAL(Write Ahead Log)プロトコルの目的に関する説明のうち,適切なものはどれか。
  • 実行中のトランザクションを一時停止させることなく,チェックポイント処理を可能にする。
  • デッドロック状態になっているトランザクションの検出を可能にする。
  • 何らかの理由でDBMSが停止しても,コミット済みであるがデータベースに書き込まれていない更新データの回復を可能にする。
  • ログを格納する記録媒体に障害が発生しても,データベースのデータ更新を可能にする。
  • [出題歴]
  • データベース H25春期 問18

分類

テクノロジ系 » データベース » トランザクション処理

正解

解説

WAL(Write Ahead Log)プロトコルは、トランザクションがログを安定記憶(ディスク)に書き出すタイミングについての取り決めで、"Write Ahead Log"(まずログを書け)という意味のとおり、実際の操作に先行してログの即時書き出しを求めるものです。

WALプロトコルの動作は次の2点に要約されます。
  • データベースの更新は、まずそれをログを書き出してから行う(更新前ログ)
  • トランザクションはコミットを行う前に、該当する全てのデータベース更新情報をログを書き出す(更新後ログ)
WALプロトコルに従えば、たとえトランザクションの開始直後やコミット直後といったメモリバッファの内容がデータベースに反映される前の状態でシステム障害が発生しようとも、そのログは必ずディスクに記録されていることになります。この仕組みにより、いかなるときにシステム障害が発生しようとも、ログの内容からデータを矛盾のない状態に回復できます。

したがって「ウ」が、WALプロトコルの目的として適切です。
  • ファジーチェックポイントの目的です。
  • 待ちグラフの目的です。
  • 正しい。WALプロトコルの目的です。
  • ディスク二重化などの目的です。障害からのデータ回復処理はログを元にして行うため、媒体障害によってログが失われてしまうと回復できません。
© 2016-2024 データベーススペシャリストドットコム All Rights Reserved.

Pagetop