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

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

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

問題

システム障害発生時には,データベースの整合性を保ち,かつ,最新のデータベース状態に復旧する必要がある。このために,DBMSがトランザクションのコミット処理完了とみなすタイミングとして,適切なものはどれか。

選択肢

  1. ア
    すべての更新データの実更新完了時点
  2. イ
    チェックポイント処理完了時点
  3. ウ
    ログバッファへの書込み完了時点
  4. エ
    ログファイルへの書出し完了時点
解き方のヒントを見る

トランザクション境界の見極め

トランザクションの境界と整合性を考えるときは、処理をどの単位で捉え、途中状態と完了後の状態をどう区別するかに注目し、複数の観点を順に整理しましょう。利用者間の影響も分けて確認します。

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

一つの処理の開始から終了までをどの範囲として扱うかに絞り、状態の確定、取り消し、他の処理からの見え方を同じ軸で比較して、境界の置き方を検討してください。用語の定義にも注意します。

視点

処理のまとまりを考える際は、開始点・終了点・途中で起こり得る状態変化を分けて整理します。整合性は、関連するデータ間の関係が処理の前後でどのように扱われるかという観点で捉え、個別の実装方法とは切り離して確認します。

確認ポイント

  • 処理の開始と終了をどの時点として捉えているか
  • 途中状態と処理完了後の状態を区別できているか
  • 複数の処理が関わる場合の見え方を整理できているか
正解と解説を見る

正解

エ

解説

コミット済みの更新を障害後にも復元できるよう、復旧に必要なログ情報が永続的な記憶媒体へ保存された時点を完了とみなす。

理由

障害発生時に最新状態へ復旧するには、コミット済みトランザクションの更新内容と完了情報が失われずに残っていなければならない。そのため、ログが揮発性のバッファではなくログファイルへ書き出された時点を、コミット処理完了とみなす。

比較

データ本体の更新完了はログの保存を保証せず、チェックポイントは定期的な復旧効率向上の処理です。また、ログバッファへの書込みだけでは障害時に内容を失う可能性がある。

選択肢ア

これは不正解だよ。データ本体の更新がすべて完了していても、コミットを示すログ情報が永続的に保存されたとは限らない。障害時には更新内容や完了状態をログから再現する必要があるため、実更新の完了時点だけでは復旧可能性を保証できない。

選択肢イ

これは不正解だよ。チェックポイントは、メモリ上の更新内容などを整理して復旧処理を効率化するための契機であり、個々のトランザクションのコミット完了を示す時点ではない。チェックポイント処理の完了を待つことは、コミットの基本条件とは異なる。

選択肢ウ

これは不正解だよ。ログバッファは主記憶上などの一時的な領域であり、そこへの書込み完了だけでは障害によって内容が失われる可能性がある。障害後の復旧に使うログは、揮発性のバッファより後段へ保存されている必要がある。

選択肢エ(正解)

これは正解だよ。ログファイルへの書出しが完了すれば、コミット済みトランザクションの更新内容や完了情報を障害後の復旧で参照できる。データ本体の更新やバッファへの書込みだけでなく、復旧に必要なログを永続的な記憶媒体へ保存することが重要である。

学習のポイント

コミット処理、ログ先行書込み、障害復旧における永続化の関係を理解する。

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

関連する過去問一覧

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