ロールバックとロールフォワード

こんばんは。
ジュンです。
今回はこれまでの試験勉強で何度も間違え、いつになっても違いを理解できていない、ロールバックとロールフォワードについての覚書です。

参考記事

https://wa3.i-3-i.info/word142.html


問題を例に理解する

「ロールバック」「ロールフォワード」とはなにか。
それを理解するには、この言葉がどういう意味なのかも大切ですが、どんな場面でどう使われているのかを理解しなければいけません。
基本情報技術者試験の範囲は広くて、ハードウェア・ソフトウェア・SQL・マネジメントなど、さまざまな分野が出題されます。
その中で、問題文と選択肢からどの分野の問題なのかを読み取ることができれば、選択肢を限定することもできます。

平成28年度秋期午前問30
トランザクションTはチェックポイント取得時に完了したが、その後にシステム障害が発生した。トランザクションTの更新内容をその終了直後の状態にするために用いられる復旧技法はどれか。ここで、チェックポイントの他に、トランザクションログを利用する。

ア、2相ロック イ、シャドウページ ウ、ロールバック エ、ロールフォワード

ここでのキーワードは「トランザクション」
トランザクションとは、主にデータベースにおける「分割することのできない一連の処理」を指します。
また「トランザクションログ」とは、データベースのデータの更新前と更新後の内容を記録したファイル(ログファイル)のことです。

この問題では、トランザクションが予期せぬ異常終了をしてしまったときに、トランザクションログを使って更新直後の状態に復旧する方法を問われています。

ロールバックとは

トランザクションが異常終了した場合などに、トランザクションログに記録差されている更新前情報を使用して、トランザクション処理前の状態に復元すること。

ロールフォワードとは

システム障害発生時に、バックアップファイルとトランザクションログを使用し、障害発生直前の状態に内容を復元すること。チェックポイント取得時点の状況を再現した後、ログに記録されている更新後情報を使用して、必要な時点まで更新すること。
先程の問題の答えはこちらです。

この2つの違いは

太字で書かれた部分が大きな違いです。
データベースは書き込みを行うと、ログファイルを作り、細かく記録しています。
大幅なバックアップは時間がかかるため、トランザクションの度にログファイルを作っています。
そのログファイルに記録されている更新情報の前後のどちらで復旧させるかに違いがあります。

午前試験問題のキーワード

「トランザクションログ(ログファイル)に記録されている更新前情報」=ロールバック

「トランザクションログ(ログファイル)に記録されている更新後情報」=「トランザクションの更新内容をその終了直後の状態に」=ロールフォワード

最後に

このまとめをする作るために、1時間かかりました。
この内容を作るためにこれだけの時間がかかることは、果たして効率がいいことだろうか。
自分の理解が足りていないことだからこそ、時間がかかるのかもしれません。
わかりやすいように努力していますが、まだまだわかりづらい部分が多いことは自覚しています。
この投稿も、読み返して編集していきたいと思います。
試験勉強、一緒にがんばりましょう!

この記事が気に入ったらサポートをしてみませんか?