Los grupos de lectura de Cloud SQL admiten el balanceo de cargas para tus cargas de trabajo de lectura grandes.
¿Qué son los grupos de lectura?
Un grupo de lectura es una colección de instancias de réplica de lectura que se usa para distribuir tus cargas de trabajo de lectura grandes. Estas cargas de trabajo se pueden redireccionar de la instancia principal al grupo de lectura para reducir la carga en la instancia principal.
Cada réplica de lectura en el grupo de lectura se denomina nodo del grupo de lectura.
Puedes escalar tu grupo de lectura de varias maneras:
- Escala horizontalmente hacia adentro o hacia afuera: Escala la capacidad de balanceo de cargas de forma horizontal modificando la cantidad de nodos del grupo de lectura. Cada grupo de lectura admite entre 1 y 7 nodos de grupo de lectura.
- Escala verticalmente o reduce la escala verticalmente: Escala la capacidad del balanceo de cargas de forma vertical modificando el tipo de máquina asociado con un nodo del grupo de lectura. Una vez definida, la configuración se aplica de manera uniforme en cada nodo del grupo de lectura.
Cuando modificas la configuración de los nodos del grupo de lectura, como el almacenamiento, la conectividad o las marcas de configuración de la base de datos, los cambios se aplican automáticamente de manera uniforme en cada nodo del grupo de lectura.
Accede a un grupo de lectura a través de un solo extremo de lectura
Se puede acceder al grupo de lectura a través de un único extremo de lectura con una dirección IP inmutable. Las conexiones que se realizan a través del extremo se redireccionan automáticamente a uno de los nodos del grupo de lectura. Cuando quieras que el grupo de lectura se escale horizontalmente o se reduzca horizontalmente, no será necesario volver a configurar las aplicaciones que antes estaban conectadas a este único extremo de lectura, aunque puedas crear nuevos nodos de grupo de lectura en el grupo de lectura o borrar los anteriores.
Cada nodo del grupo de lectura también tiene su propia dirección IP. Si bien no se recomienda como un enfoque eficiente para acceder a tus datos, puedes usar estas direcciones IP para solucionar problemas de rendimiento de los nodos individuales del grupo de lectura.
Para obtener más información sobre cómo recuperar la información de conexión del grupo de lectura o los nodos del grupo de lectura (ya sean direcciones IP o una cadena de conexión), consulta Visualiza la información del grupo de lectura.
Replicación
La replicación del grupo de lectura de Cloud SQL se implementa con grupos de disponibilidad de escalamiento de lectura de SQL Server.
Para obtener más información, consulta Acerca de la replicación.
Escalado automático del grupo de lectura
Puedes configurar tu grupo de lectura para que cambie de tamaño automáticamente y se adapte a las necesidades cambiantes de la carga de trabajo de tu aplicación. Para obtener más información, consulta Ajuste de escala automático del grupo de lectura.
Características del grupo de lectura
Se aplican las siguientes características:
- Los grupos de lectura no tienen una API única compatible con Cloud SQL. Cualquier
operación para crear, configurar o ver un grupo de lectura se realiza con la
API de la instancia de Cloud SQL.
Por ejemplo, cuando usas
gcloud CLIpara crear un grupo de lectura, usas el comandogcloud sql instances create. Del mismo modo, para verificar la cantidad de nodos de grupo de lectura configurados en un grupo de lectura, usa el comandogcloud sql instances describe. - Un grupo de lectura con dos o más nodos está cubierto por el Acuerdo de Nivel de Servicio (ANS).
- Los nodos del grupo de lectura siempre residen en la misma región, según lo especificado por el usuario. Google Cloud alterna la residencia de los nodos del grupo de lectura entre todas las zonas de la región.
- Una instancia principal puede tener uno o más grupos de lectura.
- Las siguientes operaciones generan un tiempo de inactividad de menos de un segundo:
- Escalar horizontalmente o reducir verticalmente (agregar o quitar nodos del grupo de lectura)
- Escalar verticalmente hacia arriba o hacia abajo (cambiar el tipo de máquina de los nodos del grupo)
- Convertir una réplica de lectura zonal existente en un grupo de lectura.
- Un grupo de lectura recibe mantenimiento antes que su instancia principal, de forma similar a las réplicas de lectura. Al igual que las réplicas de lectura, los grupos de lectura reciben mantenimiento durante el período de mantenimiento de la instancia principal.
- Cada nodo del grupo de lectura tiene las mismas métricas disponibles que una réplica de lectura de Cloud SQL.
- Cuando usas
gcloudo la consola de Google Cloud para describir los detalles de un proyecto, se muestra el nombre del grupo de lectura, pero no los nombres de los nodos individuales del grupo de lectura.
Cantidad máxima de nodos de grupo de lectura por instancia principal
Puedes asignar un máximo de siete réplicas de lectura por instancia principal.
La cantidad combinada de réplicas de lectura y nodos de grupo de lectura que se replican desde la misma instancia principal no puede superar los siete.
Cómo calcular la cantidad máxima de nodos del grupo de lectura por instancia principal
Conceptualmente, puedes pensar en una réplica de lectura como un solo nodo de grupo de lectura.
Puedes convertir una réplica de lectura en un grupo de lectura y, luego, cambiar la cantidad de nodos del grupo de lectura a un número mayor que uno.
Luego, puedes asignar el ajuste de escala automático al grupo de lectura para que el recuento de nodos del grupo de lectura se ajuste de forma dinámica hacia arriba o hacia abajo para satisfacer las necesidades de la carga de trabajo.
Cuando el ajuste de escala automático está habilitado en un grupo de lectura, debes indicar un recuento máximo de nodos válido para el grupo de lectura. Ese número, combinado con la cantidad de réplicas de lectura existentes que se replican desde la misma instancia principal o los nodos de grupos de lectura que pertenecen a otros grupos de lectura que se replican desde la misma instancia principal, no puede superar los siete.
Por ejemplo, si una instancia principal tiene dos réplicas de lectura y un grupo de lectura con dos nodos de grupo de lectura, y un segundo grupo de lectura con el ajuste de escala automático habilitado, el recuento máximo de nodos de grupo de lectura para el segundo grupo de lectura no puede ser un valor mayor que tres.
Para obtener más información, consulta Ajuste de escala automático del grupo de lectura.
Limitaciones
Se aplica la siguiente limitación:
- Los grupos de lectura solo están disponibles para las instancias de la edición Cloud SQL Enterprise Plus en la nueva arquitectura de red. La instancia principal asociada con un grupo de lectura también debe ser una instancia de la edición Cloud SQL Enterprise Plus.
- Puedes asignar un máximo de 7 réplicas de lectura por instancia principal. Para obtener más información, consulta Cantidad máxima de nodos.
- La recuperación ante desastres avanzada no es compatible con los grupos de lectura. Las instancias principales no pueden usar grupos de lectura ni réplicas en cascada.
- El tráfico se entrega desde los nodos del grupo de lectura en función de si la base de datos está en buen estado, pero sin importar qué tan alto sea el retraso de replicación en ese nodo del grupo de lectura. El tráfico se puede entregar desde un nodo del grupo de lectura con retraso, incluso si hay otro nodo del grupo de lectura disponible que no tiene retraso. Se considera que una base de datos está en buen estado si el proceso de la base de datos está activo y puede responder consultas, pero no hay ningún requisito sobre la actualización de los datos que se entregan.
- No se garantiza que una sola sesión lógica se conecte a varios nodos del grupo de lectura.
- No se admiten los siguientes tipos de actualizaciones:
- Si bien los grupos de lectura aún reciben actualizaciones de mantenimiento de Cloud SQL, no puedes actualizar tu grupo de lectura ni su instancia principal asociada a una nueva versión principal de la base de datos.
- Iniciar o detener nodos del grupo de lectura.
- Además de las operaciones que no se admiten en las réplicas de lectura, las
siguientes operaciones no se admiten en los grupos de lectura:
- Habilita e inhabilita la replicación
- Active Directory administrado por el cliente
- Microsoft AD administrado
- Promover réplica
- Reiniciar
- Importar
- Exportar
- Conmutación por error
- Volver a encriptar
- Clonar
- Los certificados SSL/TLS con CA compartida o CA administrada por el cliente no se pueden usar con un grupo de lectura.
- Un grupo de lectura no se puede replicar en otra instancia, por ejemplo, una réplica en cascada o en otro grupo de lectura.
- Un grupo de lectura debe replicarse directamente desde una instancia principal. No puede ser una réplica en cascada.
- Cuando creas o escalas un grupo de lectura, debes esperar a que finalicen las operaciones anteriores de creación,
reducción o escalamiento horizontal asociadas con el grupo de lectura. Esta
restricción se aplica a cualquier otro grupo de lectura asociado con la misma instancia
principal. Si deseas escalar varios grupos de lectura asociados con la misma
instancia principal, debes esperar a que finalicen las operaciones de escalamiento asociadas con el
primer grupo de lectura antes de comenzar a escalar el siguiente. Si emites solicitudes simultáneas, es posible que recibas el siguiente error:
Operation failed because another operation was already in progress.. - Solo se puede convertir una réplica zonal ubicada en la misma región que la principal para usarla en un grupo de lectura.
- Los nodos del grupo de lectura pueden experimentar diferentes niveles de retraso de replicación, lo que puede generar lecturas inconsistentes. Si tu aplicación requiere una coherencia de lectura alta, te recomendamos escalar verticalmente una sola réplica de lectura en lugar de usar un grupo de lectura.
- Cloud SQL repara automáticamente los nodos del grupo de lectura en las siguientes
condiciones:
- Cuando la instancia está inactiva.
- Cuando se rompe la replicación.
En estas situaciones, si creas accesos adicionales desde la instancia principal, no podrás acceder con esos accesos después de que se vuelva a crear el nodo del grupo de lectura. Asegúrate de que el acceso que usas para el extremo de lectura esté disponible desde la instancia principal.
- Microsoft no admite la replicación de objetos de servidor.
Cualquier objeto a nivel de servidor que crees en una réplica de lectura también debe crearse y administrarse en la instancia principal. Estos objetos no se replican automáticamente.
Este comportamiento se aplica en las siguientes situaciones, aunque no es una lista exhaustiva:
- Reparando un grupo de lectura.
- Convertir una réplica de lectura en un grupo de lectura
- Los objetos a nivel del servidor, como los accesos, se vuelven inaccesibles.
- Si creas un acceso que existe en la réplica de lectura original, pero no en la instancia principal, el acceso no se replica en el nodo nuevo del grupo de lectura.
- Convertir un grupo de lectura en una réplica de lectura
- Si creas un acceso en un grupo de lectura y no en la instancia principal y, luego, inhabilitas el grupo de lectura, el acceso dejará de existir.
Estos son algunos ejemplos de objetos a nivel del servidor que no se replican:
- Accesos
- Configuración del servidor vinculado.
- Archivos de auditoría de bases de datos creados por la auditoría de SQL Server.
- Sesiones de XEvents y sus parámetros de configuración.
Para obtener más información, consulta la documentación de Microsoft.
- El certificado de encriptación de datos transparente (TDE) está bloqueado para las operaciones de importación y exportación.
- Siempre debes importar y exportar certificados de TDE desde la instancia principal. Los certificados de TDE se replicarán automáticamente en todas las réplicas de lectura del grupo de lectura, sin importar el tipo de réplica.
- No se admiten las operaciones de importación y exportación de TDE. Importa siempre el certificado de TDE desde la instancia principal.