9 - Comparación entre árboles B y B+

Ambas variantes mantienen baja la altura y optimizan el acceso por bloques, pero difieren en dónde almacenan las claves, cómo resuelven búsquedas y qué patrones de acceso favorecen en sistemas reales.

9.1 Almacenamiento de claves

  • B-Tree: claves y punteros a datos pueden vivir tanto en internos como en hojas.
  • B+ Tree: todas las claves y datos están en hojas; los internos solo enrutan.
  • La separación en B+ eleva el fan-out efectivo y reduce la altura.
  • En disco, menos claves por página implica más lecturas; B+ mitiga esto al dejar nodos internos más ligeros.

9.2 Calidad de las búsquedas

  • B-Tree: la clave puede encontrarse antes de llegar a una hoja.
  • B+ Tree: siempre desciende a hoja; menos variabilidad y mejor cacheo por bloques.
  • Para rangos, B+ aprovecha hojas enlazadas y evita reingresar a internos.
  • Las búsquedas puntuales tienen costo similar en ambos (O(h)), pero el B+ suele tener menor h gracias al fan-out mayor.

9.3 Rendimiento en sistemas de archivos

  • Los B+ dominan en árboles de directorios (ext4, NTFS) porque maximizan el fan-out.
  • Las hojas enlazadas aceleran listados ordenados y recorridos de bloques contiguos.
  • B-Tree puro puede usarse en catálogos pequeños, pero escala peor en disco.
  • En almacenamiento rotacional, menos saltos de disco equivalen a menos latencia; el B+ reduce seeks al agrupar datos en hojas secuenciales.

9.4 Rendimiento en índices de bases de datos

  • Los índices B+ permiten range scans eficientes y buen clustering de páginas.
  • La altura baja (2–4 niveles) reduce IO aleatorio en consultas OLTP.
  • B-Tree clásico es menos común; algunos motores lo reservan para estructuras auxiliares.
  • En OLAP, el B+ facilita lecturas secuenciales extensas; en OLTP, favorece claves primarias y secundarias con alta selectividad.
  • Las operaciones de mantenimiento (split/merge) se localizan en hojas y afectan menos páginas de índice superiores.

9.5 Tabla comparativa

Aspecto Árbol B Árbol B+
Claves en internos Sí (y datos) Solo claves de separación
Claves en hojas Sí (todas las claves/datos)
Altura típica Baja Igual o menor (mayor fan-out)
Range scan Requiere descensos Lineal con hojas enlazadas
Uso típico Estructuras mixtas Índices y FS orientados a disco