Concurrency Control in B+ Tree - Database Management Systems
Database Management Systemsの16章。
マインドマップから再構成したまとめ
Concurrency Control in B+ Tree
- naive な実装ではページ単位でロックを行う
- root に近い場所で競合が発生する
- ではどうする?
- Search
- 基本は検索経路のページに Shared Lock をかける
- 1つ下の node のロックが獲得できたら、現在の位置のロックは解放できる
- Search で上のページに戻る事はないから。
- Insert
- 保守的な方法は、経路を全て Exclusive Lock。
- それではあんまりなので Lock Coupling を使う
- 1つ下の Node をロックし、下の Node が full でないならば自分の Lock を解放する
- full でなければ、自分の Node に書き込みは発生しないから
所感
- B+ Tree をまじめに勉強したので簡単に理解できた。万歳。