Instances

Cette page présente différents concepts Cloud Spanner : instances, configuration d'instances et nœuds. Elle décrit également les différences et les compromis entre instances régionales et multirégionales. Si vous ne maîtrisez pas le fonctionnement de la réplication dans Cloud Spanner, veuillez commencer par consulter la section Réplication.

Consultez la section Créer et gérer des instances pour découvrir comment créer, répertorier, modifier et supprimer des instances.

Présentation des instances

Pour utiliser Cloud Spanner, vous devez d'abord créer une instance Cloud Spanner dans votre projet Google Cloud Platform. Cette instance va allouer les ressources utilisées par les bases de données Cloud Spanner dans cette instance.

La création d'une instance implique deux décisions importantes concernant la configuration de l'instance et le nombre de nœuds. Les choix que vous ferez détermineront l'emplacement et la quantité des ressources de stockage et de diffusion de l'instance. Il n'est pas possible de revenir par la suite sur la configuration choisie, mais vous pouvez modifier le nombre de nœuds plus tard si nécessaire.

Configuration de l'instance

La configuration d'une instance permet de définir l'emplacement géographique et la réplication des bases de données au sein de cette instance. Lorsque vous créez une instance, vous devez décider si elle sera régionale (toutes les ressources seront comprises dans une seule région GCP) ou multirégionale (les ressources s'étaleront sur plusieurs régions). Pour ce faire, sélectionnez une configuration d'instance, qui déterminera l'emplacement de stockage des données de votre instance. Les configurations régionales et multirégionales sont décrites plus en détail ci-dessous.

Nombre de nœuds

Lors de la création d'une instance, en plus de définir l'emplacement de stockage des données, vous devez également choisir le nombre de nœuds à allouer à cette instance. Ce choix déterminera la quantité des ressources de diffusion et de stockage disponibles pour les bases de données au sein de cette instance.

Chaque nœud fournit jusqu'à 2 Tio de stockage. Les valeurs maximales de débit en lecture et en écriture que les nœuds peuvent fournir dépendent de la configuration de l'instance, ainsi que de la conception du schéma et des caractéristiques de l'ensemble de données. Reportez-vous aux sections Configurations régionales et Configurations multirégionales pour en savoir plus.

Après avoir créé une instance, vous pouvez modifier son nombre de nœuds ultérieurement. Vous pouvez modifier le nombre de nœuds depuis la page Cloud Spanner de la console Google Cloud Platform ou l'outil de ligne de commande gcloud.

Cloud Spanner ne propose pas de mode "Suspendre". Ses nœuds sont des ressources dédiées. Même lorsque vous n'exécutez pas de charge de travail, les nœuds Cloud Spanner effectuent des tâches en arrière-plan de manière fréquente afin d'optimiser et de protéger vos données.

Nœuds ou instances dupliquées

Si vous devez faire évoluer les ressources de diffusion et de stockage de votre instance, ajoutez-y des nœuds. Notez que l'ajout d'un nœud n'augmente pas le nombre d'instances dupliquées (fixe pour une configuration donnée), mais accroît les ressources de chaque instance dupliquée au sein de l'instance. L'ajout de nœuds permet de fournir à chaque instance dupliquée plus de processeur et de mémoire RAM, ce qui augmente le débit de l'instance dupliquée En d'autres termes, cela permet plus d'opérations de lecture et d'écriture par seconde. En réalité, le nombre de serveurs Cloud Spanner dans chacune des instances dupliquées de l'instance est identique au nombre de nœuds. Ainsi, le nombre total de serveurs d'une instance Cloud Spanner correspond au nombre de nœuds multipliés par le nombre d'instances dupliquées de l'instance.

Configurations régionales

Les services Google Cloud Platform sont disponibles à différents emplacements en Amérique du Nord, en Amérique du Sud, en Europe, en Asie et en Australie. Si vos utilisateurs et services se trouvent dans la même région, choisissez une configuration d'instance régionale pour assurer une latence faible lors des opérations de lecture et d'écriture.

Configurations disponibles

Cloud Spanner permet les configurations d'instances régionales suivantes :

Nom de la région Description de la région
Amériques
northamerica-northeast1 Montréal
us-central1 Iowa
us-east1 Caroline du Sud
us-east4 Virginie du Nord
us-west1 Oregon
us-west2 Los Angeles
Europe
europe-north1 Finlande
europe-west1 Belgique
europe-west2 Londres
europe-west4 Pays-Bas
europe-west6 Zurich
Asie-Pacifique
asia-south1 Mumbai
asia-east1 Taïwan
asia-east2 Hong Kong
asia-northeast1 Tokyo
asia-northeast2 Osaka
asia-southeast1 Singapour
australia-southeast1 Sydney

Pour toute configuration régionale, Cloud Spanner gère trois instances dupliquées en lecture/écriture, chacune étant dans une zone Google Cloud Platform différente dans cette région. Chaque instance dupliquée en lecture/écriture contient une copie complète de votre base de données opérationnelle, capable de diffuser les requêtes en lecture/écriture et en lecture seule. Cloud Spanner utilise des instances dupliquées dans différentes zones, de sorte que votre base de données reste disponible en cas de défaillance d'une zone unique.

Réplication

Les configurations régionales contiennent exactement trois instances dupliquées en lecture/écriture, chacune pouvant voter.

Comme décrit dans la section sur la réplication Cloud Spanner, chaque mutation de Cloud Spanner nécessite un quorum d'écriture composé d'une majorité d'instances dupliquées participant au vote. Les quorums d'écriture se composent de deux des trois instances dupliquées dont la configuration est régionale.

Bonnes pratiques

Pour des performances optimales, nous vous recommandons de suivre les conseils suivants :

  • Suivez les bonnes pratiques de conception de schémas.
  • Placez les ressources de calcul critiques dans la même région que votre instance Cloud Spanner.
  • Provisionnez suffisamment de nœuds Cloud Spanner afin de maintenir une utilisation globale du processeur inférieure à 65 %.

Performances

Lorsque les bonnes pratiques décrites ci-dessus sont suivies, chaque nœud Cloud Spanner peut fournir jusqu'à 10 000 requêtes par seconde (RPS) en lecture ou 2 000 RPS en écriture (écriture de lignes individuelles à 1 Ko de données par ligne).

Configurations multirégionales

Comme décrit ci-dessus, les configurations régionales Cloud Spanner répliquent les données entre plusieurs zones d'une même région. Toutefois, si votre application doit souvent lire des données à partir de plusieurs emplacements géographiques (par exemple, pour diffuser des données à des utilisateurs d'Amérique du Nord et d'Asie) ou si vos opérations d'écriture proviennent d'un emplacement différent de vos opérations de lecture (par exemple, si vous avez des charges de travail d'écriture importantes en Amérique du Nord et des charges de lecture importantes en Europe), il est possible qu'une configuration régionale ne soit pas optimale.

