Wait-Die方式
Wait-Die Scheme
うぇいとだいほうしき
トランザクションの開始時刻印を使ってデッドロックを予防する方式。ロックを要求したトランザクションが、ロックを持つトランザクションより古ければ待ち(Wait)、新しければ自らロールバックして(Die)、同じ時刻印のまま後で再実行する。古いものだけが新しいものを待つので待ちの閉路ができず、時刻印を保つため再実行を繰り返してもいずれ最古になり処理が進む。
Related
他の資格での定義
トランザクションの開始時刻印(タイムスタンプ)を使ってデッドロックを予防する方式。ロックを要求したトランザクションが、ロックを持つトランザクションより古ければ待ち(Wait)、新しければ自らロールバックし(Die)、同じ時刻印のまま後で再実行する。古いものだけが新しいものを待つので、待ちの閉路ができない。
トランザクションの開始時刻印(タイムスタンプ)を使ってデッドロックを予防する方式。ロックを要求したトランザクションが、ロックを持つトランザクションより古ければ待ち(Wait)、新しければ自らロールバックして(Die)、元の時刻印のまま後で再実行する。古いものだけが新しいものを待つので待ちの閉路ができず、再実行を繰り返してもいずれ最も古いトランザクションになって処理が進む。
Related
関連キーワードの用語
トランザクションの開始時刻印を使ってデッドロックを予防する方式。ロックを要求したトランザクションが、ロックを持つトランザクションより古ければ相手をロールバックさせてロックを奪い(Wound)、新しければ待つ(Wait)。Wait-Die方式とは逆に、新しいものだけが古いものを待つので閉路ができず、古いトランザクションは待たされない。
トランザクションによる更新を、すべて確定する(コミット)か、すべて取り消す(ロールバック)かのどちらかにして、原子性を保証する制御。障害が起きても途中までの更新が残らないようにする。複数のサイトにまたがる分散データベースでは、2相コミットメントなどのプロトコルで全サイトの確定・取消しをそろえる。
複数のトランザクション(プロセス)が、互いに相手が確保している資源の解放を待ち続け、どれも処理を進められなくなる状態。DBMSは待ちグラフに閉路ができたことでこれを検出し、いずれかのトランザクションをロールバックして解消する。予防策には、資源を確保する順序をそろえる、Wait-Die方式やWound-Wait方式のように時刻印で待つか中止するかを決めるといった方法がある。
トランザクションの異常終了やシステム障害のときに、ジャーナルファイルの更新前情報を使って、完了していないトランザクションの更新を取り消し、トランザクション開始前の状態に戻す回復方法。システム障害からの再始動では、チェックポイント以降にコミットされたものはロールフォワードし、未完了のものはロールバックする。
変更が失敗した場合に、変更前の状態にシステムを復旧させるための手順書。すべての変更に対して事前に策定しておくことが求められ、変更のリスク軽減策として重要である。
