技術者試験の問題の
マネジメント系 » サービスマネジメント » サービスの運用
ここに分類される一つにデータベースの問題があります
システムに障害が起きたときに行われる処理があります。
「ロールバック」と「ロールフォワード」についてです。
これらは両方ともデータベースでの処理でエラーが発生した時に行われます。
違いを分かりやすくまとめると最後に行ったバックアップ以降のデータを再現させるかどうかです。
ロールバックとロールフォワードの詳しい処理を説明するためには「トランザクション処理」という言葉を理解しておく必要があります。トランザクション処理とは一連の処理をひとつにまとめた処理として判定をおこなうものである。例えば入出金の処理では入金失敗した場合に出金処理も同時に取り消します。そのためすべての処理が完了するまで結果を確定としません。
それではロールバックとロールフォワードについて詳しい説明をしたいと思います。データベースでエラーが生じたときに定期的にバックアップしているファイルを利用して元の状態に戻します。しかし、それだけではバックアップ後に変更されたデータが反映されません。そこで、バックアップ後の更新データであるジャーナルファイルを反映させてデータを直前の状態に戻します。
ロールバックではトランザクション処理の途中の処理もすべて取り消して最初の状態に戻します。これによってバックアップ直後のデータベースの状態に戻します。この後再び最初からトランザクション処理を行うことでデータの整合性を守っています。
一方で
ロールフォワードにおいてはバックアップファイルに加えて、ジャーナルファイルを利用して障害発生直前の状態に戻そうとします。
参考サイト
ロールフォワードとは - ITを分かりやすく解説
https://medium-company.com/%E3%83%AD%E3%83%BC%E3%83%AB%E3%83%95%E3%82%A9%E3%83%AF%E3%83%BC%E3%83%89/