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 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 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-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 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-OR
us-west1 1-OR
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 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