データベース管理システムにおけるロールバックとロールフォワード

ロールバックとロールフォワードの概要

勉強のきっかけになった過去問

DBMSをシステム障害発生後に再立上げするとき,前進復帰(ロールフォワード)すべきトランザクションと後退復帰(ロールバック)すべきトランザクションの組合せとして,適切なものはどれか。ここで,トランザクションの中で実行される処理内容は次のとおりとする。
http://www.ap-siken.com/kakomon/20_haru/img/67.gif

http://www.ap-siken.com/kakomon/20_haru/img/67a.gif
平成20年春期問67 DBMSの障害回復|応用情報技術者試験.com

知っ得用語

DBMSとは、データベース管理システムの略称です。

データベースを管理し、外部のソフトウェアからの要求に応えてデータベースの操作を行う専門のソフトウェア。
e-words.jp

チェックポイントとは、データファイルにバックアップした時のことです。

DBMSは,COMMIT時にはいったんログファイルに操作ログだけ残しておいて,データファイルへの変更反映は後でゆっくりやっているのです(このデータファイルへの反映処理をチェックポイントと呼びます)
http://image.gihyo.co.jp/assets/images/dev/serial/01/db-academy/0002/thumb/TH400_002.png

gihyo.jp

ログファイルについてはWALプロトコルに従ってディスクへ即時書出しされますが、メモリバッファの内容については入出力効率向上のために、一定の間隔ごとにまとめてディスクに反映する方式をとっています。このディスクと同期を取るタイミング「チェックポイント」といいます。
平成25年春期問16 チェックポイントで行っている処理|データベーススペシャリスト.com

ロールバックとは、障害発生時に正常だった状態まで戻すことです。

  • 対象になる障害 : 論理的障害トランザクション障害、コミット前に「やべっ間違った」っと気が付いた時
  • やり方
    1. ジャーナルファイルを使って処理をなかったコトにします。
    2. 処理前の状態に戻ります。
  • 英語 : roll back
  • 日本語 : 後退復帰

トランザクション処理の途中で障害が発生したときは、ジャーナルファイルを用いてトランザクション処理開始時点の状態に戻してデータの整合性を保つ処理
http://www.it-license.com/Database/Images/RollBack.gif
www.it-license.com

障害発生時に処理途上でコミットされていないトランザクションの処理をすべて取り消し、最初の時点に戻すことを意味する。
e-words.jp

知っ得用語

ジャーナルファイルとは、やった処理を記録したファイルです。
  • ログファイルって言われたりします。

トランザクション処理によって一体として処理されるべき更新情報をジャーナルに記録する。更新中に障害などで中断した場合には、ジャーナルの記録を元にすべての処理を取り消して元に戻したり、中途の処理を完了させて更新を確定したりする。
e-words.jp

ロールフォワードとは、障害発生時にバックアップする前の状態まで戻して処理をやり直すことです。

  • 対象になる障害 : 物理的障害、システム障害、媒体障害
  • やり方
    1. 壊れたものを壊れていないものに交換します。
    2. バックアップデータでチェックポイントまでデータを復元します。
    3. ジャーナルファイルで処理をやり直します。
    4. 壊れる前の状態に戻ります。
  • 英語 : roll forward
  • 日本語 : 前進復帰

バックアップファイルとジャーナルファイルを用いて、ハードディスクの障害発生以前の状態に復元する。
http://www.it-license.com/Database/Images/RollForward.gif
www.it-license.com

データベースの更新中に何らかの障害が発生した場合、データを障害発生の直前の記録までさかのぼり、そこから処理をあらためて開始することである。
www.weblio.jp

「よし、その障害は起きなかったことにしよう!」なデータベースの復元作業のこと。
http://wa3.i-3-i.info/img/data/1100/d001148-18.png
http://wa3.i-3-i.info/img/data/1100/d001148-19.png
http://wa3.i-3-i.info/img/data/1100/d001148-20.png
http://wa3.i-3-i.info/word11148.html

おわりに

このぺーじでは、理解できる説明をかき集めています。
さるでも理解できるようにいろんな説明をしてくれているサイト様に感謝感謝です。