Dealing with Deadlocks - Database Management Systems

Database Management Systemsの16章。

マインドマップから再構成したまとめ

デッドロックの検出

デッドロックを防ぐ

  • 2 つの方法
  • トランザクション優先度
    • 例えば timestamp を優先度にする
    • 2つのポリシのどちらかを守ればデッドロックは発生しない
  • ポリシ1: wait die
    • 自分の優先度が高いなら wait できる
    • そうでないなら abort
  • ポリシ2: wound wait
    • 自分の優先度が高いなら相手を abort
    • そうでないなら wait

所感

  • wait die や wound wait 面白いね。