Summary
Binary search trees work well in memory but perform badly on disk, where every node visited can cost a separate I/O. Bayer and McCreight wanted an index that stays efficient for large files on secondary storage and remains balanced as keys are inserted and deleted.
They introduced the B-tree: a balanced tree whose nodes are sized to a disk page and hold many keys. Because the fan-out is high, the tree stays shallow, so a lookup touches only a few pages. Insertions split full nodes and deletions merge or redistribute them, which keeps every leaf at the same depth.
Almost every relational database uses a variant of this structure, usually the B+ tree, where values live only in the leaves and leaves are linked for range scans. Page size, fan-out and split behaviour remain central tuning concerns in storage engines today.
