Introduction to Lock Management and Lock Conversions - Database Management Systems

Database Management Systemsの16章。

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

  • Lock の管理は Lock Manager が行う
    • lock table を保持する
  • Lock table
    • key : Lock する Object の ID
    • value : lock entry
  • Lock entry
  • Lock conversions
    • upgrade / downgrade がある
  • upgrade
    • update 時に
      • 1. relation を shared lock
      • 2. where にマッチするものを exclusive lock (ロックが upgrade する)
    • デッドロックがおきやすく。スループットが下がる
  • downgrade
    • 1. relation を exclusive lock
    • 2. where にマッチするもの以外を shared lock に(ロックが downgrade する)
    • 直感的には concurrency が下がりまずそうだが、デッドロックが防げる事でスループットは上がるらしい
    • 商用データベースでもこちらがよく使われる
    • 2PL に違反している

所感

  • lock conversions 面白い。全くそういう発想をもっていなかった。