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 incluyen 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 realiza una copia de seguridad completa. Asegúrate de que haya suficiente espacio para una copia de seguridad de las bases de datos o de que hayas habilitado la configuración de aumento automático de almacenamiento.

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, ya que 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 la sección sobre cómo administrar 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.

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

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.
  • Debido a que una réplica siempre mantiene una conexión con su instancia principal, la instancia principal nunca se desactiva. Esta situación podría aumentar la facturación de la instancia principal. Más información.
  • Además del costo normal asociado con cualquier instancia de Cloud SQL, una réplica entre regiones genera cargos de salida de red entre regiones por los registros de replicación enviados desde la instancia principal hacia la réplica, como se describe en Precios de salida de red.
  • El precio de una réplica de lectura entre regiones es el mismo que el de la creación de una instancia nueva en la región. Consulta los precios de las instancias de Cloud SQL y selecciona la región adecuada.

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

Tema Debate
Alta disponibilidad Las réplicas de lectura no proporcionan alta disponibilidad ni la ofrecen.
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.
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.
Actualizaciones perjudiciales Las réplicas de lectura pueden experimentar una actualización perjudicial en cualquier momento.
Rendimiento Cuando creas una réplica de lectura, no afecta la disponibilidad de la instancia principal.
Varias réplicas de lectura Puedes crear hasta 8 réplicas de lectura para una sola instancia principal.
Balanceo de cargas Cloud SQL no proporciona balanceo de cargas entre las 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.
Núcleos y memoria Las réplicas de lectura pueden usar una cantidad diferente de núcleos y de memoria que la instancia principal. Las réplicas de lectura de SQL Server pueden tener más CPU y memoria que la instancia principal, pero no pueden tener menos CPU o menos memoria.
Tablas de usuarios No puedes realizar cambios en la réplica. Todas las modificaciones de usuario se deben realizar en la instancia principal.
Copias de seguridad No puedes configurar copias de seguridad en la réplica.
Restablece la instancia principal No puedes restablecer la réplica principal mientras exista. Antes de restablecer una instancia desde una copia de seguridad, debes promover o borrar todas sus réplicas.
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 una base de datos replicada Puedes borrar una base de datos replicada de SQL Server mediante Google Cloud Console 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.
Crea una réplica de una réplica No puedes crear una réplica de una réplica.
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.
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.

Limitaciones

  • En esta versión preliminar, debes realizar al menos una de las siguientes acciones:

    • Crea una instancia nueva para usarla como instancia principal.
    • Clona una instancia existente y usa la clonación como la instancia principal.
  • El tamaño total de las bases de datos en una instancia debe ser inferior a 15 TB.

  • La capacidad total del disco de una instancia debe ser el doble del tamaño de la base de datos.

  • Se admite una instancia regional con IP pública, siempre que también tenga una IP privada. La IP privada debe estar habilitada para la instancia. Por lo tanto, puedes usar una IP pública o privada para conectarte a la instancia.

  • No se admiten las integraciones con el servicio administrado para Microsoft Active Directory.

  • Los accesos no se propagan a una réplica.

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

¿Qué sigue?