平成29年度 秋期 午前Ⅱ 問21
データベース
WALに関する問題
WAL(Write Ahead Log)プロトコルの目的に関する記述のうち,適切なものはどれか。
- ア実行中のトランザクションを一時停止させることなく,チェックポイント処理を可能にする。
- イデッドロック状態になっているトランザクションの検出を可能にする。
- ウ何らかの理由でDBMSが停止しても,“コミット済みであるがデータベースに書き込まれていない更新データ”の回復を可能にする。
- エログを格納する記録媒体に障害が発生しても,データベースのデータ更新を可能にする。
答えと解説を見る
✓ これが正解ウ何らかの理由でDBMSが停止しても,“コミット済みであるがデータベースに書き込まれていない更新データ”の回復を可能にする。
解説
ログを先に書き、DBMS 停止後もコミット済みの更新を回復できます。
WAL(Write Ahead Log)は、データベースの更新内容をデータベース本体へ書き込む前に、必ずログへ先に書き出すという取り決めです。見分ける軸は、この取り決めが何を守るためのものかです。コミットの時点でログが確実に書き出されていれば、更新データがまだデータベースに反映されていない段階で DBMS が停止しても、再起動後にログを使って更新をやり直すロールフォワードができます。コミット済みであるがデータベースに書き込まれていない更新データの回復を可能にするという説明は、この目的に合っています。ログを先に書く、という名前の意味から、障害回復のための仕組みだとつなげて覚えると判断しやすくなります。
ほかの選択肢はなぜ違うのか
- ア実行中のトランザクションを一時停止させる…:トランザクションを止めずにチェックポイント処理を行う工夫は、チェックポイントの取り方に関する話です。ログを先に書き出すという取り決めの目的は障害からの回復であり、チェックポイントを無停止で行うことではありません。
- イデッドロック状態になっているトランザクシ…:デッドロックの検出は、トランザクションが互いの資源を待ち合っている状態を、待ちの関係を調べて見つける仕組みが担います。ログの書き出し順序を定める WAL とは関係がありません。
- エログを格納する記録媒体に障害が発生しても…:ログを格納する媒体そのものが壊れると、WAL で書いたログも失われるため、それだけでは更新を続けられません。媒体障害への備えには、ログの二重化やバックアップなど別の手段が必要です。
この問題の用語
- プロトコル通信するときの、決まりごとや手順のまとまりのことをいいます。送る側と受ける側が同じものに従うことで、やり取りが成り立ちます。
- トランザクションデータベースへの一連の処理をひとまとめにした単位のこと。途中で失敗すると開始前の状態へ戻され、中途半端な更新が残りません。
- DBMSデータベースを管理するソフト。複数の処理が同じデータを同時に更新しても矛盾しないよう、排他制御などを行います。
- データベースたくさんのデータを決まった形で貯め、探したり書き換えたりできるようにした仕組み。多くの人が同時に使うことを前提にしています。
- ログいつ誰が何をしたかを、機器やソフトウェアが自動で残していく記録です。あとから出来事をたどれるので、事故の調査や不正の発見に使われます。
出典:平成29年度 秋期 ITサービスマネージャ試験 午前Ⅱ 問21
同じ用語が出る問題
- 令和7年度 春期 午前Ⅱ 問23(DBMS)
- 令和6年度 春期 午前Ⅱ 問23:JupyterLabの説明(データベース)
- 令和5年度 春期 午前Ⅱ 問23:トランザクションに関する問題(プロトコル)
- 令和5年度 春期 午前Ⅱ 問22:クラウドサービス派生データの問題(ログ)
- 令和4年度 春期 午前Ⅱ 問23:2相コミットプロトコルの問題(トランザクション)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)