Acerca de la replicación en Cloud SQL

La replicación es la capacidad de crear copias de una instancia de Cloud SQL y derivar trabajo a las copias.

Introducción

La razón principal para usar la replicación es escalar el uso de datos en una base de datos sin degradar el rendimiento.

Otros motivos de replicación son la migración de datos entre regiones.

Además, si se daña una instancia original, una réplica podría ascender a una instancia independiente (en cuyo caso, las réplicas existentes no la considerarían como una instancia principal).

Cuando se hace referencia a una instancia de Cloud SQL, la instancia que se replica se denomina instancia principal y las copias se denominan réplicas de lectura. La instancia principal y las réplicas de lectura residen en Cloud SQL.

Cuando se crea la primera réplica, sucede lo siguiente:

  • La instancia principal se configura como el modelo de recuperación completo para todas las bases de datos que se encuentran en la instancia principal en este momento.
  • Se crea un disco temporal y se realiza una copia de seguridad completa y se almacena en el disco temporal. El disco temporal se borra después de que se completa el proceso de creación de la réplica.

Si, en el período de creación de la primera réplica, el usuario cambia al modelo de recuperación simple, la creación de la réplica fallará.

Lo siguiente se aplica a las bases de datos agregadas a la instancia principal después de que se crean las réplicas:

  • Las bases de datos se agregan de forma automática a los grupos de disponibilidad y se propagan en las réplicas mediante la propagación automática.
  • Cada creación de una réplica invoca una copia de seguridad completa (modelo de recuperación completa) de las bases de datos en la instancia principal. Los accesos y los objetos del servidor creados después de la réplica no se replicarán.

Cloud SQL admite los siguientes tipos de réplicas:

Cloud SQL no admite la replicación entre dos servidores externos.

Réplicas de lectura

Se usa una réplica de lectura para descargar el trabajo de una instancia de Cloud SQL. La réplica de lectura es una copia exacta de la instancia principal. Los datos y otros cambios que se realizan en la instancia principal se actualizan casi en tiempo real en la réplica de lectura.

Las réplicas de lectura son de solo lectura, por lo que no puedes realizar operaciones de escritura en ellas. La réplica de lectura procesa consultas, solicitudes de lectura y tráfico de estadísticas, lo que reduce la carga en la instancia principal. Puedes tener hasta 8 réplicas de lectura por instancia principal.

Te conectas a una réplica directamente con su nombre y dirección IP de conexión. Si te conectas a una réplica mediante una dirección IP privada, no necesitas crear una conexión privada de VPC adicional para la réplica, porque la conexión se hereda de la instancia principal.

Para obtener más información sobre cómo crear una réplica de lectura, consulta Crea réplicas de lectura. Para obtener más información sobre cómo administrar una réplica de lectura, consulta Administra réplicas de lectura.

Como práctica recomendada, coloca réplicas de lectura en una zona diferente a la instancia principal cuando usas la alta disponibilidad en tu instancia principal. Esta práctica garantiza que las réplicas de lectura sigan funcionando cuando la zona que contiene la instancia principal tenga una interrupción. Consulta la Descripción general de la alta disponibilidad para obtener más información.

Selecciona un tipo de máquina adecuado

Las réplicas de lectura pueden tener un tipo de máquina diferente al de la principal. Debes supervisar las métricas en tu instancia, como el uso de memoria y CPU, para asegurarte de que la instancia de réplica tenga el tamaño adecuado para su carga de trabajo, en especial si es más pequeña que la instancia principal. Una instancia de réplica que es demasiado pequeña es más propensa a tener un rendimiento deficiente, como eventos frecuentes de memoria insuficiente (OOM).

Réplicas de lectura entre regiones

La replicación entre regiones te permite crear una réplica de lectura en una región diferente a la de la instancia principal. Una réplica de lectura entre regiones se crea de la misma manera en la que se creas una réplica dentro de una región.

En el caso de las réplicas de lectura de SQL Server, se supone que la réplica está en la misma red virtual que la réplica principal o que se comunican a través de una IP pública.

Las réplicas entre regiones realizan las siguientes acciones:

  • Mejoran el rendimiento de lectura, ya que pueden hacer que las réplicas estén disponibles más cerca de la región de la aplicación.
  • Proporcionan una capacidad de recuperación ante desastres adicional para protegerte contra fallas regionales.
  • Te permiten migrar datos de una región a otra.

Consulta la sección sobre cómo ascender réplicas para la migración regional o la recuperación ante desastres a fin de obtener más información sobre las réplicas entre regiones.

Casos de uso de replicación

Los siguientes casos de uso se aplican a cada tipo de replicación.

