B-trees are balanced search trees that allow for more than two children per node. They are optimized for storage on disk drives. B-trees maintain the property that all leaf nodes are at the same depth. Nodes can contain a minimum of t-1 and a maximum of 2t-1 keys, where t is the minimum degree of the tree. Deleting a key from a B-tree involves either simply removing the key if the node has sufficient remaining keys, or merging and splitting nodes to maintain the minimum node size of t-1 keys.