Alta disponibilidad en Azure Database for MySQLHigh availability in Azure Database for MySQL

El servicio Azure Database for MySQL proporciona un alto nivel de disponibilidad garantizada gracias al Acuerdo de Nivel de Servicio (SLA) respaldado económicamente con un tiempo de actividad del 99,99 %.The Azure Database for MySQL service provides a guaranteed high level of availability with the financially backed service level agreement (SLA) of 99.99% uptime. Azure Database for MySQL proporciona alta disponibilidad durante los eventos planeados, como la operación de proceso de escalado iniciada por el usuario, y también cuando se producen eventos no planeados, como los errores subyacentes de hardware, software o red.Azure Database for MySQL provides high availability during planned events such as user-initated scale compute operation, and also when unplanned events such as underlying hardware, software, or network failures occur. Azure Database for MySQL puede recuperarse rápidamente de las circunstancias más críticas, lo que garantiza que las aplicaciones prácticamente no tengan tiempo de inactividad al usar este servicio.Azure Database for MySQL can quickly recover from most critical circumstances, ensuring virtually no application down time when using this service.

Azure Database for MySQL resulta adecuado para ejecutar bases de datos esenciales que requieren un tiempo de actividad elevado.Azure Database for MySQL is suitable for running mission critical databases that require high uptime. Basado en la arquitectura de Azure, el servicio tiene funcionalidades intrínsecas de alta disponibilidad, redundancia y resistencia para mitigar el tiempo de inactividad de la base de datos frente a interrupciones planeadas y no planeadas, sin necesidad de configurar ningún componente adicional.Built on Azure architecture, the service has inherent high availability, redundancy, and resiliency capabilities to mitigate database downtime from planned and unplanned outages, without requiring you to configure any additional components.

Componentes en Azure Database for MySQLComponents in Azure Database for MySQL

ComponenteComponent DescripciónDescription
Servidor de bases de datos MySQLMySQL Database Server Azure Database for MySQL proporciona seguridad, aislamiento, medidas de seguridad para recursos y una funcionalidad de reinicio rápido para los servidores de bases de datos.Azure Database for MySQL provides security, isolation, resource safeguards, and fast restart capability for database servers. Estas funcionalidades facilitan que operaciones como el escalado y la recuperación del servidor de bases de datos después de una interrupción se pueda realizar en 60-120 segundos en función de la actividad transaccional de la base de datos.These capabilities facilitate operations such as scaling and database server recovery operation after an outage to happen in 60-120 seconds depending on the transactional activity on the database.
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.Data modifications in the database server typically occur in the context of a database transaction. Todos los cambios en la base de datos se registran sincrónicamente como registros de escritura previa (ib_log) en Azure Storage, que está conectado al servidor de bases de datos.All database changes are recorded synchronously in the form of write ahead logs (ib_log) on Azure Storage – which is attached to the database server. 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.During the database checkpoint process, data pages from the database server memory are also flushed to the storage.
Almacenamiento remotoRemote Storage Todos los archivos de datos físicos de MySQL y los archivos de registro se almacenan en Azure Storage, que está diseñado para almacenar tres copias de los datos en una región para garantizar la redundancia, disponibilidad y confiabilidad de los datos.All MySQL physical data files and log files are stored on Azure Storage, which is architected to store three copies of data within a region to ensure data redundancy, availability, and reliability. La capa de almacenamiento también es independiente del servidor de bases de datos.The storage layer is also independent of the database server. Se puede desasociar de un servidor de base de datos con errores y asociarse de nuevo a un nuevo servidor de base de datos en 60 segundos.It can be detached from a failed database server and reattached to a new database server within 60 seconds. Además, Azure Storage supervisa continuamente el entorno en busca de errores de almacenamiento.Also, Azure Storage continuously monitors for any storage faults. Si se detectan daños en un bloque, se corrige automáticamente mediante la creación de una nueva copia de almacenamiento.If a block corruption is detected, it is automatically fixed by instantiating a new storage copy.
Puerta de enlaceGateway La puerta de enlace actúa como un proxy de base de datos, enruta todas las conexiones de cliente al servidor de base de datos.The Gateway acts as a database proxy, routes all client connections to the database server.

Mitigación del tiempo de inactividad planeadoPlanned downtime mitigation

Azure Database for MySQL está diseñado para proporcionar alta disponibilidad durante las operaciones de tiempo de inactividad planeado.Azure Database for MySQL is architected to provide high availability during planned downtime operations.

vista del escalado elástico en Azure MySQL

Estos son algunos escenarios de mantenimiento planeado:Here are some planned maintenance scenarios:

