Trace Id is missing
Saltar al contenido principal

Escalado vertical frente a escalado horizontal

Introducción a la escalabilidad de las bases de datos en la informática en la nube.

Datos, datos por todas partes: de qué hablamos cuando hablamos de escalabilidad

La escalabilidad en la informática en la nube es la capacidad de aumentar o disminuir rápida y fácilmente el tamaño o la capacidad de una solución o un recurso de TI. Aunque el término “escalabilidad” puede hacer referencia a la capacidad de cualquier sistema para controlar una cantidad creciente de trabajo, cuando se habla de escalar vertical u horizontalmente, suele ser en referencia a bases de datos y grandes cantidades de datos.

La escalabilidad de las bases de datos es una prioridad para los desarrolladores de aplicaciones actuales. Imaginemos que surge una nueva aplicación cuya demanda aumenta de unos cuantos usuarios a millones de usuarios en todo el mundo. Una de las capacidades más importantes para ayudar a los desarrolladores de aplicaciones a seguir el ritmo de la demanda y minimizar el tiempo de inactividad es una capacidad de escalado eficaz.

Esta conversación sobre el escalado horizontal frente al escalado vertical se centra en las formas en las que la escalabilidad nos ayuda a adaptar y controlar el gran volumen y la gran variedad de datos, los volúmenes variables de los datos y los patrones cambiantes de las cargas de trabajo, todos generados en la nube, los dispositivos móviles, las redes sociales y los macrodatos.

Una mujer haciendo una presentación mientras otros le escuchan sentados en sillas

Escalado horizontal frente a escalado vertical

En el nivel más básico, la escalabilidad de las bases de datos se puede dividir en dos tipos:

Escalado o reducción vertical, donde se aumenta o reduce la capacidad de proceso o las bases de datos según la necesidad, ya sea cambiando los niveles de rendimiento o usando grupos de bases de datos elásticas para ajustar automáticamente la capacidad a la demanda de la carga de trabajo.

Escalado o reducción horizontal, donde se agregan más bases de datos o se divide una base de datos de gran tamaño en nodos más pequeños, mediante la creación de particiones de datos (sharding), que se pueden administrar de una forma más rápida y sencilla en varios servidores.

Escalado vertical

El escalado vertical se usa cuando es necesario reaccionar rápidamente para corregir un problema de rendimiento que no se puede resolver con las técnicas de optimización de bases de datos clásicas, como los cambios en las consultas o la indexación. El escalado vertical es útil para controlar los picos de actividad de las cargas de trabajo donde el nivel de rendimiento actual no puede satisfacer toda la demanda. El escalado vertical permite agregar más recursos para controlar fácilmente las cargas de trabajo máximas. Después, cuando los recursos ya no son necesarios, el escalado vertical permite volver al estado original y ahorrar costes en la nube.

Utiliza el escalado vertical en las siguientes situaciones:

Escalado horizontal

Los desarrolladores de aplicaciones empiezan a plantearse el escalado horizontal cuando no pueden obtener suficientes recursos para las cargas de trabajo, incluso cuando funcionan con el máximo nivel de rendimiento. Con el escalado horizontal, los datos se dividen en varias bases de datos, o particiones, en varios servidores, y cada partición se puede escalar o reducir verticalmente de forma independiente.

¿De qué forma mejora la escalabilidad la partición de los datos? Cuando se escala verticalmente una base de datos única agregando recursos, como máquinas virtuales, llega un momento en el que alcanza un límite de hardware físico. Puesto que las particiones de datos se hospedan en servidores diferentes, si divides los datos entre varias particiones, puedes escalar horizontalmente un sistema de forma casi ilimitada.

Algunos tipos de tecnologías de base de datos, especialmente las bases de datos no relacionales o bases de datos NoSQL, se desarrollan con características únicas para escalar horizontalmente los datos mediante el particionamiento o sharding de base de datos, que permite controlar datos de gran tamaño, no relacionados, indeterminados o que cambian rápidamente.

Además, algunos servicios de base de datos relacionales (SQL) que originalmente ofrecían servicios para escalar o reducir verticalmente las bases de datos empiezan a ofrecer opciones interesantes para igualar las ventajas de escalabilidad de las bases de datos no relacionales. Los servicios de hiperescala, como Hiperescala de Microsoft Azure SQL Database e Hiperescala de Azure Database for PostgreSQL, permiten a los usuarios escalar rápidamente el almacenamiento hasta 100 TB, proporcionan una arquitectura flexible y nativa de nube que permite aumentar el almacenamiento según la necesidad, realizar copias de seguridad casi instantáneas y restaurar las bases de datos en solo unos minutos.

Utiliza el escalado horizontal en las siguientes situaciones:

Escalado automático

El escalado automático es el proceso de ampliar o reducir los recursos de forma automática y dinámica para satisfacer los requisitos de rendimiento de un sistema. A medida que crece el volumen de trabajo, es posible que las aplicaciones necesiten más recursos para mantener los niveles de rendimiento necesarios o satisfacer una demanda creciente. Si la demanda se ralentiza y ya no se necesitan los recursos adicionales, puedes ahorrar en el gasto en la nube si tienes implementado un servicio automático que desasigne los recursos no utilizados.

El escalado automático aprovecha la elasticidad de los entornos hospedados en la nube. Alivia la sobrecarga de administración al reducir la necesidad de que los operadores del sistema tomen decisiones constantemente sobre agregar o quitar recursos, o comprobar el rendimiento del sistema.

