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

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

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

問題

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

選択肢

  1. ア
    アプリケーションの更新命令完了時点
  2. イ
    チェックポイント処理完了時点
  3. ウ
    ログバッファへのコミット情報書込み完了時点
  4. エ
    ログファイルへのコミット情報書込み完了時点
解き方のヒントを見る

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

処理の開始点と終了点を整理し、途中の状態が他の処理から見える可能性や、失敗時にどこまで影響が及ぶかを確認する観点を身につけます。個別の選択肢は画面上の条件と照合してください。

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

この問題では、処理の境界をどこに置くかという一点に注目し、各操作が同じまとまりに属するか、境界をまたぐと整合性の確認対象がどう変わるかを整理しましょう。操作の順序にも注意します。

視点

トランザクションを考えるときは、個々の操作を単独で追うだけでなく、ひとまとまりの処理として区切る位置を先に整理します。境界の候補ごとに、途中経過、失敗時の影響、他の処理との関係を比較し、設問が問う整合性の範囲を読み取ります。

確認ポイント

  • 処理の開始点と終了点がどこに置かれているかを確認する
  • 途中経過と完了後の状態を区別して整理する
  • 失敗や中断が起きた場合に確認すべき範囲を考える
正解と解説を見る

正解

エ

解説

DBMSは、コミットしたトランザクションの情報を障害後の復旧に利用できるよう、ログに確実に記録した時点でコミット処理完了とみなします。

理由

コミット済みの更新を障害後も失わず、データベースを最新の整合した状態へ戻すには、コミット情報がログファイルに書き込まれている必要があります。ログバッファ上だけでは、障害時に内容が失われる可能性があります。

比較

アプリケーションの更新命令完了やチェックポイント処理完了は、コミット情報が永続的に記録されたことを直接示しません。ログバッファへの書込みも一時的な状態であり、ログファイルへの書込みとは異なります。

選択肢ア

これは不正解だよ。アプリケーションの更新命令が完了しても、その更新内容やコミット情報がログファイルへ確実に保存されたとは限りません。システム障害でメモリ上の情報が失われると、復旧時にコミット済みの最新状態を判断できないため、この時点では完了とみなせません。

選択肢イ

これは不正解だよ。チェックポイントは、データベースの状態を整理して復旧処理を効率化するための処理です。しかし、個々のトランザクションについてコミット情報がログへ永続的に書き込まれた時点そのものではありません。したがって、コミット完了の基準としては適切ではありません。

選択肢ウ

これは不正解だよ。ログバッファへのコミット情報書込みが完了しても、情報はまだメモリ上にとどまる可能性があります。障害によってバッファの内容が失われれば、コミット済みであることを復旧処理が確認できません。永続的なログファイルへの書込みが必要です。

選択肢エ(正解)

これは正解だよ。ログファイルへのコミット情報書込みが完了すれば、障害が発生してもコミット済みトランザクションの記録を復旧処理で参照できます。そのため、更新を失わず最新の整合したデータベース状態へ戻せることを保証する基準になります。

学習のポイント

コミット完了とログの永続化、チェックポイントの役割を区別する。

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

関連する過去問一覧

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