B-link Tree
Lehman & Yao によってEfficient locking for concurrent operations on B-treesにて提案された手法で、B+ treeと違いリーフノード以外のノードも右隣のノードへのポインタを持つ
B+Treeの課題
B+Treeのスプリット操作時に読み取りが起きると、検索対象のノードにたどり着けないことがある
リーフノードへキー追加時にノードの空きスペースが足りない場合、ノードをスプリットをしてスペースを確保する必要がある。またキーが削除されてノードがスカスカになった場合は逆にノードをマージしてスペースを節約する必要がある。
これを防ぐために、ルートからリーフへとツリーを辿る際に経路上の全ノードのラッチを獲得していくことで、並行アクセス時にツリーを保護する
このラッチを削減することで並列、並行処理の性能を上げる目的
入門 B-link tree