DBデータベーススペシャリスト試験 午前Ⅱ

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

問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。

問題

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

選択肢

  1. ア
    実行中のトランザクションを一時停止させることなく,チェックポイント処理を可能にする。
  2. イ
    デッドロック状態になっているトランザクションの検出を可能にする。
  3. ウ
    何らかの理由でDBMSが停止しても,コミット済みであるがデータベースに書き込まれていない更新データの回復を可能にする。
  4. エ
    ログを格納する記録媒体に障害が発生しても,データベースのデータ更新を可能にする。
解き方のヒントを見る

ログ記録の目的を問い直す

障害回復で使われる記録は、何のために残すのかという目的から考えると整理しやすくなります。仕組みの名前や手順を覚える前に、その記録が回復時にどんな役割を担うのかを自分の言葉で説明できるか確かめましょう。

この問題で問われていること

問われているのは用語の暗記ではなく、記録を残すことで障害発生後にどのような状態を実現したいのかという観点です。その目的と、問題で示されている内容が本当に対応しているかを落ち着いて照らし合わせてください。

視点

データベースの障害にはいくつかの種類があり、回復で目指す状態もそれぞれ異なります。記録方式を学ぶ際は、『いつ・何を・何のために残すのか』を目的の側から一つずつ言語化すると、似た用語の混同を防ぎやすくなります。

確認ポイント

  • その記録がなければ、障害後にどんな困りごとが起きるかを考えたか
  • 記録の目的と、記録の手段や名称とを区別して捉えているか
  • 問題で示された内容が、目的の説明として過不足なく対応しているか
正解と解説を見る

正解

ウ

解説

WALは、データベースの更新をデータ本体へ反映する前にログへ記録するプロトコルです。DBMSが停止しても、ログを利用してコミット済み更新をデータベースへ反映できるため、障害回復に役立ちます。

理由

WALでは、更新内容を先にログへ書き込んでからデータベースへ反映します。そのため、コミット後にデータ本体への書込みが完了する前にDBMSが停止しても、ログに基づいて更新を回復できます。

比較

チェックポイント処理は回復時間短縮、デッドロック検出はロック管理、記録媒体障害への対応はバックアップや冗長化に関する機能です。これらはWALそのものの主目的ではありません。

選択肢ア

これは不正解だよ。チェックポイントは、実行中のトランザクションを停止させずに実行できる場合もありますが、その主な目的は障害回復時にログを調べる範囲を減らすことです。WALの目的そのものを説明した文ではありません。

選択肢イ

これは不正解だよ。デッドロック状態のトランザクションを検出するのは、ロックの待ち関係を監視する機能です。WALは更新内容をログへ先に記録して障害回復に備える仕組みであり、トランザクション間の待ち関係は検出しません。

選択肢ウ(正解)

これは正解だよ。WALでは、データベース本体への更新より先に更新内容をログへ記録します。そのため、コミット済みでもデータベースへの書込み前にDBMSが停止した場合、ログを用いて更新データを回復できます。

選択肢エ

これは不正解だよ。WALはログを利用した障害回復を目的としますが、ログを格納する記録媒体自体が故障した場合の更新継続を保証する仕組みではありません。その対策にはバックアップや記録媒体の冗長化などが必要です。

学習のポイント

WALの本質であるログ先行書込みと、障害後の更新データ回復の関係を理解しましょう。

出典:独立行政法人 情報処理推進機構(IPA)平成28年度春期 データベーススペシャリスト試験 午前Ⅱ 問16(公式資料:問題冊子(PDF) / 解答例)

関連する過去問一覧

IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針