A b-tree is a balanced, multi-way search tree that assumes its data is stored on disk.
The b-tree structure is designed to minimize the number of disk accesses by storing
data in a broad, short tree and reading each node in one gulp.
Each b-tree node (excluding the root) contains at least t -1 and at most 2 t
-1 keys (and their associated values) (where t is the "minimization
factor") in non-decreasing order.