A Solution: B-Trees
Idea 1: Use m-way search trees.
(ISAM uses a root and one level under the root.)
m-way search trees can be as high as we need.
Idea 2: Don’t require that each node always be full. Empty space will permit insertion without rebalancing. Allowing empty space after a deletion can also avoid rebalancing.
Idea 3: Rebalancing will sometimes be necessary: figure out how to do it in time proportional to the height of the tree.