Funcionamiento de Azure Database for MySQL
En esta unidad, explorará cómo funciona Azure Database for MySQL, empezando por su arquitectura. También aprenderá cómo el servicio proporciona alta disponibilidad, funcionalidad de copia de seguridad y escalado para satisfacer las necesidades de la carga de trabajo.
Arquitectura de Azure Database for MySQL
En el diagrama siguiente se describe la arquitectura de una instancia de Azure Database for MySQL: servidor flexible.
- La instancia de MySQL se ejecuta en una máquina virtual de Azure.
- Los datos y los registros se almacenan en Azure Premium Storage.
- Los datos se replican tres veces en el almacenamiento con redundancia local para la copia de seguridad y la resistencia. El servicio también proporciona opciones para configurar copias de seguridad de almacenamiento con redundancia de zona o con redundancia geográfica.
- Además, tiene la opción de localizar conjuntamente las distintas aplicaciones cliente conectadas al servidor flexible de MySQL, dentro de la misma zona de disponibilidad.
Puede optar por una alta disponibilidad con redundancia de zona o misma zona, que aprovisiona y mantiene automáticamente una réplica en espera.
Funcionamiento de la alta disponibilidad
En el caso de Azure Database para MySQL: servidor flexible, dentro de la zona de disponibilidad única, se produce el siguiente proceso después de un error en el servidor de hospedaje:
- Azure aprovisiona una nueva máquina virtual (VM).
- Azure asigna los archivos de datos y almacenamiento a la máquina virtual recién aprovisionada.
- El motor de base de datos MySQL se pone en línea.
- Las aplicaciones cliente se vuelven a conectar a la nueva instancia de MySQL.
Nota:
Si ha aprovisionado alta disponibilidad entre zonas, se mantiene un servidor en espera activa en otra zona de disponibilidad de la misma región de Azure. Este servidor es una réplica totalmente sincronizada del servidor principal. En caso de que se produzca un error en el servidor principal, el servidor en espera activa puede asumir rápidamente el control con una interrupción mínima, manteniendo así la disponibilidad del servicio.
Funcionamiento de las copias de seguridad
Puede usar copias de seguridad para restaurar el servidor a cualquier momento dado dentro del período de retención (35 días o hasta 10 años con retención a largo plazo, en versión preliminar).
Funcionamiento del escalado
El escalado en Azure Database for MySQL implica ajustar los recursos informáticos según las necesidades de la aplicación, lo que puede fluctuar en función de la demanda del usuario, la complejidad de las operaciones procesadas u otros factores como el crecimiento empresarial. Esta flexibilidad es fundamental para mantener un rendimiento y una eficiencia de costos óptimos.
Tipos de escalado
- Escalado vertical (escalado vertical y reducción vertical)
- Escalado de proceso: Esto hace referencia a cambiar el nivel de proceso del servidor flexible de MySQL. Azure ofrece varios niveles de proceso, cada uno diseñado para satisfacer diferentes tipos de cargas de trabajo:
- Ampliable: Adecuado para entornos con ráfagas intermitentes de uso de CPU que no requieren un rendimiento de CPU completo continuo.
- De uso general: Diseñado para una amplia gama de aplicaciones, lo que proporciona un equilibrio de recursos de proceso, memoria y E/S.
- Crítico para la empresa: Ofrece el mayor rendimiento para las bases de datos, con CPU más eficaces y E/S más rápidas, adecuadas para cargas de trabajo de baja latencia y transacciones altas.
- Asignación de memoria y CPU: En función del nivel seleccionado, puede escalar el número de núcleos virtuales y la cantidad de RAM disponible para la base de datos, lo que afecta directamente a la capacidad de controlar consultas más grandes o más complejas y permite un mayor número de conexiones simultáneas.
- Escalado de proceso: Esto hace referencia a cambiar el nivel de proceso del servidor flexible de MySQL. Azure ofrece varios niveles de proceso, cada uno diseñado para satisfacer diferentes tipos de cargas de trabajo:
- Escalado horizontal
- Azure Database for MySQL se puede escalar horizontalmente agregando réplicas de lectura para distribuir el tráfico de lectura entre varios servidores, lo que mejora el rendimiento de lectura y mantiene el servidor principal disponible para escrituras. El escalado horizontal permite que la base de datos controle más carga de consultas, lo que aumenta la capacidad de respuesta de la aplicación.
- Escalado de almacenamiento
- Escalado de almacenamiento dinámico: Con Azure Database for MySQL, puede aumentar la capacidad de almacenamiento sin tiempo de inactividad. Puede empezar con una asignación más pequeña y escalar verticalmente a medida que crecen los datos.
- Característica de crecimiento automático: Esta característica aumenta automáticamente el tamaño de almacenamiento antes de alcanzar el límite de capacidad, lo que evita las interrupciones relacionadas con las restricciones de almacenamiento.
IOPS de escalado automático
El escalado automático de IOPS (Operaciones de entrada y salida por segundo) es una característica que ajusta dinámicamente el rendimiento de E/S en función de la carga de trabajo actual. Esto resulta especialmente útil para patrones de carga de trabajo impredecibles o propensos a picos, ya que garantiza que la base de datos pueda controlar aumentos repentinos de carga sin intervención manual.
- Escalado de IOPS basado en la carga: Cuando aumenta la carga de trabajo y se requiere más rendimiento de E/S, la característica escalabilidad automática aumenta automáticamente el límite de IOPS hasta el máximo permitido en el nivel de proceso elegido. Por el contrario, las IOPS se reducen durante períodos de baja actividad para minimizar los costos.
- Rentabilidad: Al ajustar automáticamente las IOPS en función del uso real, solo paga por las IOPS que usa en lugar de aprovisionar recursos por encima del aprovisionamiento para controlar las cargas máximas, lo que solo puede producirse de forma esporádica.
Procedimientos recomendados de escalado
Para escalar de forma eficaz Azure Database for MySQL, supervise las métricas de rendimiento mediante Azure Monitor, configure alertas críticas, planee el crecimiento futuro mediante la revisión de los patrones de uso y pruebe la escalabilidad durante las horas fuera del pico para garantizar un rendimiento suave bajo una mayor carga.
Al comprender y usar estos mecanismos de escalado, puede asegurarse de que el servidor flexible de Azure Database para MySQL siempre se ejecuta de forma eficaz, adaptándose a las necesidades actuales y futuras de su negocio.
Configuración y optimización del comportamiento del motor
Para configurar y personalizar fácilmente variables y parámetros de servidor en Azure Database para MySQL, puede usar Azure Portal, la CLI de Azure o la API REST para ajustar la configuración, como el tamaño de caché de consultas, los tiempos de espera de conexión y las preferencias del motor de almacenamiento, lo que garantiza un rendimiento y un comportamiento óptimos para la carga de trabajo específica.
A continuación, considere si Azure Database for MySQL satisface las necesidades de su organización, sus aplicaciones y cargas de trabajo de base de datos.