Visión general de la réplica de lectura

Las réplicas de lectura son copias de solo lectura de la instancia MySQL principal del sistema de base de datos en la misma región. Proporcionan escalabilidad y mayor rendimiento para cargas de trabajo de lectura intensiva. Escalan horizontalmente las lecturas, es decir, reducen la latencia de las consultas.

Nota

La réplica de lectura no está soportada en un sistema de base de datos Siempre gratis.

Las réplicas de lectura se inician cuando se inicia un sistema de base de datos, se paran cuando se para el sistema de base de datos y se suprimen cuando se suprime el sistema de base de datos. Cada réplica de lectura se actualiza automáticamente mediante la replicación asíncrona. Puede crear réplicas de lectura en un sistema de base de datos independiente o de alta disponibilidad. Las réplicas de lectura no están soportadas en las unidades con menos de 8 ECPU o menos de 4 OCPU.

Puede crear un máximo de 18 réplicas de lectura en un sistema de base de datos. Cada réplica de lectura tiene su propio punto final. Por ejemplo, si tiene cinco réplicas de lectura, tiene cinco puntos finales, un punto final para cada réplica de lectura. Si desea ejecutar un subjuego de consultas en la instancia principal y descansar en las réplicas de lectura, debe configurar la aplicación para que utilice los puntos finales adecuados.

Puede conectarse a una réplica de lectura de forma similar a cómo se conecta a un sistema de base de datos mediante una instancia informática, una sesión bastión o una VPN. Consulte Conexión a un sistema de base de datos.

Las réplicas de lectura pueden retrasarse con respecto a la instancia principal. Esto se mide mediante la métrica read replica lag. En función de la carga de trabajo de cada réplica de lectura, las réplicas de lectura pueden mostrar una demora de réplica de lectura diferente. Incluso si la carga de trabajo es la misma, las réplicas de lectura pueden mostrar una demora de réplica de lectura diferente según sus recursos, como la CPU y la memoria. Puede crear alarmas para supervisar la métrica y notificarle cuando las métricas cumplan los disparadores especificados por la alarma. Consulte Uso de métricas para crear alarmas.

El servicio HeatWave realiza una recuperación automática en cualquier réplica de lectura que haya fallado. Durante la recuperación, la réplica de lectura se define en el estado Updating y no puede aceptar conexiones de cliente. Una vez que la recuperación se ha realizado correctamente, la réplica de lectura se define en el estado Active y pasa a estar operativa. Si una réplica de lectura ha fallado después de la recuperación y ya no se puede replicar desde el sistema de base de datos, la réplica de lectura se define en el estado Needs Attention. En este caso, debe suprimir la réplica de lectura y crear una nueva.

Si cambia las definiciones de cuenta y sus privilegios (como la contraseña) en el sistema de base de datos asociado, los cambios se propagan a las réplicas de lectura. No es necesario cambiar la contraseña en cada réplica de lectura.

No puede configurar una réplica de lectura como servidor de origen de una replicación de salida; solo puede configurar un sistema de base de datos como servidor de origen.

Una réplica de lectura hereda el certificado de seguridad del sistema de base de datos asociado. No puede actualizar el certificado de seguridad de la réplica de lectura.

Heredar y sustituir

Por defecto, una réplica de lectura hereda la unidad, la configuración y la versión del sistema de base de datos. Puede sustituir estas propiedades en una réplica de lectura para crear una réplica de lectura con una unidad, configuración o versión diferentes en comparación con el sistema de base de datos. Cuando una réplica de lectura hereda una propiedad del sistema de base de datos, el cambio de la propiedad en el sistema de base de datos también cambiará la propiedad en la réplica de lectura al mismo valor. Cuando una réplica de lectura sustituye una propiedad del sistema de base de datos, el cambio de la propiedad en el sistema de base de datos no afecta a la propiedad de la réplica de lectura.

Equilibrador de carga de réplica de lectura

