平成28年度 春期 午前Ⅱ 問16
トランザクション処理
WALに関する問題
WAL(Write Ahead Log)プロトコルの目的に関する説明のうち,適切なものはどれか。
- ア実行中のトランザクションを一時停止させることなく,チェックポイント処理を可能にする。
- イデッドロック状態になっているトランザクションの検出を可能にする。
- ウ何らかの理由でDBMSが停止しても,コミット済みであるがデータベースに書き込まれていない更新データの回復を可能にする。
- エログを格納する記録媒体に障害が発生しても,データベースのデータ更新を可能にする。
答えと解説を見る
✓ これが正解ウ何らかの理由でDBMSが停止しても,コミット済みであるがデータベースに書き込まれていない更新データの回復を可能にする。
解説
更新より先にログを書くので、未反映のコミット済み更新も回復できます。
WALは、データベースの内容を書き換える前に、その更新内容をログに書き出しておくという取り決めです。DBMSは処理を速くするため、更新したデータをすぐにはディスクに書き込まず、バッファに置いておくことがあります。このときDBMSが停止すると、コミット済みなのにデータベースには反映されていない更新が失われるおそれがあります。WALに従っていれば、更新内容がログに先に残っているので、再起動後にログを使ってその更新を反映し直せます。ログが先、データベースが後、という順序がこの取り決めの中身で、回復の手掛かりを先に確保しておくのが目的です。
ほかの選択肢はなぜ違うのか
- ア実行中のトランザクションを一時停止させる…:実行中のトランザクションを止めずにチェックポイントを取ることは、チェックポイント処理の方式の工夫で実現するものです。ログを先に書くという取り決めの目的として述べられることではありません。
- イデッドロック状態になっているトランザクシ…:デッドロック状態のトランザクションを検出するには、トランザクション間の待ち関係を調べる仕組みを使います。ログを書く順序を決めるWALとは役割が異なります。
- エログを格納する記録媒体に障害が発生しても…:WALはログが正しく残ることを前提とした取り決めであり、ログを記録する媒体そのものが壊れた場合の対策ではありません。ログの媒体を守るには、ログを二重化するなどの別の手段が必要です。
この問題の用語
- ログいつ誰が何をしたかを、機器やソフトウェアが自動で残していく記録です。あとから出来事をたどれるので、事故の調査や不正の発見に使われます。
- プロトコル通信するときの、決まりごとや手順のまとまりのことをいいます。送る側と受ける側が同じものに従うことで、やり取りが成り立ちます。
- トランザクションデータベースへの一連の処理をひとまとめにした単位のこと。途中で失敗すると開始前の状態へ戻され、中途半端な更新が残りません。
- DBMSデータベースを管理するソフト。複数の処理が同じデータを同時に更新しても矛盾しないよう、排他制御などを行います。
- データベースたくさんのデータを決まった形で貯め、探したり書き換えたりできるようにした仕組み。多くの人が同時に使うことを前提にしています。
出典:平成28年度 春期 データベーススペシャリスト試験 午前Ⅱ 問16
同じ用語が出る問題
- 令和7年度 秋期 午前Ⅱ 問18:ブロックチェーンに関する問題(トランザクション)
- 令和7年度 秋期 午前Ⅱ 問17:デッドロックに関する問題(DBMS)
- 令和6年度 秋期 午前Ⅱ 問14:多版同時実行制御に関する問題(プロトコル)
- 令和5年度 秋期 午前Ⅱ 問19:DRDoSに関する問題(ログ)
- 令和5年度 秋期 午前Ⅱ 問2(プロトコル)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)