Cette page décrit les configurations d'instance et les deux types de configurations d'instance proposés par Spanner: les configurations régionales et les configurations multirégionales. Il décrit également les différences et les compromis entre les configurations régionales et multirégionales.
Configurations d'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 la configurer comme étant régionale (toutes les ressources sont contenues dans une seule région Google Cloud) ou multirégionale (les ressources couvrent 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 d'instance avec des régions fixes et des topologies de réplication sont appelées configurations d'instance de base. Vous pouvez créer des configurations d'instances personnalisées et ajouter d'autres instances répliquées en lecture seule facultatives. Notez que vous ne pouvez pas modifier la topologie de réplication des configurations d'instance de base. Pour en savoir plus, consultez la section Instances répliquées en lecture seule.
Vous pouvez également déplacer votre instance depuis n'importe quelle configuration d'instance vers une autre configuration d'instance régionale ou multirégionale.
Configurations régionales
Les services Google Cloud 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.
Pour toute configuration régionale de base, Spanner gère trois instances répliquées en lecture/écriture, chacune dans une zone Google Cloud 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. Spanner utilise des instances répliquées dans différentes zones de sorte que votre base de données reste disponible en cas de défaillance d'une zone unique.
Configurations disponibles
Spanner propose les configurations d'instances régionales de base suivantes:
Nom de la configuration de base | Description de la région | Région facultative | |
---|---|---|---|
Amériques | |||
northamerica-northeast1 |
Montréal Faibles émissions de CO2 | ||
northamerica-northeast2 |
Toronto Faibles émissions de CO2 | ||
southamerica-east1 |
São Paulo Faibles émissions de CO2 | ||
southamerica-west1 |
Santiago Faibles émissions de CO2 | ||
us-central1 |
Iowa Faibles émissions de CO2 | Lecture seule: asia-northeast1 1-OU asia-south1 1-OU europe-west2 1-OU europe-west9 1-OU |
|
us-east1 |
Caroline du Sud | Lecture seule: us-central1 1-OU us-west1 1-OU |
|
us-east4 |
Virginie du Nord | ||
us-east5 |
Columbus | ||
us-south1 |
Dallas | ||
us-west1 |
Oregon Faibles émissions de CO2 | ||
us-west2 |
Los Angeles | ||
us-west3 |
Salt Lake City | ||
us-west4 |
Las Vegas | ||
Europe | |||
europe-central2 |
Varsovie | ||
europe-north1 |
Finlande Faibles émissions de CO2 | ||
europe-southwest1 |
Madrid | ||
europe-west1 |
Belgique Faibles émissions de CO2 | Lecture seule: us-central1 1-OU us-west1 1-OU |
|
europe-west2 |
Londres Faibles émissions de CO2 | ||
europe-west3 |
Francfort Faibles émissions de CO2 | ||
europe-west4 |
Pays-Bas | ||
europe-west6 |
Zurich Faibles émissions de CO2 | ||
europe-west8 |
Milan | ||
europe-west9 |
Paris Faibles émissions de CO2 | ||
europe-west10 |
Berlin | ||
europe-west12 |
Turin | ||
Asie-Pacifique | |||
asia-east1 |
Taïwan | ||
asia-east2 |
Hong Kong | ||
asia-northeast1 |
Tokyo | ||
asia-northeast2 |
Osaka | ||
asia-northeast3 |
Séoul | ||
asia-south1 |
Mumbai | ||
asia-south2 |
Delhi | ||
asia-southeast1 |
Singapour | ||
asia-southeast2 |
Jakarta | ||
australia-southeast1 |
Sydney | ||
australia-southeast2 |
Melbourne | ||
Moyen-Orient | |||
me-central1 |
Doha | ||
me-central2 |
Dammam | ||
me-west1 |
Tel Aviv | ||
Afrique | |||
africa-south1 |
Johannesburg |
Réplication
Les configurations régionales de base contiennent trois instances répliquées en lecture/écriture. Chaque mutation de Spanner nécessite un quorum d'écriture composé d'une majorité d'instances dupliquées participant au vote. Les quorums d'écriture sont constitués de deux des trois instances répliquées dans des configurations régionales. Pour en savoir plus sur les régions principales et les instances répliquées participant au vote, consultez la page Réplication.
Vous pouvez créer une configuration d'instance régionale personnalisée et ajouter des instances répliquées en lecture seule facultatives. Les instances répliquées en lecture seule peuvent aider à effectuer le scaling des lectures et gérer les lectures non actualisées à faible latence. Ces instances répliquées en lecture seule ne participent pas aux quorums d'écriture et n'ont aucune incidence sur le contrat de niveau de service de Spanner >= 99, 99% pour les instances régionales. Vous pouvez ajouter des emplacements répertoriés dans la colonne "Région facultative" en tant qu'instances répliquées facultatives en lecture seule. Si vous ne voyez pas l'emplacement d'instance répliquée en lecture seule que vous avez choisi, vous pouvez demander une nouvelle région d'instance répliquée facultative en lecture seule. Pour en savoir plus, consultez la section Instances répliquées en lecture seule.
Bonnes pratiques concernant les performances des configurations régionales
Pour optimiser les performances, suivez les bonnes pratiques suivantes :
- Concevez un schéma qui évite les hotspots et autres problèmes de performances.
- Placez les ressources de calcul critiques dans la même région que votre instance Spanner.
- Provisionnez une capacité de calcul suffisante pour maintenir l'utilisation totale du processeur de haute priorité en dessous de 65%.
- Pour connaître le débit par nœud Spanner, consultez la page Performances pour les configurations régionales.
Configurations multirégionales
Les configurations régionales Spanner répliquent les données entre plusieurs zones d'une même région. Toutefois, une configuration régionale peut ne pas être optimale dans les cas suivants:
- Votre application doit souvent lire des données provenant de plusieurs emplacements géographiques (par exemple, pour diffuser des données auprès d'utilisateurs situés en Amérique du Nord et en Asie).
- Vos écritures proviennent d'un emplacement différent de celui de vos lectures (par exemple, si vous avez des charges de travail d'écriture volumineuses en Amérique du Nord et des charges de travail de lecture importantes en Europe).
Les configurations multirégionales peuvent:
- Diffusez les écritures depuis plusieurs régions.
- maintenir la disponibilité en cas de défaillances régionales ;
- Proposez des contrats de niveau de service et une disponibilité plus élevés que les configurations régionales.
Les configurations multirégionales vous permettent de répliquer les données de la base de données dans plusieurs zones de plusieurs régions, comme défini par la configuration de l'instance. Ces instances répliquées supplémentaires vous permettent de lire des données avec une latence plus faible à partir de plusieurs emplacements proches ou au sein des régions de la configuration.
Il existe toutefois des compromis, car dans une configuration multirégionale, les instances répliquées de quorum (lecture/écriture) sont réparties sur plusieurs régions. Vous remarquerez peut-être une latence réseau supplémentaire lorsque ces instances répliquées communiquent entre elles pour former un quorum d'écriture. Les lectures ne nécessitent pas de quorum. Résultat : votre application accélère les lectures sur davantage d'emplacements, au prix d'une légère augmentation de la latence d'écriture. Pour en savoir plus, consultez la section Rôle des instances répliquées dans les opérations d'écriture et de lecture.
Configurations disponibles
Spanner propose les configurations d'instances multirégionales de base suivantes:
Un continent
Nom de la configuration de base | Emplacement | Régions de lecture/écriture | Régions de lecture seule | Région témoin | Région facultative |
---|---|---|---|---|---|
asia1 |
Asie | Tokyo : asia-northeast1 L,2R Osaka : asia-northeast2 2R |
Aucune | Séoul : asia-northeast3 |
|
asia2 R |
Asie | Mumbai: asia-south1 L,2R Delhi: asia-south2 2R Singapour: asia-southeast1 1R |
Aucune | Aucune | |
eur3 |
Europe | Belgique : europe-west1 L,2R Pays-Bas : europe-west4 2R |
Aucune | Finlande : europe-north1 |
|
eur5 |
Europe | Londres : europe-west2 L,2R Belgique : europe-west1 2R |
Aucune | Pays-Bas : europe-west4 |
Lecture seule: us-central1 1-OU us-east1 1-OU |
eur6 |
Europe | Pays-Bas : europe-west4 L,2R Francfort : europe-west3 2R |
Aucune | Zurich : europe-west6 |
Lecture seule: us-east1 2-OR |
nam3 |
Amérique du Nord | Virginie du Nord : us-east4 L,2R Caroline du Sud : us-east1 2R |
Aucune | Iowa : us-central1 |
Lecture seule: us-west2 1-OR |
nam6 |
Amérique du Nord | Iowa : us-central1 L,2R Caroline du Sud : us-east1 2R |
Oregon : us-west1 1R Los Angeles : us-west2 1R |
Oklahoma : us-central2 |
|
nam7 |
Amérique du Nord | Iowa : us-central1 L,2R Virginie du Nord : us-east4 2R |
Aucune | Oklahoma : us-central2 |
Lecture seule: us-east1 2-OU us-south1 1-OU europe-west1 2-OU |
nam8 |
Amérique du Nord | Los Angeles : us-west2 L,2R Oregon : us-west1 2R |
Aucune | Salt Lake City : us-west3 |
Lecture seule: asia-southeast1 2R europe-west2 2R |
nam9 |
Amérique du Nord | Virginie du Nord : us-east4 L,2R Iowa : us-central1 2R |
Oregon : us-west1 2R |
Caroline du Sud : us-east1 |
|
nam10 |
Amérique du Nord | Iowa : us-central1 L,2R Salt Lake City : us-west3 2R |
Aucune | Oklahoma : us-central2 |
|
nam11 |
Amérique du Nord | Iowa : us-central1 L,2R Caroline du Sud : us-east1 2R |
Aucune | Oklahoma : us-central2 |
Lecture seule: us-west1 1-OR |
nam12 |
Amérique du Nord | Iowa : us-central1 L,2R Virginie du Nord : us-east4 2R |
Oregon : us-west1 2R |
Oklahoma : us-central2 |
|
nam13 |
Amérique du Nord | Oklahoma: us-central2 L,2R Iowa: us-central1 2R |
Aucune | Salt Lake City : us-west3 |
|
nam14 |
Amérique du Nord | Virginie du Nord: us-east4 L,2R Montréal: northamerica-northeast1 2R |
Aucune | Caroline du Sud : us-east1 |
|
nam15 |
Amérique du Nord | Dallas: us-south1 L,2R Virginie du Nord: us-east4 2R |
Aucune | Iowa : us-central1 |
Trois continents
Nom de la configuration de base | Emplacements | Régions de lecture/écriture | Régions de lecture seule | Région témoin | Région facultative |
---|---|---|---|---|---|
nam-eur-asia1 |
Amérique du Nord Europe Asie |
Iowa : us-central1 L,2R Oklahoma : us-central2 2R |
Belgique : europe-west1 2R Taïwan : asia-east1 2R |
Caroline du Sud : us-east1 |
Lecture seule: us-west2 1-OR |
nam-eur-asia3 |
Amérique du Nord Europe Asie |
Iowa: us-central1 L,2R Caroline du Sud: us-east1 2R |
Belgique: europe-west1 1R Pays-Bas: europe-west4 1R Taïwan: asia-east1 2R |
Oklahoma : us-central2 |
L: région principale par défaut. Pour en savoir plus, consultez Modifier la région principale d'une base de données.
1R: une instance répliquée dans la région.
2R: deux instances répliquées dans la région
1-OR: une instance répliquée facultative. Vous pouvez créer une configuration d'instance régionale personnalisée et ajouter une instance répliquée en lecture seule facultative. Pour en savoir plus, consultez la section Créer une configuration d'instance personnalisée.
2-OR: jusqu'à deux instances répliquées facultatives. Vous pouvez créer une configuration d'instance régionale personnalisée et ajouter une ou deux instances répliquées en lecture seule facultatives. Nous vous recommandons d'en ajouter deux (si possible) pour maintenir une faible latence de lecture. Pour en savoir plus, consultez la section Créer une configuration d'instance personnalisée.
A: Cette configuration d'instance est limitée par une liste d'autorisation. Pour y accéder, contactez votre responsable de compte technique.
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 Spanner.
Distribution des données: Spanner réplique automatiquement vos données entre les régions avec des garanties fortes de cohérence. Vos données peuvent ainsi être stockées là 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 Spanner effectue la réplication sur des emplacements distants, vous pouvez toujours l'utiliser comme s'il s'agissait d'une base de données exécutée 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 de base contient deux régions désignées comme régions de lecture/écriture, chacune contenant deux instances répliqué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 répliquées principales de votre base de données. Spanner place également une instance répliquée témoin dans une troisième région appelé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 répliquées participant au vote, certaines configurations multirégionales de base contiennent des instances répliquées en lecture seule pour diffuser des lectures à faible latence. Les régions contenant des instances répliquées en lecture seule sont appelé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. 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. En outre, si votre application cliente se trouve dans une région non principale, Spanner utilise le routage compatible avec la version leader pour acheminer les transactions en lecture/écriture de manière dynamique afin de réduire la latence dans votre base de données. Pour en savoir plus, consultez la section Routage avec responsable.
Vous pouvez créer une configuration d'instance multirégionale personnalisée avec des instances répliquées en lecture seule facultatives. Les instances répliquées personnalisées en lecture seule que vous créez ne peuvent pas être incluses dans les quorums d'écriture. Vous pouvez ajouter des emplacements répertoriés dans la colonne "Région facultative" en tant qu'instances répliquées facultatives en lecture seule. Si vous ne voyez pas l'emplacement choisi pour l'instance répliquée en lecture seule, vous pouvez demander une nouvelle région d'instance répliquée facultative en lecture seule. Pour en savoir plus, consultez la section Instances répliquées en lecture seule.
Bonnes pratiques en matière de performances pour les configurations multirégionales
Pour optimiser les performances, suivez les bonnes pratiques suivantes :
- Concevez un schéma qui évite les hotspots et autres problèmes de performances.
- Pour une latence optimale en écriture, placez les ressources de calcul allouées aux charges de travail lourdes en écriture dans 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. Une bonne solution consiste à les placer à côté des deux régions de lecture/écriture différentes afin qu'une indisponibilité dans une seule région n'affecte pas l'ensemble de votre application.
- Provisionnez une capacité de calcul suffisante pour maintenir l'utilisation totale du processeur de haute priorité en dessous de 45 % dans chaque région.
- Pour connaître le débit par nœud Spanner, consultez la page Performances pour les configurations multirégionales.
Types de région
Spanner comporte trois types de régions: les régions de lecture/écriture, les régions de lecture seule et les régions témoins.
Régions de lecture/écriture
Chaque configuration multirégionale contient deux régions d'accès en lecture/écriture, chacune d'entre elles comportant deux instances répliquées en lecture/écriture.
L'une de ces régions de lecture/écriture est désignée comme la région principale par défaut. Une instance principale est sélectionnée parmi les instances répliquées dans la région principale par défaut pour chaque division. En cas de défaillance de l'instance dupliquée principale, l'autre instance dupliquée de la région principale par défaut prend 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. Dans la plupart des cas, lorsque la région principale par défaut revient à un état sain, la région est automatiquement réactivée.
Les écritures sont d'abord traitées dans la région principale par défaut. Vous pouvez surveiller le pourcentage d'instances répliquées dans une région donnée à l'aide de la métrique de surveillance instance/leader_percentage_by_region
. Pour en savoir plus, consultez la page Métriques Spanner.
La deuxième région de lecture/écriture contient des instances répliquées supplémentaires qui diffusent des lectures et participent au vote afin de valider les écritures. Ces instances répliquées supplémentaires dans la deuxième région de lecture/écriture sont éligibles en tant que versions principales. Dans le cas peu probable de la perte de toutes les instances répliquées dans la région principale par défaut, de nouvelles instances répliquées principales sont choisies dans la deuxième région de lecture/écriture.
Vous pouvez configurer la région principale d'une base de données en suivant les instructions de la section Modifier la région principale d'une base de données. Pour en savoir plus, consultez Configurer la région principale par défaut.
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. Les instances répliquées en lecture seule conservent une copie complète de vos données, qui est répliquée à partir des instances répliquées en lecture/écriture. Ils ne participent pas au vote pour valider les écritures, et ne contribuent donc jamais à la latence d'écriture.
Certaines configurations multirégionales de base contiennent des instances répliquées en lecture seule. Vous pouvez également créer une configuration d'instance personnalisée et ajouter des instances répliquées en lecture seule à vos configurations d'instances personnalisées afin de procéder au scaling des lectures et de prendre en charge les lectures non actualisées à faible latence. Toutes les instances répliquées en lecture seule sont soumises à des coûts de capacité de calcul et de stockage de la base de données. De plus, l'ajout d'instances répliquées en lecture seule à une configuration d'instance ne modifie pas les contrats de niveau de service de Spanner associés à la configuration de l'instance. Pour en savoir plus, consultez la section Instances répliquées en lecture seule.
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.
Déplacer une instance
Vous pouvez déplacer votre instance Spanner de n'importe quelle configuration d'instance vers n'importe quelle autre configuration d'instance, y compris entre des configurations régionales et multirégionales. Le déplacement de votre instance n'entraîne pas de temps d'arrêt, et Spanner continue de fournir les garanties de transaction habituelles, y compris une cohérence forte, pendant le déplacement.
Pour en savoir plus sur le déplacement d'instances Spanner, consultez la page Déplacer une instance.
Configurer la région principale par défaut
Pour modifier l'emplacement de la région principale par défaut de votre base de données afin qu'elle soit plus proche de la connexion des clients afin de réduire la latence des applications, vous pouvez modifier la région principale de toute instance Spanner utilisant une configuration multirégionale. Pour découvrir comment modifier l'emplacement de la région principale, consultez la section Modifier la région principale d'une base de données. Les seules régions éligibles pour devenir la région principale par défaut de votre base de données sont les régions de lecture/écriture dans votre configuration multirégionale.
La région principale est responsable de la gestion de toutes les écritures de base de données. Par conséquent, si la majeure partie de votre trafic provient d'une seule région géographique, vous pouvez la déplacer vers cette région pour réduire la latence. La mise à jour de la région principale par défaut n'est pas coûteuse et n'implique aucun déplacement de données. La prise en compte de la nouvelle valeur prend quelques minutes.
La modification de la région principale par défaut correspond à une modification du schéma qui utilise une opération de longue durée. Si nécessaire, vous pouvez obtenir l'état de l'opération de longue durée.
Compromis: configurations régionales ou multirégionales
Configuration | Qui peut en bénéficier ? | 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 pricing. | Active la gouvernance des données géographiques. |
Multirégionale | 99,999 % | Latences de lecture plus faibles depuis plusieurs régions géographiques, légère augmentation de la latence en écriture. | Coûts plus élevés ; consultez les pricing. | Distribue les données sur plusieurs régions de la configuration. |
Étapes suivantes
- Découvrez comment créer une instance Spanner.
- Apprenez-en davantage sur les régions et les zones Google Cloud.