Reinicio sin tiempo de inactividad (ZDR) para Amazon Aurora MySQL - Amazon Aurora

Reinicio sin tiempo de inactividad (ZDR) para Amazon Aurora MySQL

La característica de reinicio sin tiempo de inactividad (ZDR) puede conservar algunas o todas las conexiones activas a instancias de base de datos durante ciertos tipos de reinicios. El ZDR se aplica a los reinicios que Aurora realiza de forma automática para resolver las condiciones de error, por ejemplo, cuando una réplica comienza a retrasarse demasiado respecto al origen.

importante

El mecanismo de ZDR funciona sobre la base del mejor esfuerzo. Las versiones de Aurora MySQL, las clases de instancias, las condiciones de error, las operaciones SQL compatibles y otros factores que determinan dónde se aplica el ZDR están sujetos a cambios en cualquier momento.

El ZDR para 2.x de Aurora MySQL requiere la versión 2.10 y posteriores. ZDR está disponible en todas las versiones secundarias de Aurora MySQL 3.x. En Aurora MySQL versión 2 y 3, el mecanismo de ZDR está activado de forma predeterminada y Aurora no utiliza el parámetro aurora_enable_zdr.

Aurora informa en la página Events (Eventos) las actividades relacionadas con el reinicio del tiempo de inactividad cero. Aurora registra un evento cuando intenta reiniciar mediante el mecanismo ZDR. En este evento se indica por qué Aurora realiza el reinicio. Luego, Aurora registra otro evento cuando finaliza el reinicio. En este último evento se informa cuánto tiempo tardó el proceso y cuántas conexiones se han conservado o eliminado durante el reinicio. Puede consultar el registro de errores de la base de datos para ver más detalles sobre lo que ocurrió durante el reinicio.

Aunque las conexiones permanecen intactas tras una operación de ZDR correcta, se reinicializan algunas variables y características. Los siguientes tipos de información no se conservan durante un reinicio causado por un reinicio sin tiempo de inactividad:

  • Variables globales Aurora restaura las variables de sesión, pero no restaura las variables globales después del reinicio.

  • Variables de estado. En particular, se restablece el valor de tiempo de actividad que informa el estado del motor.

  • LAST_INSERT_ID.

  • Estado auto_increment en memoria para tablas. El estado de incremento automático en memoria se reinicializa. Para obtener más información sobre los valores de incremento automático, consulte el Manual de referencia de MySQL.

  • Información de diagnóstico de las tablas INFORMATION_SCHEMA y PERFORMANCE_SCHEMA. Esta información de diagnóstico también aparece en la salida de comandos como SHOW PROFILE y SHOW PROFILES.

En la tabla siguiente se muestran las versiones, los roles de instancia y otras circunstancias que determinan si Aurora puede utilizar el mecanismo de ZDR al reiniciar instancias de base de datos en el clúster.

Aurora MySQL version ¿Se aplica el ZDR al escritor? ¿Se aplica el ZDR a los lectores? ¿El ZDR siempre está activado? Notas

2.x, inferior a la 2.10.0

No

No

N/A

El ZDR no está disponible para estas versiones.

2.10.0—2.11.0

Aurora revierte cualquier transacción que esté en curso en las conexiones activas. La aplicación debe volver a intentar las transacciones.

Aurora cancela cualquier conexión que utilice TLS/SSL, tablas temporales, bloqueos de tablas o bloqueos de usuario.

2.11.1 y versiones posteriores

Aurora revierte cualquier transacción que esté en curso en las conexiones activas. La aplicación debe volver a intentar las transacciones.

Aurora cancela cualquier conexión que utilice tablas temporales, bloqueos de tablas o bloqueos de usuario.

3.01—3.03

Aurora revierte cualquier transacción que esté en curso en las conexiones activas. La aplicación debe volver a intentar las transacciones.

Aurora cancela cualquier conexión que utilice TLS/SSL, tablas temporales, bloqueos de tablas o bloqueos de usuario.

3.04 y versiones posteriores

Aurora revierte cualquier transacción que esté en curso en las conexiones activas. La aplicación debe volver a intentar las transacciones.

Aurora cancela cualquier conexión que utilice tablas temporales, bloqueos de tablas o bloqueos de usuario.