Alta disponibilidad en Azure Database for MariaDB

Importante

Azure Database for MariaDB está en proceso de retirada. Se recomienda encarecidamente migrar a Azure Database for MySQL. Para más información sobre la migración a Azure Database for MySQL, consulte ¿Qué ocurre con Azure Database for MariaDB?.

El servicio Azure Database for MariaDB es adecuado para ejecutar bases de datos críticas que requieren un tiempo de actividad elevado. Proporciona alta disponibilidad durante:

  • Eventos planeados, como las operaciones de proceso de escalado iniciadas por el usuario.
  • Eventos no planeados, como errores de red, software o hardware subyacentes.

Azure Database for MariaDB proporciona un contrato de nivel de servicio respaldado financieramente para el tiempo de actividad. Dado que el servicio se basa en la arquitectura de Azure, puede aprovechar sus funcionalidades para lograr alta disponibilidad, redundancia y resistencia sin configurar ningún componente adicional.

Componentes en Azure Database for MariaDB

Componente Descripción
Servidor de bases de datos mariaDB Azure Database for MariaDB proporciona seguridad, aislamiento, medidas de seguridad para recursos y una funcionalidad de reinicio rápido para los servidores de bases de datos. Estas funcionalidades facilitan operaciones como el escalado y la recuperación del servidor de bases de datos (en segundos) después de una interrupción.
Normalmente, las modificaciones de datos en el servidor de base de datos se producen en el contexto de una transacción de base de datos. Todos los cambios de base de datos se registran de forma sincrónica en forma de registros de escritura previa (archivos ib_log ) en Azure Storage, que se adjunta al servidor de bases de datos. Durante el proceso de punto de comprobación, las páginas de datos de la memoria del servidor de bases de datos también se vacían en el almacenamiento.
Almacenamiento remoto Todos los archivos de datos físicos y los archivos de registro de MariaDB se almacenan en Azure Storage, que almacena tres copias de datos dentro de una región para proporcionar redundancia de datos, disponibilidad y confiabilidad. La capa de almacenamiento es independiente del servidor de bases de datos. Se puede desasociar de un servidor de bases de datos con errores y volver a asociarse a un nuevo servidor de bases de datos en unos segundos.
Azure Storage supervisa continuamente los errores de almacenamiento. Si detecta daños en un bloque, corrige automáticamente el problema mediante la creación de instancias de una nueva copia de almacenamiento.
Gateway La puerta de enlace actúa como proxy de base de datos mediante el enrutamiento de todas las conexiones de cliente al servidor de bases de datos.

Mitigación del tiempo de inactividad planeado

La arquitectura de Azure Database for MariaDB proporciona alta disponibilidad durante las operaciones de tiempo de inactividad planeados.

Diagram of elastic scaling in Azure Database for MariaDB.

Estos son algunos escenarios para el mantenimiento planeado:

Escenario Descripción
Escalado vertical o reducción vertical de proceso Al realizar una operación de escalado vertical o reducción vertical de proceso, Azure Database for MariaDB aprovisiona un nuevo servidor de bases de datos mediante la configuración de proceso escalado. En el servidor de base de datos anterior, el servicio permite que los puntos de control activos finalicen, desagüen las conexiones de cliente y cancelen las transacciones no confirmadas. A continuación, el servicio cierra el servidor de base de datos anterior. Desasocia el almacenamiento del servidor de base de datos anterior y adjunta el almacenamiento al nuevo servidor de bases de datos. Cuando la aplicación cliente vuelve a intentar la conexión o intenta realizar una nueva conexión, la puerta de enlace dirige la solicitud de conexión al nuevo servidor de base de datos.
Escalado vertical del almacenamiento El escalado vertical del almacenamiento es una operación en línea y no interrumpe el servidor de bases de datos.
Nueva implementación de software (Azure) Las implementaciones de nuevas características o correcciones de errores se producen automáticamente como parte del mantenimiento planeado del servicio. Para más información, consulte la documentación y consulte el portal.
Actualizaciones de versiones secundarias Azure Database for MariaDB aplica revisiones automáticas de los servidores de bases de datos a la versión secundaria que Azure determina. La aplicación automática de revisiones se produce como parte del mantenimiento planeado del servicio. Se produce un breve tiempo de inactividad en términos de segundos y el servidor de bases de datos se reinicia automáticamente con la nueva versión secundaria. Para más información, consulte la documentación y consulte el portal.