EscenarioScenario DescripciónDescription
Escalado y reducción vertical de procesoCompute scale up/down Cuando el usuario realiza una operación de escalado o reducción vertical de procesos, se aprovisiona un nuevo servidor de base de datos con la configuración de proceso escalado.When the user performs compute scale up/down operation, a new database server is provisioned using the scaled compute configuration. En el servidor de base de datos anterior, se permite que se finalicen los puntos de comprobación activos, se purgan las conexiones de cliente, se cancelan las transacciones no confirmadas y, a continuación, se apaga el servidor.In the old database server, active checkpoints are allowed to complete, client connections are drained, any uncommitted transactions are canceled, and then it is shut down. A continuación, el almacenamiento se desasocia del servidor de base de datos anterior y se conecta al nuevo servidor de base de datos.The storage is then detached from the old database server and attached to the new database server. Cuando la aplicación cliente reintenta la conexión o trata de establecer una conexión nueva, la puerta de enlace dirige la solicitud de conexión al nuevo servidor de bases de datos.When the client application retries the connection, or tries to make a new connection, the Gateway directs the connection request to the new database server.
Escalado vertical del almacenamientoScaling Up Storage El escalado vertical del almacenamiento es una operación en línea y no interrumpe el servidor de base de datos.Scaling up the storage is an online operation and does not interrupt the database server.
Nueva implementación de software (Azure)New Software Deployment (Azure) Las nuevas características de implementación o corrección de errores se producen automáticamente como parte del mantenimiento planeado del servicio.New features rollout or bug fixes automatically happen as part of service’s planned maintenance. Para obtener más información, consulte la documentación y consulte también el portal.For more information, refer to the documentation, and also check your portal.
Actualizaciones de versión secundariasMinor version upgrades Azure Database for MySQL revisa automáticamente los servidores de bases de datos según la versión secundaria determinada por Azure.Azure Database for MySQL automatically patches database servers to the minor version determined by Azure. Se produce como parte del mantenimiento planeado del servicio.It happens as part of service's planned maintenance. Durante el mantenimiento planeado, puede haber reinicios o conmutaciones por error del servidor de bases de datos, lo que podría dar lugar a una breve indisponibilidad de los servidores de bases de datos para los usuarios finales.During planned maintenance, there can be database server restarts or failovers, which might lead to brief unavailability of the database servers for end users. Los servidores de Azure Database for MySQL se ejecutan en contenedores, por lo que los reinicios del servidor de bases de datos suelen ser rápidos y normalmente se espera que se completen en 60-120 segundos.Azure Database for MySQL servers are running in containers so database server restarts are typically quick, expected to complete typically in 60-120 seconds. El equipo de ingeniería supervisa cuidadosamente el evento de mantenimiento planeado completo, incluidos los reinicios del servidor.The entire planned maintenance event including each server restarts is carefully monitored by the engineering team. El tiempo de conmutación por error del servidor depende del tiempo de recuperación de la base de datos, lo que puede hacer que la base de datos se ponga en línea más tiempo si tiene mucha actividad transaccional en el servidor en el momento de la conmutación por error.The server failovers time is dependent on database recovery time, which can cause the database to come online longer if you have heavy transactional activity on the server at the time of failover. Para evitar un tiempo de reinicio más largo, se recomienda evitar las transacciones de larga duración (cargas masivas) durante los eventos de mantenimiento planeado.To avoid longer restart time, it is recommended to avoid any long running transactions (bulk loads) during planned maintenance events. Para obtener más información, consulte la documentación y consulte también el portal.For more information, refer to the documentation, and also check your portal.

Mitigación del tiempo de inactividad no planeadoUnplanned downtime mitigation

Se puede producir un tiempo de inactividad no planeado como resultado de errores imprevistos, incluidos los errores subyacentes de hardware, los problemas de red y los errores de software.Unplanned downtime can occur as a result of unforeseen failures, including underlying hardware fault, networking issues, and software bugs. 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 60-120 segundos.If the database server goes down unexpectedly, a new database server is automatically provisioned in 60-120 seconds. El almacenamiento remoto se asocia automáticamente al nuevo servidor de base de datos.The remote storage is automatically attached to the new database server. El motor de MySQL realiza la operación de recuperación mediante WAL y archivos de base de datos, y abre el servidor de bases de datos para permitir que los clientes se conecten.MySQL engine performs the recovery operation using WAL and database files, and opens up the database server to allow clients to connect. Las transacciones no confirmadas se pierden y la aplicación debe volver a intentarlas.Uncommitted transactions are lost, and they have to be retried by the application. Aunque no se puede evitar un tiempo de inactividad no planeado, Azure Database for MySQL lo reduce gracias a que realiza de forma automática operaciones de recuperación en el servidor de bases de datos y en las capas de almacenamiento sin necesidad de intervención humana.While an unplanned downtime cannot be avoided, Azure Database for MySQL mitigates the downtime by automatically performing recovery operations at both database server and storage layers without requiring human intervention.

vista de alta disponibilidad en Azure MySQL

Tiempo de inactividad no planeado: escenarios de error y recuperación de servicioUnplanned downtime: failure scenarios and service recovery

