Dificultad: Intermedio
Tiempo de lectura: 25 minutos
Última actualización: 31 de agosto de 2025
Por qué importan los árboles en bases de datos
Cuando hablamos de recuperar datos con eficiencia en bases de datos, una estructura sobresale una y otra vez: el árbol B+. Para apreciar su potencia conviene entender primero la idea de árbol en ciencias de la computación y cómo se usa para organizar datos, reducir accesos a disco y permitir búsquedas y rangos de forma muy rápida.
1. Árboles
Un árbol es una estructura jerárquica formada por nodos conectados por aristas. Tiene un nodo raíz en la parte superior, nodos hijos debajo y ninguna clase de ciclos. Entre dos nodos hay exactamente un camino. Esta jerarquía permite almacenar información ordenada y balanceada, logrando operaciones de búsqueda, inserción y borrado en tiempo cercano a logarítmico cuando el árbol está bien equilibrado.
Terminología esencial
Raíz: nodo superior que no tiene padre. Hoja: nodo sin hijos. Nivel: número de aristas desde la raíz hasta el nodo. Profundidad: igual que el nivel si contamos la raíz como nivel cero. Altura: número de aristas en el camino más largo desde un nodo hasta una hoja; la altura del árbol es la altura de la raíz.
Nivel, profundidad y altura
La profundidad de un nodo cuenta aristas desde la raíz hasta el nodo. El nivel es la posición desde arriba y suele coincidir con la profundidad si la raíz es el nivel 0. La altura cuenta aristas desde el nodo hacia abajo hasta una hoja. En práctica, usa profundidad para algoritmos y nivel para representación visual, manteniendo un criterio consistente de conteo.
2. Grafos
Un grafo es una estructura más general con vértices y aristas, que puede tener ciclos, múltiples caminos entre nodos y direcciones en las aristas. Todo árbol es un grafo sin ciclos y con un único camino entre pares de nodos, pero no todo grafo es un árbol.
Árbol vs grafo en una frase: el árbol es jerárquico, sin ciclos y con un solo camino entre nodos; el grafo puede tener ciclos, varios caminos y no necesariamente raíz.
3. Árbol binario
En un árbol binario cada nodo tiene como máximo dos hijos, izquierdo y derecho. Es útil para ordenar y buscar datos. Propiedades clásicas: a nivel k puede haber hasta 2^k nodos; con altura h puede haber hasta 2^(h+1) - 1 nodos. Los recorridos típicos son preorder, inorder, postorder y por niveles; el inorder en un árbol de búsqueda binaria produce una secuencia ordenada.
Representación en memoria
Se implementa usualmente con nodos enlazados mediante referencias a hijo izquierdo, hijo derecho y opcionalmente padre. No ocupa memoria contigua como un arreglo.
Tipos comunes
Completo y perfecto cuando los niveles están llenos y las hojas al mismo nivel; lleno cuando cada interno tiene 0 o 2 hijos; degenerado o sesgado cuando cada padre tiene un solo hijo formando una especie de lista; balanceado cuando la diferencia de alturas entre subárboles es pequeña.
Árbol de búsqueda binaria BST
En un BST, las claves del subárbol izquierdo son menores que la del nodo y las del derecho mayores. Sin duplicados por defecto. Búsqueda, inserción y borrado son O(log n) en promedio si está balanceado, pero pueden degradar a O(n) en el peor caso si se desbalancea.
Desbalanceado, balanceado y auto balanceado
Un árbol desbalanceado puede degenerar y tener altura lineal, perjudicando el rendimiento. Un árbol balanceado mantiene alturas de subárboles próximas para asegurar tiempos O(log n). Los auto balanceados corrigen su forma tras inserciones y borrados con rotaciones u otras reglas. Ejemplos binarios: AVL y Rojo Negro. Ejemplos multiway: B tree y B+ tree, usados ampliamente en sistemas de archivos y bases de datos. Splay es autoajustable por accesos frecuentes.
4. B tree
Un B tree es un árbol de búsqueda de múltiples vías y auto balanceado, optimizado para leer y escribir bloques grandes en disco. Generaliza el BST permitiendo que cada nodo tenga varias claves y más de dos hijos. Sus nodos más anchos reducen la altura, minimizando I O de disco y mejorando el uso de caché.
Ventajas clave
Altura baja de forma garantizada, búsqueda logarítmica, gran afinidad con almacenamiento en disco y soporte natural de orden y recorridos por rango, algo que no ofrecen por diseño las tablas hash.
Reglas básicas de un B tree de orden m
Cada nodo tiene como máximo m hijos y hasta m menos 1 claves. Excepto la raíz, cada nodo tiene al menos techo de m dividido por 2 hijos y al menos techo de m dividido por 2 menos 1 claves. Las claves dentro de un nodo están ordenadas. Un nodo con k claves tiene k más 1 hijos. Todas las hojas están al mismo nivel. El rebalanceo se logra mediante dividir y fusionar nodos y eventualmente promover o tomar prestadas claves.
Ejemplo conceptual de inserción en orden 3
Insertar 10 y 20 llena la hoja con dos claves. Insertar 30 causa división, se promueve 20 a la raíz y quedan hojas 10 y 30. Insertar 40 y 50 llena y divide la hoja derecha, promoviendo 40 a la raíz. Insertar 55 y 60 puede causar divisiones encadenadas que suben hasta la raíz, la cual se divide si excede su capacidad; la altura crece hacia arriba manteniendo las hojas a la misma profundidad.
Operaciones
Buscar baja comparando claves en el nodo y eligiendo el hijo adecuado hasta llegar a hoja, en O(log n). Borrar puede requerir reemplazar por predecesor o sucesor y arreglar déficits mediante préstamo o fusión para mantener mínimos y altura.
5. B+ tree
Un B+ tree comparte las reglas estructurales de un B tree con diferencias cruciales para acelerar consultas y recorridos por rango. En un B+ tree, los nodos internos contienen solo claves de enrutamiento y punteros a hijos, mientras que todos los datos residen únicamente en las hojas. Además, las hojas están enlazadas secuencialmente para facilitar los escaneos ordenados.
Diferencias B tree vs B+ tree
En B tree las claves y datos pueden vivir en nodos internos y hojas. En B+ tree los nodos internos solo guardan claves y punteros, y los registros completos viven en las hojas. En B+ tree el resultado de una búsqueda siempre se resuelve en hoja y las hojas están enlazadas, acelerando las consultas por rango. En divisiones se promocionan claves de enrutamiento, los datos permanecen en hojas.
Por qué usar B+ tree
Es ideal para índices de bases de datos. Al reducir el tamaño de nodos internos entran más claves por página, disminuyendo lecturas de disco. Los recorridos por rango son muy eficientes gracias al enlace entre hojas. Motores como InnoDB y sistemas de archivos como NTFS o XFS utilizan variantes de B+ tree.
Estructura
Hojas con pares clave dato y punteros siguientes anteriores para recorrido ordenado. Internos con claves guía que definen rangos, sin datos. Todas las hojas al mismo nivel para asegurar tiempos predecibles.
Reglas en orden m
Mismas cotas máximas y mínimas que el B tree en número de claves e hijos. Diferencia clave: los internos no almacenan datos y las hojas sí, además las hojas se enlazan entre sí.
Inserción paso a paso en orden 3
Insertar 10 y 20 en una hoja. Insertar 30 divide la hoja y promueve 20 al nuevo interno. Insertar 40 divide la hoja derecha promoviendo 30, el interno queda con 20 y 30. Insertar 50 puede provocar división de hoja y del interno, promoviendo 40 a la raíz. Insertar 55 y 60 provoca nuevas divisiones en hojas y quizá en un interno que promueve 50 a la raíz. El resultado final es un árbol balanceado con internos de solo claves y una cadena de hojas ordenadas por 10 20 30 40 50 55 60.
Búsqueda y rangos
Buscar 30 baja por internos hasta la hoja que contiene 30 y termina allí en O(log n). Una consulta por rango 30 a 50 localiza 30 en su hoja y luego recorre las hojas enlazadas recolectando 40 y 50 en un único pase, sin reinicios ni subidas al interno.
6. Conclusión
Los árboles son la base del rendimiento moderno en almacenamiento y bases de datos. Los BST introducen orden, pero pueden desbalancearse. AVL y Rojo Negro garantizan balance en memoria. B tree dio el salto a disco con nodos anchos y bajo número de niveles. B+ tree optimiza el mundo real separando datos y claves, priorizando hojas enlazadas y manteniendo una altura pequeña para búsquedas y rangos consistentes y previsibles.
Cuando ejecutas una consulta SQL de rango, el índice basado en B+ tree permite ubicar el primer valor y recorrer secuencialmente el resto, minimizando I O, manteniendo latencias bajas y escalando a millones de entradas con tiempos logarítmicos.
7. Puntos clave
Árboles ofrecen jerarquía y búsqueda más rápida que estructuras lineales. Un BST ordena, pero puede degradar si no se balancea. Árboles balanceados binarios garantizan O(log n) en memoria. B tree generaliza al almacenamiento en disco con múltiples claves por nodo. B+ tree mejora aún más al guardar datos solo en hojas e internamente usar claves de enrutamiento, enlazando hojas para recorridos por rango eficientes. Por ello se usa en motores de bases de datos y sistemas de archivos.
8. Referencias y lectura recomendada
Introducción a Algoritmos de Cormen Leiserson Rivest y Stein. Materiales sobre árboles binarios, B tree y B+ tree de sitios académicos y documentación de motores de bases de datos.
Sobre Q2BSTUDIO
En Q2BSTUDIO diseñamos y construimos soluciones de software a medida y aplicaciones a medida con arquitecturas de datos que aprovechan B tree y B+ tree en motores transaccionales y analíticos. Integramos inteligencia artificial e ia para empresas, agentes IA, servicios inteligencia de negocio y power bi, además de ciberseguridad y pentesting, para crear plataformas robustas, seguras y escalables. Si buscas acelerar tus productos digitales con un backend optimizado y un front moderno, conoce nuestro servicio de desarrollo de aplicaciones y software a medida. Si tu prioridad es disponibilidad, elasticidad y costes predecibles, desplegamos y operamos cargas en la nube con servicios cloud en AWS y Azure, aplicando buenas prácticas de observabilidad, seguridad y rendimiento.
Nuestro equipo combina arquitectura de datos, MLOps, ciberseguridad, automatización de procesos, analítica avanzada y experiencia de usuario para entregar soluciones end to end. Palabras clave que nos definen: aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA y power bi.
Autoría original
Artículo reescrito y traducido al español a partir de una guía técnica sobre árboles, B tree y B+ tree. Créditos de inspiración académica a obras clásicas de algoritmos y recursos formativos abiertos.