Database Management Systemsの16章。
デッドロックの検出
デッドロックを防ぐ
- 2 つの方法
- トランザクション優先度
- 例えば timestamp を優先度にする
- 2つのポリシのどちらかを守ればデッドロックは発生しない
- ポリシ1: wait die
- 自分の優先度が高いなら wait できる
- そうでないなら abort
- ポリシ2: wound wait
- 自分の優先度が高いなら相手を abort
- そうでないなら wait
所感
- wait die や wound wait 面白いね。