Estos son algunos escenarios de error y cómo Azure Database for MySQL se recupera automáticamente:Here are some failure scenarios and how Azure Database for MySQL automatically recovers:

EscenarioScenario Recuperación automáticaAutomatic recovery
Error de servidor de bases de datosDatabase server failure Si el servidor de base de datos está inactivo debido a un error de hardware subyacente, se quitan las conexiones activas y se anulan las transacciones inactivas.If the database server is down because of some underlying hardware fault, active connections are dropped, and any inflight transactions are aborted. Se implementa automáticamente un nuevo servidor de base de datos y el almacenamiento de datos remotos se adjunta al nuevo servidor de base de datos.A new database server is automatically deployed, and the remote data storage is attached to the new database server. Una vez completada la recuperación de la base de datos, los clientes pueden conectarse al nuevo servidor de base de datos a través de la puerta de enlace.After the database recovery is complete, clients can connect to the new database server through the Gateway.

Las aplicaciones que usan bases de datos de MySQL se deben crear de forma que detecten y reintenten las conexiones eliminadas y las transacciones erróneas.Applications using the MySQL databases need to be built in a way that they detect and retry dropped connections and failed transactions. Cuando la aplicación vuelve a intentarlo, la puerta de enlace redirige de forma transparente la conexión al servidor de base de datos recién creado.When the application retries, the Gateway transparently redirects the connection to the newly created database server.
Error de almacenamientoStorage failure Las aplicaciones no verán ningún impacto por los problemas relacionados con el almacenamiento, como un error de disco o un daño de bloque físico.Applications do not see any impact for any storage-related issues such as a disk failure or a physical block corruption. A medida que los datos se almacenan en tres copias, el almacenamiento sobreviviente proporciona la copia de los datos.As the data is stored in 3 copies, the copy of the data is served by the surviving storage. Los daños en bloques se corrigen automáticamente.Block corruptions are automatically corrected. Si se pierde una copia de los datos, se crea automáticamente una nueva.If a copy of data is lost, a new copy of the data is automatically created.

Estos son algunos escenarios de error que requieren de la acciones del usuario para recuperarse:Here are some failure scenarios that require user action to recover:

EscenarioScenario Plan de recuperaciónRecovery plan
Error de región Region failure Un error en una región es un evento poco habitual.Failure of a region is a rare event. Sin embargo, si necesita protección ante un error de región, puede configurar una o varias réplicas de lectura en otras regiones para la recuperación ante desastres (DR).However, if you need protection from a region failure, you can configure one or more read replicas in other regions for disaster recovery (DR). (Consulte este artículo sobre cómo crear y administrar réplicas de lectura para más información).(See this article about creating and managing read replicas for details). En caso de que se produzca un error de nivel de región, puede promover manualmente la réplica de lectura configurada en la otra región para que sea el servidor de base de datos de producción.In the event of a region-level failure, you can manually promote the read replica configured on the other region to be your production database server.
Errores de usuario o lógicos Logical/user errors La recuperación de los errores de usuario, como las tablas eliminadas accidentalmente o los datos actualizados incorrectamente, implica la realización de una recuperación a un momento dado (PITR), de modo que se restauran y recuperan los datos hasta el momento justo antes de que se produjera el error.Recovery from user errors, such as accidentally dropped tables or incorrectly updated data, involves performing a point-in-time recovery (PITR), by restoring and recovering the data until the time just before the error had occurred.

Si quiere restaurar únicamente 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 base de datos en una nueva instancia, exportar las tablas mediante mysqldump y usar restore para restaurar esas tablas en la base de datos.If you want to restore only a subset of databases or specific tables rather than all databases in the database server, you can restore the database server in a new instance, export the table(s) via mysqldump, and then use restore to restore those tables into your database.

ResumenSummary

Azure Database for MySQL ofrece una funcionalidad de reinicio rápido de servidores de bases de datos, almacenamiento redundante y enrutamiento eficaz desde la puerta de enlace.Azure Database for MySQL provides fast restart capability of database servers, redundant storage, and efficient routing from the Gateway. Para proteger los datos de forma adicional, puede configurar las copias de seguridad para que se repliquen geográficamente, así como implementar una o varias réplicas de lectura en otras regiones.For additional data protection, you can configure backups to be geo-replicated, and also deploy one or more read replicas in other regions. Con funcionalidades de alta disponibilidad intrínsecas, Azure Database for MySQL protege las bases de datos de las interrupciones más comunes y ofrece un Acuerdo de Nivel de Servicio con tiempo de actividad del 99,99 % con respaldo económico.With inherent high availability capabilities, Azure Database for MySQL protects your databases from most common outages, and offers an industry leading, finance-backed 99.99% of uptime SLA. Todas estas funcionalidades de disponibilidad y confiabilidad permiten que Azure sea la plataforma ideal para ejecutar aplicaciones críticas.All these availability and reliability capabilities enable Azure to be the ideal platform to run your mission-critical applications.

Pasos siguientesNext steps