Les configurations multirégionales vous permettent de répliquer les données de la base de données dans plusieurs zones, mais également dans plusieurs zones de plusieurs régions, comme défini par la configuration de l'instance. Avec ces instances dupliquées supplémentaires, vous pouvez lire des données avec une faible latence à partir de plusieurs emplacements proches ou dans les régions de la configuration. Toutefois, il existe des compromis. Dans une configuration multirégionale, les instances dupliquées du quorum (lecture/écriture) sont réparties sur plusieurs régions. Par conséquent, elles peuvent générer une latence du réseau supplémentaire lorsque ces instances dupliquées communiquent entre elles afin de voter pour des écritures. En d'autres termes, les configurations multirégionales permettent à votre application d'effectuer des opérations de lecture plus rapidement et dans plus d'emplacements, au prix d'une légère augmentation de la latence en écriture.

Configurations disponibles

Un continent

Nom de la configuration Emplacement de la configuration Région principale par défaut Région de lecture/écriture supplémentaire Régions de lecture seule
nam3 Amérique du Nord us-east4 us-east1 Aucune
nam6 Amérique du Nord us-central1 us-east1 us-west1
us-west2
eur3 Europe europe-west1 europe-west4 Aucune

Trois continents

Nom de la configuration Emplacements de la configuration Région principale par défaut Région de lecture/écriture supplémentaire Régions de lecture seule
nam-eur-asia1 Amérique du Nord, Europe et Asie us-central1 us-central2
(Oklahoma – région GCP privée)
europe-west1
asia-east1

Avantages

Les instances multirégionales offrent les principaux avantages suivants :

  • Disponibilité de 99,999 % : supérieure à la disponibilité de 99,99 % fournie par les configurations régionales de Cloud Spanner.

  • Distribution des données : Cloud Spanner réplique automatiquement vos données sur plusieurs régions avec des garanties élevées en matière de cohérence. Ainsi, vous pouvez stocker vos données à l'emplacement où elles sont utilisées, ce qui peut réduire la latence et améliorer l'expérience utilisateur.

  • Cohérence externe : même si Cloud Spanner est répliqué sur des emplacements géographiquement éloignés, vous pouvez toujours l'utiliser comme s'il s'agissait d'une base de données s'exécutant sur un seul ordinateur. Les transactions sont assurées d'être sérialisables et l'ordre des transactions dans la base de données est le même que celui dans lequel les clients consultent les transactions qui ont été validées. La cohérence externe est une garantie plus forte que la "cohérence forte" fournie par d'autres produits. Consultez la section TrueTime et cohérence externe pour en savoir plus sur cette propriété.

Réplication

Chaque configuration multirégionale contient deux régions désignées comme régions de lecture/écriture, chacune contenant deux instances dupliquées en lecture/écriture. L'une de ces régions de lecture/écriture est désignée comme région principale par défaut, ce qui signifie qu'elle contient les instances dupliquées principales de votre base de données. Cloud Spanner place également une instance dupliquée témoin dans une troisième région nommée région témoin.

