A medida que tu aplicación crece, tu base de datos puede convertirse en un cuello de botella de tu sistema si no cuentas con la infraestructura o las modificaciones adecuadas. Cuando el tráfico aumenta de forma repentina, los ingenieros suelen tener que tomar una decisión difícil: ¿deberían hacer que su servidor actual sea más potente o añadir más servidores? Esta guía explica la diferencia entre el escalado horizontal y el vertical, las ventajas y desventajas de cada uno y cómo elegir el enfoque adecuado para tus necesidades.
El escalado de bases de datos es el proceso mediante el cual se aumenta la capacidad, el rendimiento y la disponibilidad de un sistema. Permite que tu base de datos pueda admitir más datos y se adapte a un número creciente de usuarios.
En el sector, los expertos usan dos términos principales para referirse a este proceso. El escalado vertical es "escalar hacia arriba", mientras que el escalado horizontal es "escalar hacia afuera". Comprender estas dos rutas es el primer paso para crear un sistema de datos fiable.
El escalado vertical, también conocido como escalado hacia arriba, consiste en añadir más potencia a tu servidor actual. Mantienes el mismo nodo de la base de datos, pero le asignas más CPU, memoria o almacenamiento para que pueda hacer su trabajo.
Suele considerarse la forma tradicional de escalar bases de datos relacionales. La arquitectura sigue siendo sencilla, porque todos tus datos siguen estando en un solo lugar.
Ventajas
Retos
Los servicios de bases de datos gestionados, como Cloud SQL, pueden facilitar el escalado vertical, ya que permiten cambiar el tamaño de la máquina con solo unos clics. Sin embargo, es importante recordar que es posible que sigas topándote con los límites del hardware físico.
Pequeña escala: imagina una empresa emergente que está creciendo rápidamente y lleva una aplicación web con una sola base de datos. Cuando el tráfico empieza a aumentar, pueden pasarse a una instancia más grande, lo que a su vez les dará más potencia de computación para gestionar el aumento de visitantes sin necesidad de reescribir el código de la aplicación.
Nivel empresarial: una gran empresa con un sistema antiguo también puede escalar verticalmente. Estos sistemas suelen basarse en relaciones complejas entre los datos. Como su código está diseñado para una sola base de datos, pueden escalar verticalmente añadiendo más potencia a esa máquina en lugar de intentar pasarse a un sistema distribuido.
Necesidades internas: algunas empresas también utilizan el escalado vertical para la generación de informes internos. Pueden añadir más RAM al servidor de su base de datos principal para que pueda procesar consultas grandes y que consumen muchos recursos más rápido sin ralentizar la experiencia de los usuarios normales.
El escalado horizontal, o escalado hacia afuera, consiste en añadir más máquinas a tu sistema de bases de datos en lugar de hacer que una máquina sea más potente, lo que distribuye el trabajo entre un grupo de servidores. Es un concepto fundamental en el cloud computing moderno y en los sistemas distribuidos.
Para ello, los ingenieros utilizan técnicas como la fragmentación, que consiste en dividir los datos en fragmentos más pequeños en diferentes servidores, y la replicación, que consiste en copiar los datos en varios nodos.
Ventajas
Retos
Una base de datos SQL distribuida como Spanner puede ayudarte a gestionar estos retos. Spanner se encarga de sincronizar los datos entre varias máquinas, por lo que no tienes que dividirlos manualmente ni perder la seguridad de una base de datos relacional. Esto te permite escalar horizontalmente sin que tu sistema sea demasiado complejo.
Capacidad: una plataforma de comercio electrónico global puede usar el escalado horizontal durante grandes eventos de rebajas. Cuando millones de personas visitan tu sitio a la vez, el sistema puede reequilibrar automáticamente los datos en nuevos nodos para gestionar el tráfico, lo que garantiza que ningún servidor se sature.
Redundancia: las aplicaciones financieras esenciales a veces también usan el escalado horizontal. Pueden distribuir su base de datos en varias ubicaciones físicas, conocidas como zonas de disponibilidad. Esta configuración ayuda a garantizar que, si un centro de datos tiene un problema, la aplicación siga funcionando, cumpliendo la promesa de mantener la coherencia de los datos.
Proximidad: una empresa de videojuegos internacional podría desplegar nodos de bases de datos en distintas partes del mundo. Al colocar un nodo de la base de datos más cerca del jugador, puede ofrecer una experiencia rápida y fluida con muy poca latencia. Por ejemplo, si un jugador vive en Tokio, los datos de su perfil se almacenan en un nodo de la base de datos de Tokio para que las lecturas y escrituras sean ultrarrápidas.
Cuando hablamos del escalado en la nube, el escalado vertical consiste en aumentar el tamaño de la máquina virtual que aloja tu base de datos. El escalado horizontal consiste en añadir más instancias de máquinas a un grupo de autoescalado o a un clúster distribuido.
Algunas empresas utilizan una combinación de ambos métodos, lo que se denomina escalado diagonal. En este caso, se añaden más nodos a un sistema (escalado horizontal) y se mejora la capacidad del hardware (escalado vertical). Las grandes empresas pueden usar esta opción para disfrutar de lo mejor de ambos mundos, asegurándose de que su base de datos tenga una alta disponibilidad y la potencia suficiente para tareas locales complejas.
Sí. Aunque tradicionalmente era difícil, las bases de datos SQL distribuidas modernas, como Spanner, usan una sincronización de reloj avanzada y protocolos inteligentes para hacer posible el escalado horizontal y, al mismo tiempo, mantener tus datos organizados y precisos.
Presta atención a las señales de advertencia, como un uso elevado de la CPU o de la memoria, tiempos de consulta lentos y un aumento de la latencia para los usuarios durante las horas de mayor actividad. Todas estas son señales de que tu base de datos actual podría estar teniendo dificultades para seguirte el ritmo.
La principal diferencia entre el escalado horizontal y el vertical es cómo añaden recursos a tu sistema. El escalado vertical aumenta la potencia de una máquina, mientras que el escalado horizontal añade más máquinas a tu red.
Función | Escalado vertical | Escalado horizontal |
Concepto | Añadir recursos a una máquina | Añade más máquinas a la red |
Capacidad | Límites de hardware estrictos | Prácticamente ilimitado |
Inactividad | Suele requerir un periodo de inactividad | Sin periodos de inactividad (los nodos se añaden de forma dinámica) |
Complejidad | Menor (arquitectura sencilla) | Mayor (requiere lógica distribuida) |
Coste | Costes más altos para hardware de gran tamaño | Escalado lineal con máquinas estándar |
Función
Escalado vertical
Escalado horizontal
Concepto
Añadir recursos a una máquina
Añade más máquinas a la red
Capacidad
Límites de hardware estrictos
Prácticamente ilimitado
Inactividad
Suele requerir un periodo de inactividad
Sin periodos de inactividad (los nodos se añaden de forma dinámica)
Complejidad
Menor (arquitectura sencilla)
Mayor (requiere lógica distribuida)
Coste
Costes más altos para hardware de gran tamaño
Escalado lineal con máquinas estándar
Hay varias ideas obsoletas sobre las bases de datos SQL y NoSQL que aún circulan por el sector. Gran parte de la dificultad de escalar las bases de datos SQL tradicionales se ha centrado en cómo gestionan las uniones y la coherencia de los datos. Distribuir una base de datos relacional entre muchos servidores puede ser un reto técnico, pero las soluciones distribuidas modernas han resuelto muchos de estos problemas, lo que permite a los desarrolladores escalar SQL horizontalmente sin perder las funciones relacionales que necesitan. A continuación, te mostramos tres ideas equivocadas comunes y la verdad que esconden:
Realidad: Sí se puede. Mientras que los diseños relacionales más antiguos favorecían el escalado vertical, los sistemas SQL distribuidos modernos permiten que las bases de datos relacionales abarquen varias máquinas. Este enfoque combina la coherencia de SQL con la capacidad de crecimiento horizontal de la arquitectura de nube moderna.
Verdad: NoSQL es eficaz para conjuntos de datos masivos y no estructurados, pero las bases de datos SQL suelen ser mejores para consultas complejas y estructuradas. En muchos casos, una base de datos SQL bien ajustada supera a NoSQL si tu aplicación se basa en relaciones profundas entre puntos de datos.
Verdad: no tienes que elegir. Los patrones de arquitectura modernos te permiten escalar tu sistema en muchas máquinas y, al mismo tiempo, mantener reglas estrictas de seguridad de los datos, lo que se conoce como cumplimiento de ACID, en todo el clúster.
A la hora de decidir cómo quieres escalar tu base de datos, la elección suele depender de tu presupuesto, de la cantidad de datos que tengas y del tiempo de actividad que necesites. El consejo habitual es el siguiente:
Google Cloud ofrece una serie de herramientas de bases de datos que se adaptan a tu estrategia de escalado. Estos productos pueden ayudarte tanto si necesitas la sencillez del escalado vertical como la potencia de alta capacidad del escalado horizontal.


Empieza a crear en Google Cloud con 300 USD en crédito gratis y más de 20 productos Always Free.