Mitigación del tiempo de inactividad no planeado

El tiempo de inactividad no planeado puede producirse como resultado de errores imprevistos, incluidos los errores de hardware subyacentes, los problemas de red y los errores de software. Si el servidor de base de datos deja de funcionar de forma inesperada, se aprovisiona automáticamente un nuevo servidor de base de datos en segundos. El almacenamiento remoto se asocia automáticamente al nuevo servidor de base de datos.

El motor de MariaDB realiza la operación de recuperación mediante el registro de escritura anticipada y los archivos de base de datos, y abre el servidor de bases de datos para permitir que los clientes se conecten. Las transacciones no confirmadas se pierden y la aplicación debe reintentarlas.

Aunque no se puede evitar un tiempo de inactividad no planeado, Azure Database for MariaDB lo mitiga realizando automáticamente operaciones de recuperación tanto en el servidor de base de datos como en las capas de almacenamiento sin necesidad de intervención humana.

Diagram of high availability in Azure Database for MariaDB.

Tiempo de inactividad no planeado: escenarios de error y recuperación de servicio

Estos son dos escenarios de error y cómo azure Database for MariaDB se recupera automáticamente:

Escenario Recuperación automática
Error de servidor de bases de datos Si el servidor de bases de datos está inactivo debido a un error de hardware subyacente, Azure Database for MariaDB quita las conexiones activas y cancela las transacciones en proceso. El servicio implementa automáticamente un nuevo servidor de bases de datos y adjunta el almacenamiento de datos remoto al nuevo servidor de bases de datos. Una vez completada la recuperación de la base de datos, los clientes pueden conectarse al nuevo servidor de bases de datos a través de la puerta de enlace.
Las aplicaciones que usan las bases de datos de MariaDB deben compilarse de forma que detecten y vuelvan a intentar conexiones eliminadas y transacciones con errores. Cuando la aplicación vuelve a intentar una conexión, la puerta de enlace redirige de forma transparente la conexión al servidor de bases de datos recién creado.
Error de almacenamiento Los problemas relacionados con el almacenamiento, como un error de disco o un bloqueo físico dañado, no afectan a las aplicaciones. Dado que los datos se almacenan en tres copias, el almacenamiento superviviente sirve a la copia de los datos. Azure Database for MariaDB corrige automáticamente los daños en los bloques. Si se pierde una copia de datos, el servicio crea automáticamente una nueva copia de los datos.

Estos son escenarios de error que requieren la acción del usuario para recuperar:

Escenario Plan de recuperación
Error de región Un error en una región es un evento poco habitual. Sin embargo, si necesita protección frente a un error de región, puede configurar una o varias réplicas de lectura en otras regiones para la recuperación ante desastres. Para más información, consulte este artículo sobre cómo crear y administrar réplicas de lectura. Si se produce un error de nivel de región, puede promover manualmente una réplica de lectura configurada en otra región para que sea el servidor de bases de datos de producción.
Error lógico o de usuario La recuperación de errores de usuario, como tablas eliminadas accidentalmente o datos actualizados incorrectamente, implica realizar una recuperación a un momento dado. Esta acción restaura y recupera los datos hasta el momento justo antes de que se produjera el error.
Si desea restaurar solo un subconjunto de bases de datos o tablas específicas en lugar de todas las bases de datos del servidor de bases de datos, puede restaurar el servidor de bases de datos en una nueva instancia, exportar las tablas a través de mysqldump y, a continuación , restaurar esas tablas en la base de datos.

Resumen

Azure Database for MariaDB tiene funcionalidades inherentes de alta disponibilidad para ayudar a proteger las bases de datos frente a interrupciones comunes. Proporciona una funcionalidad de reinicio rápido de los servidores de bases de datos, el almacenamiento redundante y el enrutamiento eficaz desde la puerta de enlace. Para obtener protección de datos adicional, puede configurar copias de seguridad para que se repliquen geográficamente e implementen réplicas de lectura en otras regiones.

Pasos siguientes