Nombre Principal Réplica Beneficios y casos prácticos Más información
Réplica de lectura Instancia de Cloud SQL Instancia de Cloud SQL
  • Capacidad de lectura adicional
  • Objetivo de estadísticas
  • Mejora en el rendimiento de lectura
  • Exporta desde réplicas
Réplica de lectura entre regiones Instancia de Cloud SQL Instancia de Cloud SQL
  • Capacidad de lectura adicional
  • Objetivo de estadísticas
  • Función adicional de recuperación ante desastres
  • Mejora en el rendimiento de lectura
  • Migra datos entre regiones
Replicación de SQL Server Instancia externa a Cloud SQL Instancia de Cloud SQL para SQL Server
  • Ruta de acceso de migración a Cloud SQL
  • Replicación de un servidor externo a Cloud SQL
  • Replicación de Cloud SQL a un servidor externo
  • Replicación entre instancias de Cloud SQL
  • Replicación de datos hacia Google Cloud Platform
  • Objetivo de estadísticas

Facturación

  • Una réplica de lectura se cobra a la misma tarifa que una instancia de Cloud SQL estándar. No se aplican cargos por la replicación de datos.
  • El precio de una réplica de lectura entre regiones es el mismo que el de la creación de una instancia de Cloud SQL nueva en la región. Consulta los precios de las instancias de Cloud SQL y selecciona la región adecuada. Además del costo normal asociado a la instancia, una réplica entre regiones genera cargos de salida de red entre regiones por los registros de replicación enviados desde la instancia principal hasta la instancia de la réplica, como se describe en Precios de salida de la red

Referencia rápida para las réplicas de lectura de Cloud SQL

Tema Debate
Copias de seguridad No puedes configurar copias de seguridad en la réplica.
Núcleos y memoria Las réplicas de lectura pueden usar una cantidad diferente de núcleos y de memoria de las de la instancia principal.
Borra la instancia principal Antes de borrar una instancia principal, debes promover todas sus réplicas de lectura a instancias independientes o borrar las réplicas de lectura.
Borra la réplica Cuando borras una réplica, el estado de la instancia principal no se ve afectado.
Borra una base de datos replicada Puedes borrar una base de datos replicada de SQL Server mediante la consola de Google Cloud o el comando gcloud, y la eliminación se propaga automáticamente a las réplicas. No puedes borrar una base de datos replicada de SQL Server mediante comandos de T-SQL.
Conmutación por error Una instancia principal no puede conmutar por error a una réplica de lectura, y las réplicas de lectura no pueden conmutar por error de ninguna manera durante una interrupción.
Alta disponibilidad Las réplicas de lectura no proporcionan ni ofrecen alta disponibilidad.
Balanceo de cargas Cloud SQL no proporciona balanceo de cargas entre las réplicas.
Períodos de mantenimiento Los períodos de mantenimiento no se pueden establecer en réplicas de lectura y no comparten períodos de mantenimiento con la instancia principal. En la réplica de lectura, el mantenimiento puede ocurrir en cualquier momento. El mantenimiento de las réplicas de lectura ocurre en una hora diferente a la de la instancia principal.
Varias réplicas de lectura Puedes crear hasta 8 réplicas de lectura para una sola instancia principal.
IP privada Si te conectas a una réplica mediante una dirección IP privada, no necesitas crear una conexión privada de VPC adicional para la réplica, ya que se hereda de la instancia principal.
Restablece la instancia principal No puedes restablecer la instancia principal de una réplica mientras exista dicha réplica. Para restablecer una instancia desde una copia de seguridad o realizar una recuperación de un momento determinado, debes ascender o borrar todas sus réplicas.
Configuración La configuración de la instancia principal se propaga a la réplica, incluidos los cambios realizados en los datos sobre los usuarios que pueden acceder a la instancia.
Detener una réplica No puedes stop una réplica. Puedes aplicar restart o delete en ella, pero no puedes detenerla como lo haces con una instancia principal.
Actualiza una réplica Las réplicas de lectura pueden experimentar una actualización perjudicial en cualquier momento.
Tablas de usuarios No puedes realizar cambios en la réplica. Todas las modificaciones de usuario se deben realizar en la instancia principal.

Limitaciones

  • Esta función solo se aplica a las siguientes versiones de Cloud SQL para SQL Server:

    • SQL Server 2017 Enterprise
    • SQL Server 2019 Enterprise
    • SQL Server 2022 Enterprise
  • Los accesos no se propagan a una réplica.

  • Debes supervisar la réplica mediante T-SQL o SQL Server Management Studio.

  • Antes de borrar una base de datos, debes cerrar las conexiones de base de datos.

  • Cuando creas una réplica, la instancia principal no puede contener bases de datos en modo de usuario único. De lo contrario, la creación de la réplica fallará.

¿Qué sigue?