Les pools de lecture Cloud SQL sont compatibles avec l'équilibrage de charge pour vos charges de travail de lecture volumineuses.
Que sont les pools de lecture ?
Un pool de lecture est un ensemble d'instances répliquées avec accès en lecture utilisé pour distribuer vos charges de travail de lecture volumineuses. Ces charges de travail peuvent être redirigées de l'instance principale vers le pool de lecture pour réduire la charge sur l'instance principale.
Chaque réplica en lecture du pool de lecture est appelé nœud du pool de lecture.
Vous pouvez mettre à l'échelle votre pool de lecture de plusieurs manières :
Scaling horizontal : mettez à l'échelle la capacité d'équilibrage de charge horizontalement en modifiant le nombre de nœuds du pool de lecture dans le pool de lecture.
Chaque pool de lecture peut comporter entre 1 et 20 nœuds.
Effectuer un scaling vertical : augmentez ou diminuez la capacité d'équilibrage de charge en modifiant le type de machine associé à un nœud de pool de lecture. Une fois définie, la configuration est appliquée de manière uniforme à chaque nœud du pool de lecture.
Lorsque vous modifiez les paramètres des nœuds du pool de lecture, tels que le stockage, la connectivité ou les indicateurs de configuration de la base de données, les modifications sont automatiquement appliquées de manière uniforme à chaque nœud du pool de lecture.
Le pool de lecture est accessible via un point de terminaison de lecture unique avec une adresse IP immuable. Les connexions établies via le point de terminaison sont automatiquement redirigées vers l'un des nœuds du pool de lecture. Lorsque vous souhaitez que le pool de lecture soit mis à l'échelle ou réduit, les applications qui étaient auparavant connectées à ce point de terminaison de lecture unique n'ont pas besoin d'être reconfigurées, même si vous pouvez créer de nouveaux nœuds de pool de lecture dans le pool de lecture ou supprimer les précédents.
Chaque nœud du pool de lecture possède également sa propre adresse IP. Bien que cette approche ne soit pas recommandée pour accéder efficacement à vos données, vous pouvez utiliser ces adresses IP pour résoudre les problèmes de performances des nœuds de pool de lecture individuels.
Pour savoir comment récupérer les informations de connexion du pool de lecture ou des nœuds du pool de lecture (adresses IP ou chaîne de connexion), consultez Afficher les informations du pool de lecture.
Les caractéristiques suivantes s'appliquent :
Les nœuds du pool de lecture résident toujours dans la même région, comme spécifié par l'utilisateur. Google Cloud alterne la résidence des nœuds du pool de lecture entre toutes les zones de la région.
Une instance principale peut comporter un ou plusieurs pools de lecture.
Les opérations suivantes entraînent un temps d'arrêt inférieur à la seconde :
Faire évoluer le pool de lecture (ajouter ou supprimer des nœuds de pool de lecture)
Effectuer un scaling vertical (modifier le type de machine des nœuds du pool)
Conversion d'une instance répliquée avec accès en lecture zonale existante en pool de lecture.
Un pool de lecture fait l'objet d'une maintenance avant son instance principale, comme les instances répliquées avec accès en lecture. Comme les instances répliquées avec accès en lecture, les pools de lecture font l'objet d'une maintenance pendant l'intervalle de maintenance de l'instance principale.
Chaque nœud du pool de lecture dispose des mêmes métriques qu'une instance répliquée avec accès en lecture Cloud SQL.
Lorsque vous utilisez gcloud ou la console Google Cloud pour décrire les détails d'un projet, le nom du pool de lecture est indiqué, mais pas les noms des nœuds individuels du pool de lecture.
Limites
Les limites suivantes s'appliquent :
Les pools de lecture ne sont disponibles que pour les instances Cloud SQL Enterprise Plus sur la nouvelle architecture réseau.
L'instance principale associée à un pool de lecture doit également être une instance Cloud SQL Enterprise Plus.
Le trafic est diffusé à partir des nœuds du pool de lecture en fonction de l'état de la base de données, mais quelle que soit l'importance du délai de réplication sur ce nœud. Le trafic peut être diffusé à partir d'un nœud de pool de lecture en retard, même si un autre nœud de pool de lecture non en retard est disponible. Une base de données est considérée comme saine si le processus de base de données est opérationnel et peut répondre aux requêtes, mais il n'y a aucune exigence concernant la fraîcheur des données diffusées.
Aucune garantie n'est donnée concernant une session logique unique se connectant à plusieurs nœuds de pool de lecture dans le pool de lecture. Il est possible que les requêtes ultérieures d'une session se connectent à un nœud de pool de lecture dont la position de réplication (GTID) est inférieure à celle du nœud de pool de lecture qui a traité une requête antérieure. Cela peut donner l'impression que l'état de la base de données remonte dans le temps.
Les types de mises à jour suivants ne sont pas acceptés :
Bien que les pools de lecture reçoivent toujours les mises à jour de maintenance Cloud SQL, vous ne pouvez pas mettre à jour votre pool de lecture vers une nouvelle version majeure ou mineure de la base de données.
Démarrer ou arrêter des nœuds du pool de lecture
En plus des opérations non compatibles avec les instances répliquées avec accès en lecture, les opérations suivantes ne sont pas compatibles avec les pools de lecture :
Promouvoir une instance répliquée
redémarrer
import
export
failover
rechiffrer
clone
Les fonctionnalités suivantes ne peuvent pas être utilisées avec un pool de lecture :
Private Service Connect
Certificats SSL/TLS avec une AC partagée ou une AC gérée par le client
Un pool de lecture ne peut pas être répliqué vers une autre instance, par exemple une réplique en cascade ou un autre pool de lecture.
Un pool de lecture doit être répliqué directement à partir d'une instance principale. Il ne peut pas s'agir d'une instance répliquée en cascade.
Si vous souhaitez convertir une instance répliquée avec accès en lecture régionale en pool de lecture, vous devez d'abord la convertir en instance répliquée avec accès en lecture zonale.
Lorsque vous créez ou mettez à l'échelle un pool de lecture, vous devez attendre la fin des opérations de création, de réduction ou d'augmentation d'effectuer un scaling horizontal précédentes associées au pool de lecture. Cette restriction s'applique à tout autre pool de lecture associé à la même instance principale. Si vous souhaitez mettre à l'échelle plusieurs pools de lecture associés à la même instance principale, vous devez attendre la fin des opérations de mise à l'échelle associées au premier pool de lecture avant de commencer à mettre à l'échelle le pool de lecture suivant. Si vous envoyez des requêtes simultanées, vous pouvez recevoir l'erreur suivante : Operation failed because another operation was already in progress..
Seule une instance répliquée zonale située dans la même région que l'instance principale peut être convertie pour être utilisée dans un pool de lecture.
Vous ne pouvez pas ajouter ni supprimer de nœuds de pool de lecture dans le pool de lecture si vous modifiez leur type de machine en même temps.
Si votre application doit se connecter à une instance répliquée avec accès en lecture dédiée (par exemple, en raison d'index secondaires présents sur une instance répliquée avec accès en lecture spécifique), créez une instance répliquée avec accès en lecture Cloud SQL et utilisez-la à la place.
Vous ne pouvez pas interroger des utilisateurs et des bases de données spécifiques associés à un pool de lecture. Étant donné que Cloud SQL Studio s'appuie sur les données fournies par les utilisateurs et les bases de données, il n'est pas compatible avec les pools de lecture.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/09/04 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Difficile à comprendre","hardToUnderstand","thumb-down"],["Informations ou exemple de code incorrects","incorrectInformationOrSampleCode","thumb-down"],["Il n'y a pas l'information/les exemples dont j'ai besoin","missingTheInformationSamplesINeed","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/09/04 (UTC)."],[],[],null,["# About read pools\n\n\u003cbr /\u003e\n\nMySQL \\| [PostgreSQL](/sql/docs/postgres/about-read-pools \"View this page for the PostgreSQL database engine\") \\| SQL Server\n\n\u003cbr /\u003e\n\n|\n| **Preview**\n|\n|\n| This feature is subject to the \"Pre-GA Offerings Terms\" in the General Service Terms section\n| of the [Service Specific Terms](/terms/service-terms#1).\n|\n| You can process personal data for this feature as outlined in the\n| [Cloud Data Processing\n| Addendum](/terms/data-processing-addendum), subject to the obligations and restrictions described in the agreement under\n| which you access Google Cloud.\n|\n| Pre-GA features are available \"as is\" and might have limited support.\n|\n| For more information, see the\n| [launch stage descriptions](/products#product-launch-stages).\n\nCloud SQL read pools support load balancing for your large read workloads.\n\nWhat are read pools?\n--------------------\n\nA *read pool* is a collection of read replica instances used to distribute\nyour large read workloads. These workloads can be redirected from the primary\ninstance to the read pool to reduce load on the primary instance.\n\nEach read replica in the read pool is called a *read pool node*.\n\nYou can scale your read pool in several ways:\n\n- **Scale in or out**: scale load balancing capacity horizontally by modifying the number of read pool nodes in the read pool. Each read pool supports between 1 and 20 read pool nodes.\n- **Scale up or down**: scale load balancing capacity vertically by modifying the machine type associated with a read pool node. Once defined, configuration is uniformly applied across each read pool node in the read pool.\n\nWhen you modify read pool node settings such as storage, connectivity, or\ndatabase configuration flags, the changes are automatically applied uniformly\nacross each read pool node in the read pool.\n\nThe read pool is accessible through a *single read endpoint* with\nan immutable IP address. Connections made through the endpoint are\nautomatically redirected to one of the read pool nodes. When you want the\nread pool to scale in or scale out, applications that were previously\nconnected to this single read endpoint don't need to be reconfigured, even\nthough you can create new read pool nodes in the read pool or delete previous\nones.\n\nEach read pool node also has its own IP address. While not\nrecommended as an efficient approach for accessing your data, you can use\nthese IP addresses to troubleshoot individual read pool node performance.\n\nFor more information on how to retrieve the connection information for the\nread pool or the read pool nodes (either IP addresses or a connection string),\nsee\n[View read pool information](/sql/docs/mysql/create-read-pool#view-read-pool).\n\nThe following characteristics apply:\n\n- Read pool nodes of the read pool always reside in the same region, as specified by the user. Google Cloud alternates read pool node residency among all zones in the region.\n- A primary instance can have one or more read pools.\n- The following operations incur sub-second downtime:\n - Scaling out or in (adding or removing read pool nodes).\n - Scaling up or down (changing the machine type of the nodes in the pool).\n - Converting an existing zonal read replica to a read pool.\n- A read pool receives maintenance before its primary instance, similar to read replicas. Like read replicas, read pools receive maintenance during the primary instance's maintenance window.\n- Each read pool node has the same metrics available as a Cloud SQL read replica.\n- When using `gcloud` or the Google Cloud console to describe the details of a project, the read pool name is listed, individual read pool node names are not.\n\nLimitations\n-----------\n\nThe following limitations apply:\n\n- Read pools are only available for [Cloud SQL Enterprise Plus edition](/sql/docs/mysql/editions-intro) instances on the [new network architecture](/sql/docs/mysql/upgrade-cloud-sql-instance-new-network-architecture#check-single-instance). The primary instance associated with a read pool must also be a Cloud SQL Enterprise Plus edition instance.\n- Traffic is served from read pool nodes based on whether the database is healthy, but regardless of how high replication lag on that read pool node is. Traffic can be served from a lagging read pool node even if another read pool node is available that isn't lagging. A database is considered healthy if the database process is up and can answer queries, but there is no requirement on how fresh the data being served is.\n- No guarantee is made about a single logical session connecting to multiple read pool nodes in the read pool. It's possible for later requests in a session to connect to a read pool node that has a lower replication position (GTID) than the read pool node that served an earlier request, which can cause the state of the database to appear to go back in time.\n- The following types of updates aren't supported:\n - While read pools still receive Cloud SQL maintenance updates, you can't update your read pool to a new major or minor database version.\n - Starting or stopping nodes of the read pool\n- In addition to operations that aren't supported on read replicas, the following operations aren't supported on read pools:\n - promote replica\n - restart\n - import\n - export\n - failover\n - re-encrypt\n - clone\n- The following features can't be used with a read pool:\n - Private Service Connect\n - SSL/TLS certificates with shared CA or customer-managed CA\n- A read pool can't replicate to another instance, for example, a cascading replica or another read pool.\n- A read pool must replicate directly from a primary instance. It can't be a cascading replica.\n- If you want to convert a regional read replica to a read pool, then you must first convert the regional read replica to a zonal read replica.\n- When creating or scaling a read pool, you must wait for previous create pool, scale in, or scale out operations associated with the read pool to finish. This restriction applies to any other read pool associated with the same primary instance. If you want to scale multiple read pools associated with the same primary instance, then you must wait for scaling operations associated with the first read pool to finish before you start scaling the next read pool. If you issue concurrent requests, then you might receive the following error: `Operation failed because another operation was already in progress.`.\n- Only a zonal replica located in the same region as the primary can be converted for use in a read pool.\n- You can't add or remove read pool nodes from the read pool while you're changing their machine type at the same time.\n- If your application must connect to a dedicated read replica---for example, because of secondary indexes present on a specific read replica---create a Cloud SQL read replica and use it instead.\n- You can't query specific users and databases associated with a read pool. Since Cloud SQL Studio relies on data provided by users and databases, Cloud SQL Studio isn't supported with read pools.\n\nWhat's next\n-----------\n\n- [Create and manage read pools](/sql/docs/mysql/create-read-pool)"]]