令和5年度 秋期 データベーススペシャリスト試験 午前Ⅰ試験 問9

過去問 午前Ⅰ試験過去問

問題

DBMSをシステム障害発生後に再立上げするとき、ロールフォワードすべきトランザクションとロールバックすべきトランザクションの組合せとして、適切なものはどれか。ここで、トランザクションの中で実行される処理内容は次のとおりとする。

トランザクションデータベースに対するRead回数とWrite回数
T1, T2Read 10, Write 20
T3, T4Read 100
T5, T6Read 20, Write 10
R5_AM1-9-図
ロールフォワードロールバック
T2, T5T6
T2, T5T3, T6
T1, T2, T5T6
T1, T2, T5T3, T6

解説

チェックポイント

チェックポイントとは、データベースの状態を定期的に保存することです。チェックポイントでは、データベースの更新内容をログファイルに記録します。
チェックポイントを行うことで、システム障害が発生した場合に、障害発生直前の状態にデータベースを復旧することができます。

ロールフォワード

ロールフォワードとは、チェックポイント以降にコミットされたトランザクションの処理を再実行することです。
ロールフォワードを行うことで、システム障害が発生した場合に、チェックポイント以降に行われたデータの変更を反映することができます。

ロールバック

ロールバックとは、トランザクションの処理を元に戻すことです。
ロールバックを行うことで、システム障害が発生した場合に、障害発生前に行われていたトランザクションの処理を元に戻すことができます。

ロールフォワードとロールバックの違い

ロールフォワードとロールバックは、どちらもシステム障害が発生した場合にデータベースを復旧するために使用されます。
ロールフォワードは、チェックポイント以降にコミットされたトランザクションの処理を再実行することで、チェックポイント以降に行われたデータの変更を反映します。
一方、ロールバックは、トランザクションの処理を元に戻すことで、障害発生前に行われていたトランザクションの処理を元に戻します。

ロールフォワードとロールバックの処理順序

システム障害が発生した場合、ロールフォワードとロールバックの処理は、以下の順序で行われます。

  1. チェックポイント以降にコミットされたトランザクションをロールバックする。
  2. チェックポイント時点のデータベースを復旧する。
  3. チェックポイント以降にコミットされたトランザクションをロールフォワードする。

これにより、障害発生直前の状態にデータベースを復旧することができます。

と言うわけで、問題を解いてみましょう。

T3, T4はReadのみのため、ロールフォワードもロールバックも必要ありません。T3がロールバックに入っている「イ」「エ」は選択肢から外れます。
T1はチェックポイント以前にコミットしているので、ロールフォワードも不要です。「ウ」は選択肢から外れますので、正解は「」です。