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éplicas de lectura que se usa para distribuir tus grandes cargas de trabajo de lectura. Estas cargas de trabajo se pueden redireccionar desde la instancia principal al grupo de lectura para reducir la carga en la instancia principal.
Cada réplica de lectura del grupo de lectura se denomina nodo del grupo de lectura.
Puedes escalar tu grupo de lectura de varias maneras:
- Aumentar o reducir la escala: Ajusta 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 20 nodos.
- Aumentar o reducir la escala: Aumenta o reduce la capacidad del balanceo de cargas de forma vertical modificando el tipo de máquina asociado a 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.
Se puede acceder al grupo de lectura a través de un solo extremo de lectura con una dirección IP inmutable. Las conexiones realizadas a través del extremo se redireccionan automáticamente a uno de los nodos del grupo de lectura. Cuando quieres que el grupo de lectura se ajuste o se expanda, no es necesario volver a configurar las aplicaciones que se conectaron previamente a este único extremo de lectura, aunque puedes crear nodos nuevos 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 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 (direcciones IP o una cadena de conexión), consulta Cómo ver la información del grupo de lectura.
Se aplican las siguientes características:
- Los nodos del grupo de lectura siempre residen en la misma región, según lo especifica el usuario. Google Cloud alternates read pool node residency among all zones in the region.
- 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:
- Aumentar o reducir la escala (agregar o quitar nodos del grupo de lectura)
- Aumentar o reducir la escala verticalmente (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 manera 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 disponibles las mismas métricas que una réplica de lectura de Cloud SQL.
- Cuando se usa
gcloud
o 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.
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 a un grupo de lectura también debe ser una instancia de la edición Cloud SQL Enterprise Plus.
- El tráfico se entrega desde los nodos del grupo de lectura según si la base de datos está en buen estado, pero independientemente de 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 tenga retraso. Se considera que una base de datos está en buen estado si el proceso de la base de datos está en funcionamiento y puede responder consultas, pero no hay requisitos sobre la actualidad 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. Es posible que las solicitudes posteriores de una sesión se conecten a un nodo del grupo de lectura que tenga una posición de replicación (LSN) inferior a la del nodo del grupo de lectura que atendió una solicitud anterior, lo que puede hacer que el estado de la base de datos parezca retroceder en el tiempo.
- No se admiten los siguientes tipos de actualizaciones:
- Si bien los grupos de lectura siguen recibiendo actualizaciones de mantenimiento de Cloud SQL, no puedes actualizar tu grupo de lectura 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:
- promote replica
- restart
- import
- export
- conmutación por error
- volver a encriptar
- clone
- Las siguientes funciones no se pueden usar con un grupo de lectura:
- Private Service Connect
- Certificados SSL/TLS con una CA compartida o una CA administrada por el cliente
- Un grupo de lectura no se puede replicar en otra instancia, por ejemplo, una réplica en cascada o un grupo de lectura diferente.
- Un grupo de lectura debe replicarse directamente desde una instancia principal. No puede ser una réplica en cascada.
- Si deseas convertir una réplica de lectura regional en un grupo de lectura, primero debes convertir la réplica de lectura regional en una réplica de lectura zonal.
- Cuando creas o ajustas la escala de un grupo de lectura, debes esperar a que finalicen las operaciones anteriores de creación, ajuste de la escala hacia adentro o ajuste de la escala hacia afuera 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 ajustar la escala de varios grupos de lectura asociados con la misma instancia principal, debes esperar a que finalicen las operaciones de ajuste de escala asociadas con el primer grupo de lectura antes de comenzar a ajustar la escala del siguiente grupo de lectura. Si envías 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 instancia principal para usarla en un grupo de lectura.
- No puedes agregar ni quitar nodos del grupo de lectura mientras cambias su tipo de máquina al mismo tiempo.
- Si tu aplicación debe conectarse a una réplica de lectura dedicada (por ejemplo, debido a que hay índices secundarios presentes en una réplica de lectura específica), crea una réplica de lectura de Cloud SQL y úsala en su lugar.
- No puedes consultar usuarios ni bases de datos específicos asociados a un grupo de lectura. Dado que Cloud SQL Studio depende de los datos proporcionados por los usuarios y las bases de datos, no se admite con grupos de lectura.