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 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 régionale (toutes les ressources sont contenues dans une seule région Google Cloud) ou multirégionale (les ressources s'étendant 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 d'instance avec des régions et des topologies de réplication fixes sont appelées configurations d'instance de base. Vous pouvez créer des configurations d'instances personnalisées et ajouter des instances répliquées en lecture seule facultatives. Vous ne pouvez pas modifier la topologie de réplication des configurations d'instance de base. Pour en savoir plus, consultez la page Instances répliquées en lecture seule.
Vous pouvez déplacer votre instance de n'importe quelle configuration d'instance vers toute autre configuration d'instance régionale ou multirégionale (par exemple, de us-centra1
à nam3
).Vous pouvez également créer une configuration d'instance personnalisée avec des instances dupliquées supplémentaires, puis déplacer votre instance vers la nouvelle configuration d'instance personnalisée. Par exemple, si votre instance se trouve dans la région us-central1
et que vous souhaitez ajouter une instance dupliquée en lecture seule us-west1
, vous devez créer une configuration d'instance personnalisée avec us-central1
comme configuration de base et ajouter us-west1
en tant qu'instance dupliquée en lecture seule. Déplacez ensuite votre instance vers cette nouvelle configuration d'instance personnalisée.
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 dupliqué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. Ainsi, en cas de défaillance d'une zone unique, votre base de données reste disponible.
Configurations disponibles
Spanner propose les configurations d'instance de base régionales suivantes:
Nom de la configuration de base | Description de la région | Région facultative | |
---|---|---|---|
Amériques | |||
northamerica-northeast1 |
Montréal
|
||
northamerica-northeast2 |
Toronto
|
||
southamerica-east1 |
São Paulo
|
||
southamerica-west1 |
Santiago
|
||
us-central1 |
Iowa
|
Lecture seule: asia-northeast1 1-OR asia-south1 1-OR europe-west2 1-OR europe-west9 1-OR |
|
us-east1 |
Caroline du Sud | Lecture seule: us-central1 1-OR us-west1 1-OR |
|
us-east4 |
Virginie du Nord | ||
us-east5 |
Columbus | ||
us-south1 |
Dallas | ||
us-west1 |
Oregon
|
||
us-west2 |
Los Angeles | ||
us-west3 |
Salt Lake City | ||
us-west4 |
Las Vegas | ||
Europe | |||
europe-central2 |
Varsovie | ||
europe-north1 |
Finlande
|
||
europe-southwest1 |
Madrid | ||
europe-west1 |
Belgique
|
Lecture seule: us-central1 1-OR us-west1 1-OR |
|
europe-west2 |
Londres
|
||
europe-west3 |
Francfort
|
||
europe-west4 |
Pays-Bas | ||
europe-west6 |
Zurich
|
||
europe-west8 |
Milan | ||
europe-west9 |
Paris
|
||
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 dupliquées en lecture/écriture. Chaque mutation 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 les configurations régionales. Pour en savoir plus sur les régions principales et les instances dupliqué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 permettent de faire évoluer les lectures et d'accepter des lectures obsolètes à faible latence. Ces instances répliquées en lecture seule ne participent pas aux quorums d'écriture et n'affectent pas le contrat de niveau de service de Spanner avec un taux de disponibilité supérieur ou égal à 99, 99% pour les instances régionales. Vous pouvez ajouter les emplacements répertoriés sous la colonne "Région facultative" en tant qu'instances dupliqué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 facultative d'instance répliquée en lecture seule. Pour en savoir plus, consultez la page Instances répliquées en lecture seule.
Bonnes pratiques concernant les performances pour les 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 le débit par nœud Spanner, consultez la section Performances des 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. Cependant, 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 aux utilisateurs d'Amérique du Nord et d'Asie).
- Vos écritures proviennent d'un emplacement différent de celui utilisé en lecture (par exemple, si vous avez des charges de travail d'écriture importantes en Amérique du Nord et des charges de travail de lecture volumineuses en Europe).
Les configurations multirégionales peuvent:
- Livrer des écritures à partir de plusieurs régions.
- Assurez la disponibilité en cas de défaillances régionales.
- Proposez une disponibilité et des contrats de niveau de service 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 dupliquées du quorum (lecture/écriture) sont réparties sur plusieurs régions. Vous constaterez peut-être une latence réseau supplémentaire lorsque ces instances dupliquées communiquent entre elles pour former un quorum d'écriture. Les lectures ne nécessitent pas de quorum. Résultat : votre application effectue des lectures plus rapides dans un plus grand nombre d'emplacements, au prix d'une légère augmentation de la latence en écriture. Pour en savoir plus, consultez la section Rôle des instances dupliqué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 |
Lecture seule: us-west1 1-OR us-east5 1-OR |
asia2 A |
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-OR us-east1 1-OR |
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 asia-southeast1 1-OR asia-southeast2 1-OR europe-west1 1-OR europe-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 la page 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 facultatives en lecture seule. 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. Ainsi, vos données peuvent ê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 se réplique 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 une seule machine. 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 dupliqué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.) Outre ces cinq instances dupliquées participant au vote, certaines configurations multirégionales de base contiennent des instances répliquées en lecture seule permettant de diffuser des lectures à faible latence. Les régions qui contiennent 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 prioritaire pour acheminer de manière dynamique les transactions en lecture-écriture afin de réduire la latence de votre base de données. Pour en savoir plus, consultez la section Routage basé sur les leaders.
Vous pouvez créer une configuration d'instance multirégionale personnalisée avec des instances répliquées facultatives en lecture seule. 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 les emplacements répertoriés sous 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 facultative d'instance répliquée en lecture seule. Pour en savoir plus, consultez la page Instances répliquées en lecture seule.
Bonnes pratiques concernant les 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 option consiste à les placer à côté des deux régions de lecture/écriture différentes afin que toute panne régionale n'affecte pas toute 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 le débit par nœud Spanner, consultez la section Performances pour les configurations multirégionales.
Types de région
Spanner comporte trois types de régions: des régions de lecture/écriture, des régions de lecture seule et des régions témoin.
Régions de lecture/écriture
Chaque configuration multirégionale contient deux 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 la région principale par défaut. Une variante optimale est sélectionnée parmi les instances dupliqué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, elle reprend automatiquement la direction.
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 pour valider les écritures. Ces instances répliquées supplémentaires de la deuxième région de lecture/écriture peuvent être considérées comme des instances principales. Dans le cas peu probable où toutes les instances dupliquées seraient perdues dans la région principale par défaut, de nouvelles instances répliquées principales seront 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 d'instances répliquées en lecture/écriture. Ils ne participent pas au vote pour valider les écritures et ne contribuent donc à aucune 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 y ajouter des instances répliquées avec accès en lecture seule pour assurer le scaling des lectures et accepter les lectures obsolètes à faible latence. Toutes les instances répliquées en lecture seule sont soumises aux 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 Spanner associés à la configuration de l'instance. Pour en savoir plus, consultez la page 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 d'une 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 de la rapprocher des clients et de réduire la latence des applications, vous pouvez modifier la région principale de toute instance Spanner qui utilise une configuration multirégionale. Pour savoir 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 région géographique, vous pouvez le déplacer vers cette région afin de 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 réduites à partir de plusieurs régions géographiques et légère augmentation de la latence d'écriture. | Coûts plus élevés ; consultez les pricing. | Distribue les données sur plusieurs régions de la configuration. |
Étapes suivantes
- Apprenez à créer une instance Spanner.
- Apprenez-en davantage sur les régions et les zones Google Cloud.