Lorsqu'un client émet une mutation dans votre base de données, un formulaire de quorum d'écriture est créé. Il se compose de l'une des instances dupliquées issues de la région principale par défaut et de deux des quatre instances dupliquées supplémentaires participant au vote. (Le quorum peut être constitué d'instances dupliquées provenant de deux ou trois des régions composant votre configuration, en fonction des autres instances dupliquées participant au vote.) En plus de ces cinq instances dupliquées participant au vote, la configuration peut également contenir des instances dupliquées en lecture seule permettant de diffuser des opérations de lecture à faible latence. Les régions contenant des instances dupliquées en lecture seule sont nommées régions de lecture seule.

En général, les régions participant au vote dans une configuration multirégionale sont placées dans une zone géographiquement proche (à une distance de moins de 1 600 kilomètres) pour créer un quorum à faible latence qui permet des opérations d'écriture rapides (consultez la section Pourquoi des instances dupliquées en lecture seule et des témoins ? pour en savoir plus). Toutefois, les régions sont encore suffisamment éloignées les unes des autres (en général, d'au moins quelques centaines de kilomètres) pour éviter les défaillances coordonnées.

Les sections suivantes décrivent plus en détail chacun de ces types de région et expliquent comment placer vos charges de travail d'écriture et de lecture en conséquence.

Types de région

Régions de lecture/écriture

Comme décrit ci-dessus, chaque configuration multirégionale contient deux régions d'opérations de lecture/écriture, chacune comportant deux instances dupliquées en lecture/écriture. L'une de ces régions de lecture/écriture est désignée comme étant la région principale par défaut, qui accueille les instances dupliquées principales. Dans des conditions normales, lorsque toutes les instances dupliquées sont disponibles, la région principale par défaut contient les instances dupliquées principales. C'est donc ici que les opérations d'écriture sont traitées en premier. En cas de défaillance de l'instance dupliquée principale, d'autres instances dupliquées de la région principale par défaut prennent sa place. En réalité, les instances principales procèdent elles-mêmes à des vérifications d'état et peuvent renoncer de façon préemptive au leadership si elles se rendent compte qu'elles ne sont pas opérationnelles.

La deuxième région de lecture/écriture contient les instances dupliquées supplémentaires pouvant être désignées comme principales. Dans l'éventualité peu probable où la région principale par défaut est perdue, de nouvelles instances dupliquées principales sont choisies depuis la seconde région de lecture/écriture.

Régions de lecture seule

Les régions de lecture seule contiennent des instances dupliquées en lecture seule qui peuvent diffuser des opérations de lecture à faible latence aux clients situés en dehors des régions de lecture/écriture.

Régions témoins

Une région témoin contient une instance dupliquée témoin, qui permet de voter sur des opérations d'écriture. Les témoins sont importants dans l'éventualité peu probable où les régions de lecture/écriture deviennent indisponibles.

Bonnes pratiques

Pour des performances optimales, nous vous recommandons de suivre les conseils suivants :

  • Suivez les bonnes pratiques de conception des schémas.
  • Pour une latence optimale en écriture, placez les ressources de calcul relatives aux charges de travail lourdes en écriture au sein ou à proximité de la région principale par défaut.
  • Pour des performances en lecture optimales en dehors de la région principale par défaut, utilisez une obsolescence d'au moins 15 secondes.
  • Pour éviter de dépendre d'une seule région pour vos charges de travail, placez les ressources de calcul critiques dans au moins deux régions.
  • Provisionnez suffisamment de nœuds Cloud Spanner afin de maintenir l'utilisation globale du processeur inférieure à 45 % dans chaque région.

Performances

Chaque configuration Cloud Spanner présente des caractéristiques de performance légèrement différentes en fonction de la topologie de réplication.

Lorsque les bonnes pratiques décrites ci-dessus sont suivies, chaque nœud Cloud Spanner peut fournir les performances approximatives suivantes :

Configuration multirégionale Pic de lectures approximatif (RPS par région) Pic d'écritures approximatif (RPS total)
nam3 7 000 1 800
nam-eur-asia1 7 000 1 000

Notez que les instructions de lecture sont fournies par région (car les opérations de lecture peuvent être diffusées de n'importe où), tandis que les instructions d'écriture s'appliquent à l'ensemble de la configuration. Les instructions d'écriture supposent que vous écriviez des lignes uniques à raison de 1 Ko de données par ligne.

Compromis : configuration régionale ou multirégionale

Configuration Disponibilité Latence Coût Localité des données
Régionale 99,99 % Réduit les latences d'écriture dans la région. Coûts réduits ; consultez les tarifs. Active la gouvernance des données géographiques.
Multirégionale 99,999 % Réduit les latences de lecture de plusieurs régions géographiques. Coûts plus élevés ; consultez les tarifs. Distribue les données sur plusieurs régions de la configuration.
Cette page vous a-t-elle été utile ? Évaluez-la :

Envoyer des commentaires concernant…

Documentation Cloud Spanner