Al crear la primera réplica de lectura de un sistema de base de datos, se crea automáticamente un equilibrador de carga de réplica de lectura, que distribuye el tráfico de lectura entre las réplicas de lectura. Todas las réplicas de lectura de los mismos sistemas de base de datos se agregan como backend al equilibrador de carga. Si la creación del equilibrador de carga de réplica de lectura falla por cualquier motivo, no se crea la réplica de lectura. Un equilibrador de carga de réplica de lectura solo se suprime al suprimir el sistema de base de datos asociado.

Un equilibrador de carga de réplica de lectura tiene una dirección IP privada y no puede acceder a ella directamente desde Internet. Puede conectarse al equilibrador de carga de réplica de lectura de forma similar a como se conecta a un sistema de base de datos mediante una instancia informática, una sesión bastión o una VPN. Consulte Conexión a un sistema de base de datos.

  • Política de equilibrador de carga de réplica de lectura: la política de distribución de equilibrio de carga del equilibrador de carga se basa en un hash de 5 tuplas de la información de protocolo IP, puerto y dirección IP de origen y destino. Esta política hash de 5 tuplas proporciona afinidad de sesión dentro de una sesión TCP o UDP determinada, donde los paquetes de la misma sesión se dirigen al mismo servidor backend detrás del equilibrador de carga de red.

    El equilibrador de carga de réplica de lectura distribuye las conexiones entre todas las réplicas de lectura activas. Se pueden distribuir diferentes conexiones a diferentes réplicas de lectura, pero todas las consultas emitidas por la misma conexión siempre se reenvían a la misma réplica de lectura.

  • Timeout de inactividad de conexiones: el equilibrador de carga realiza un seguimiento del estado de todos los flujos TCP que pasan por él. Una combinación de protocolo IP y direcciones IP de origen y destino y puertos definen un flujo. El flujo se puede eliminar si no se recibe tráfico del cliente o del servidor durante más tiempo del especificado en el timeout de inactividad. Los paquetes TCP recibidos después del timeout de inactividad se borran. La duración del timeout de inactividad para los flujos TCP es de ocho horas. No puede cambiar la duración del timeout de inactividad. Si la conexión no se utiliza actualmente y desea mantener la conexión activa, defina el mantenimiento de conexiones TCP en el cliente, que envía los paquetes de mantenimiento de conexiones TCP para mantener la conexión activa.
    Nota

    Todos los equilibradores de carga de réplicas de lectura creados antes del 10 de octubre de 2023 tienen un timeout de inactividad por defecto de seis minutos. Si desea aumentar el timeout de inactividad a ocho horas, póngase en contacto con los Servicios de Soporte Oracle.

Un equilibrador de carga de réplica de lectura maneja los distintos estados de la réplica de lectura de la siguiente manera:

  • Con fallos o necesita un estado de atención: si la réplica de lectura está en el estado con fallos o necesita un estado de atención, el equilibrador de carga elimina la réplica de lectura del backend.
  • Estado inactivo: si la réplica de lectura está en estado inactivo, el equilibrador de carga no enruta el tráfico a él.
  • Estado activo: si la réplica de lectura está en estado activo, el equilibrador de carga enruta el tráfico a ella.

Requisitos de dirección IP

Si un sistema de base de datos independiente tiene 18 réplicas de lectura, la subred en la que está presente el sistema de base de datos requiere el siguiente número de direcciones IP:

  • Una para el punto final del sistema de base de datos. Las conexiones realizadas a este punto final pueden realizar operaciones de lectura y escritura. Las operaciones de lectura siempre devuelven datos actualizados.
  • 18 para los 18 puntos finales de réplica de lectura. Las conexiones realizadas a cualquiera de estos puntos finales pueden realizar operaciones de solo lectura. Las operaciones de lectura pueden devolver datos ligeramente desactualizados según la demora de replicación.
  • Una para el punto final del equilibrador de carga de réplica de lectura. Las conexiones realizadas a este punto final se distribuyen entre réplicas de lectura activas.