Configurations régionales et multirégionales

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 icône feuille Faibles émissions de CO2
northamerica-northeast2 Toronto icône feuille Faibles émissions de CO2
southamerica-east1 São Paulo icône feuille Faibles émissions de CO2
southamerica-west1 Santiago icône feuille Faibles émissions de CO2
us-central1 Iowa icône feuille 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 icône feuille Faibles émissions de CO2
us-west2 Los Angeles
us-west3 Salt Lake City
us-west4 Las Vegas
Europe
europe-central2 Varsovie
europe-north1 Finlande icône feuille Faibles émissions de CO2
europe-southwest1 Madrid
europe-west1 Belgique icône feuille Faibles émissions de CO2 Lecture seule: us-central1 1-OU
us-west1 1-OU
europe-west2 Londres icône feuille Faibles émissions de CO2
europe-west3 Francfort icône feuille Faibles émissions de CO2
europe-west4 Pays-Bas
europe-west6 Zurich icône feuille Faibles émissions de CO2
europe-west8 Milan
europe-west9 Paris icône feuille 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 :

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