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

Wound-Wait方式

Wound-Wait Scheme

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

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

共有:

Related

他の資格での定義

Related

関連キーワードの用語

APWait-Die方式

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

AP専有ロック

トランザクションがデータを更新する際に取得するロック。排他ロックとも呼ばれ、他のトランザクションはそのデータの読取りも更新もできなくなる。共有ロックとも排他的であり、書込み時のデータ整合性を保証する。

AP共有ロック

トランザクションがデータを読み取る際に取得するロック。他のトランザクションも同時に共有ロックを取得して読取りが可能だが、専有ロック(更新)は取得できない。読取り時のデータの一貫性を保証する。

AP2相ロッキングプロトコル

トランザクションがロックを扱う期間を、ロックを獲得するだけの拡張相と、解放するだけの縮小相の2つに分ける規約。一度ロックを解放したら、そのトランザクションは新たなロックを獲得しない。すべてのトランザクションがこれに従えば直列化可能性が保証されるが、デッドロックは防げない。

APロック粒度

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

DBロック

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