Overview of Lab 5: B+ Tree Index
masterIn this lab, you are tasked with implementing a B+ tree index to enable efficient lookups and range scans. The project provides low-level infrastructure for the tree structure, while you are responsible for implementing the core logic:
- Searching: Locating keys within the tree.
- Splitting Pages: Handling node overflows during insertion.
- Redistributing Tuples: Moving data between pages to maintain balance.
- Merging Pages: Handling underflows during deletion.
B+ Tree Structure Details
- Internal Nodes: Contain multiple entries consisting of a key value and left/right child pointers. An internal node with m keys will have m+1 child pointers.
- Leaf Nodes: In this implementation, leaf pages contain the actual data entries.
- Sibling Pointers: Adjacent leaf pages are linked via left and right sibling pointers, allowing range scans to proceed by following these pointers after the initial search finds the starting leaf.