スケーラブルデータベースサーバ HiRDB Version 8 解説(UNIX(R)用)

[目次][用語][索引][前へ][次へ]

6.7 ディレードリラン

HiRDBでは,ディレードリランという回復処理によって,システム障害が発生したときの,トランザクション処理の停止時間を短縮します。データベースに障害が発生した場合,HiRDBはシステムログファイルを利用して,直前のシンクポイントから障害発生時点までの更新処理を再実行します。このとき,障害発生時にデータベースを更新中だったトランザクションは,いったん障害発生時点まで再実行(ロールフォワード処理)され,その後データベースはその更新処理の実行前の状態に戻されます(ロールバック処理)。

HiRDBは,障害発生時に更新中だったディスク内のデータに対してロールバック処理を実行しますが,ロールバック処理の対象外のデータに対しては,新規のトランザクションを受け付けます。これによって,システムとしてのトランザクション処理の停止時間を短縮します。ディレードリランの概念を次の図に示します。

図6-10 ディレードリランの概念

[図データ]

〔説明〕
ディスク1のデータベースに対するトランザクションBの途中及びディスク2に対するトランザクションCの終了後に,障害が発生しています。そのため,直前のシンクポイント以降に実行されたトランザクションA,B,Cがロールフォワードされています。
その後,障害発生時に実行の途中だったトランザクションBはロールバックされています。また,ディスク2のデータベースに対するトランザクションはロールバック対象外であるため,新規のトランザクションを受け付けています。