A B-tree is a tree data structure that keeps data sorted and allows searches, sequential access, insertions, and deletions in logarithmic time. The key properties of a B-tree are that non-leaf nodes can have between m/2 to m children, leaf nodes have at most m-1 keys, and all leaves are at the same depth. An example 5-order B-tree is shown containing 26 keys partitioned among nodes. Insertion may cause leaf node splitting and splitting can propagate up the tree, requiring new root nodes. Deletion removes keys from leaves or replaces with predecessors/successors. The maximum number of keys in an order m, height h B-tree is mh+1