B-trees are a type of self balancing search tree where each node can hold multiple keys and all leaf nodes are the same distance from the root.