IT用語帳
PD-Sデータベース · トランザクション処理

Wound-Wait方式

Wound-Wait Scheme

うーんどうぇいとほうしき

トランザクションの開始時刻印(タイムスタンプ)を使ってデッドロックを予防する方式。ロックを要求したトランザクションが、ロックを持つトランザクションより古ければ相手をロールバックさせてロックを得て(Wound)、新しければ待つ(Wait)。Wait-Die方式とは逆に新しいものだけが古いものを待つので待ちの閉路ができず、古いトランザクションは待たされない。

共有:

Related

他の資格での定義

Related

関連キーワードの用語

PD-SWait-Die方式

トランザクションの開始時刻印(タイムスタンプ)を使ってデッドロックを予防する方式。ロックを要求したトランザクションが、ロックを持つトランザクションより古ければ待ち(Wait)、新しければ自らロールバックして(Die)、元の時刻印のまま後で再実行する。古いものだけが新しいものを待つので待ちの閉路ができず、再実行を繰り返してもいずれ最も古いトランザクションになって処理が進む。

PD-S2相ロッキングプロトコル

各トランザクションが、ロックを獲得するだけのロック拡張相と、解放するだけのロック縮小相の2つに分けてロックを扱う規約。一度ロックを解放したら、新たなロックは獲得しない。すべてのトランザクションが従えば直列化可能性が保証されるがデッドロックは防げず、ロックをコミットまで保持する厳格な2相ロッキングにすると、未確定のデータを読んだことによる連鎖的なロールバックも防げる。

FE専有ロック

データの更新時に使用するロック。ロック中は他のトランザクションからの読取りも書込みも禁止される。書込みロックとも呼ばれ、データの一貫性を確保する。

FE共有ロック

データの読取り時に使用するロック。ロック中は他のトランザクションからの読取りは許可されるが、書込みは禁止される。読取りロックとも呼ばれる。

APロック粒度

ロックを掛ける対象となるデータの単位。データベース全体、表、ページ、行などがある。粒度を細かくするほど同時に実行できるトランザクションは増えるが、管理するロックの数が増えて負荷が大きくなる。粗くすると管理は楽になるが、待ちが増えて同時実行性が下がる。

DBロック

トランザクションがデータにアクセスする前に、他のトランザクションのアクセスを制限するための仕組み。共有ロック(読取り用)と占有ロック(更新用)がある。