Suppose that a tree is too big to be kept in memory, and thus must
be kept on a disk. A disk has large capacity (e.g. a terabyte,
1012 bytes) but slow access (e.g. 10 milliseconds). A computer
can execute millions of instructions in the time required for
one disk access.
We would like to minimize the number of disk accesses required to get
to the data we want. One way to do this is to use a tree with a very
high branching factor.
- Every interior node (except the root) has between m / 2 and m
children. m may be large, e.g 256, so that an interior node fills
a disk block.
- Each path from the root to a leaf has the same length.
- The interior nodes, containing keys and links, may be a different
type than the leaf nodes.
- A link is a disk address.
- The real data (e.g. customer record) is stored at the leaves;
this is sometimes called a B+ tree. Leaves will have between
l / 2 and l data items.