Aunque hay dos formas principales de escalar las aplicaciones(vertical u horizontalmente), es menos habitual automatizar el escalado vertical, ya que este suele requerir que el sistema no esté disponible temporalmente mientras se vuelve a implementar.

El escalado automático es más común cuando se escalan o reducen horizontalmente los recursos, porque, en estos procesos, simplemente se agregan o quitan instancias de un recurso y la aplicación continúa ejecutándose sin interrupción a medida que se aprovisionan nuevos recursos. Si la demanda disminuye, los recursos se pueden apagar y desasignar sin problemas y sin tiempo de inactividad.

Muchos proveedores de sistemas basados en la nube, como Microsoft Azure, ofrecen escalado horizontal automático.

  • Una base de datos es cualquier colección de información relacionada entre si que se almacena y organiza para que sea más fácil de administrar y acceder. A medida que se generan nuevos datos y tipos de datos a un ritmo vertiginoso, se hace más difícil mantener esos datos organizados, accesibles y seguros. Los sistemas de administración de bases de datos (DBMS), que incluyen una capa de herramientas de administración, a menudo se usan para controlar grandes volúmenes de datos.

    Surgen nuevos tipos y tecnologías de base de datos de forma constante para adaptarse al gran volumen y a la amplia gama de datos generados en la nube, los dispositivos móviles, las redes sociales y los macrodatos.

    Más información sobre las bases de datos

  • Las bases de datos NoSQL, a menudo denominadas no relacionales o "no solo" SQL, son un conjunto diverso de tecnologías de base de datos que controlan el almacenamiento y la recuperación de datos de una forma diferente a una base de datos relacional (SQL) tradicional.

    Las bases de datos NoSQL no requieren un esquema predefinido y pueden usar varios modelos de datos, lo que las hace muy eficaces para controlar grandes volúmenes de datos no estructurados y escalar proyectos de base de datos para macrodatos.

    Más información sobre las bases de datos NoSQL

  • PostgreSQL es un sistema de base de datos sólido de código abierto que funciona con consultas relacionales y no relacionales, y se reconoce por su fiabilidad y la integridad de los datos. PostgreSQL se usa ampliamente en campos como los servicios financieros, la fabricación, los sistemas públicos de información geográfica y la tecnología web. Los desarrolladores crean aplicaciones con PostgreSQL, mientras que los administradores confían en él para proteger sus datos.

    Más información sobre PostgreSQL

  • El almacenamiento en caché es una técnica común que usan los desarrolladores y profesionales de TI para mejorar el rendimiento y la escalabilidad de un sistema. Consiste en copiar temporalmente los datos a los que se accede con mayor frecuencia en un almacenamiento rápido ubicado cerca de la aplicación. Si este almacenamiento de datos rápido se encuentra más cerca de la aplicación que el propio origen de los datos, el almacenamiento en caché puede mejorar considerablemente los tiempos de respuesta de las aplicaciones cliente, ya que los datos se proporcionan con mayor rapidez. A menudo, los desarrolladores diseñan las aplicaciones para que almacenen en caché los datos procesados y, después, reutilizan la memoria caché para atender las solicitudes con mayor rapidez que en las consultas de base de datos normales.

    Más información sobre el almacenamiento en caché

  • El particionamiento es un tipo de partición de datos horizontal que permite dividir una base de datos de gran tamaño en bases de datos más pequeñas, que se pueden administrar de una forma más rápida y sencilla entre varios servidores.

    Más información sobre el particionamiento de bases de datos

  • Una plataforma como servicio, a menudo abreviada como PaaS, es un servicio de un proveedor en la nube que ofrece un entorno a petición para el desarrollo, las pruebas, la entrega y la administración de aplicaciones. Una plataforma como servicio hace que los desarrolladores puedan crear aplicaciones web o móviles de una forma más sencilla y rápida, sin tener que ocuparse de configurar ni administrar la infraestructura subyacente de servidores, almacenamiento, redes y bases de datos que necesitan como desarrolladores.

    Más información sobre PaaS

Explora la escalabilidad en la nube con Azure

Descubre un enfoque completo para el escalado vertical y el escalado horizontal que se adapta a tu propio escenario, tanto en el entorno local como en entornos multinube y perimetrales. La familia de servicios de base de datos de Azure ofrece una selección de bases de datos relacionales, NoSQL y en memoria totalmente administradas, con motores patentados y de código abierto, para adaptarse a las necesidades de los desarrolladores de aplicaciones actuales.

Ahorra tiempo y dinero con la administración automatizada de la infraestructura, incluidas soluciones de automatización para la escalabilidad, la disponibilidad y la seguridad.

Personas conversando y portátiles abiertos

Productos y servicios relacionados

Azure SQL

Familia de bases de datos SQL en la nube que proporciona opciones flexibles para la migración, la modernización y el desarrollo de aplicaciones.

Azure Cosmos DB

Base de datos NoSQL rápida con API abiertas para cualquier escala.

Azure PostgreSQL

PostgreSQL totalmente administrada, inteligente y escalable.

Azure SQL Database

SQL inteligente y administrado en la nube.

Azure SQL Managed Instance

Instancia de SQL administrada y siempre actualizada en la nube.

SQL Server en Virtual Machines

Migra las cargas de trabajo de SQL Server a la nube con el menor coste total de propiedad.

Azure Database for MySQL

Base de datos MySQL totalmente administrada y escalable.

Azure Maria DB

Servicio de base de datos MariaDB administrado para desarrolladores de aplicaciones.

Azure Cache for Redis

Acelera las aplicaciones con un almacenamiento de los datos en caché de baja latencia y alto rendimiento.

Cuando quieras, configuramos tu cuenta gratuita