Built for blocks
A B tree is a balanced search tree where each node holds many keys and has many children. By packing a whole disk block worth of keys into one node, it minimizes the number of slow disk reads needed to find a key. A tree of order m lets each node hold up to m minus one keys.
Staying balanced
All leaves sit at the same depth. When a node overflows on insert, it splits, pushing its middle key up to the parent. When a node underflows on delete, it borrows from a sibling or merges. Splits and merges keep every node at least half full.
The B plus tree variant
A B plus tree stores all actual records only in the leaves and uses internal nodes purely as a routing index of copied keys. The leaves are chained in a linked list, which makes range scans trivial: find the start key, then walk the leaf chain. Most relational databases index with B plus trees for exactly this reason.
Key idea
Wide nodes cut disk reads, and the B plus tree's leaf linked list turns range queries into a simple sequential walk.