Présentation du géopartitionnement

Cette page présente et explique le fonctionnement du partitionnement géographique dans Spanner.

Spanner propose des configurations d'instance régionales et multirégionales, qui vous permettent de répliquer vos données sur plusieurs emplacements géographiques. Le géopartitionnement vous permet de segmenter davantage de stocker des lignes dans votre table de base de données pour différentes configurations d'instance.

Avantages et cas d'utilisation

Voici les avantages du géopartitionnement :

  • Ce stockage réduit la latence d'écriture et la forte latence de lecture au même emplacement géographique que votre requête.

  • Optimise les coûts pour les charges de travail mondiales asymétriques (par exemple, en utilisant un Partition us-central1 comportant 10 nœuds et une partition asia-south1 avec 2 nœuds nœuds).

Voici des cas d'utilisation courants :

  • Données liées à l'utilisateur: géopartitionnement des données liées à l'utilisateur à traiter et stocker les données dans la région la plus proche de l'utilisateur.

  • Données localisées: informations propres à la zone géographique, comme les conditions de circulation et les événements.

Fonctionnement du géopartitionnement

Toutes les instances Spanner ont une partition d'instance principale appelé la partition default. Si vous ne créez pas de partitions supplémentaires, toutes de base de données sont stockés dans la partition par défaut, qui se trouve dans le même emplacement que votre configuration d'instance.

Si vous souhaitez partitionner les données d'une base de données, vous devez créer des de votre instance. Ces partitions créées par l'utilisateur ont leur propre (régionale ou multirégionale) et le nombre de nœuds. Créez votre base de données selon la procédure habituelle. votre base de données peut interagir avec les partitions créées dans la même instance. Ensuite, créer des emplacements associés dans votre base de données avec la partition. Enfin, vous pouvez créer des tableaux d'emplacements comportant un attribut de clé d'emplacement. Vous devez utiliser la clé d'emplacement dans vos instructions DML pour spécifier la partition dans laquelle se trouvent les données de ligne. Si vous créez tables hors emplacements dans votre base de données, Spanner stocke ces données dans la partition par défaut.

Pour savoir comment utiliser les partitions, consultez créer et gérer des partitions.

Remarques importantes

Tenez compte des points suivants avant de créer vos partitions, emplacements et tableaux d'emplacements:

  • Emplacement de partition: sélectionnez soigneusement les régions de partition qui fournissent le le plus d'avantages pour votre application.

    Bien que vous puissiez créer des partitions dans une instance avec une instance régionale nous vous recommandons de créer des partitions dans une instance configuration d'instance multirégionale de sorte que l'emplacement de partition par défaut soit également dans une configuration multirégionale.

    De plus, sélectionnez un emplacement de partition multirégional par défaut ayant régions de lecture/écriture et de lecture seule couvrant toutes les juridictions requises par votre application. Créez ensuite des partitions supplémentaires (qui peuvent être régionales) avec des régions leaders correspondant aux régions de la partition par défaut multirégionale.

  • Nombre de partitions: trop de partitions peut entraîner une surcharge. peu n'offriront peut-être pas assez d'avantages. Vous pouvez créer jusqu'à 10 de partitions par instance.

Limites

Les limites suivantes s'appliquent pendant la version Preview et sont susceptibles d'être modifiées ou supprimées à la sortie de la version GA ou après :

  • Le géopartitionnement n'est pas compatible avec les bases de données en dialecte PostgreSQL.
  • Vous ne pouvez pas créer de partition d'instance à l'aide d'une configuration birégionale.
  • Pour chaque partition, la capacité de calcul doit être d'au moins un nœud (1 000 unités de traitement).
  • Pour une instance donnée, vous ne pouvez pas créer plusieurs partitions d'instance utilise la même configuration d'instance de base. Par exemple, dans test-instance, vous ne pouvez pas créer deux partitions, partition-1 et partition-2 qui utilisent tous deux us-central1 comme configuration de partition.
  • Pour chaque nœud de votre partition, vous pouvez placer au maximum 20 millions . Vous pouvez afficher le nombre de lignes d'emplacement qui ont été placées dans chacune de vos partitions sur la page "Partitions" de la console Google Cloud.
  • Pour chaque nœud de votre partition d'instance de destination, Spanner peut déplacer environ 10 lignes d'emplacements par seconde.
  • Vous ne pouvez pas créer de partitions dans les instances d'essai gratuit ni dans les instances de taille plus petite qu'un nœud (1 000 unités de traitement).
  • Vous ne pouvez pas créer de sauvegardes pour les instances avec des partitions.
  • Vous ne pouvez pas utiliser de clés de chiffrement gérées par le client pour les instances avec des partitions.
  • Vous ne pouvez pas créer de partitions d'instance dans une instance avec autoscaler géré activé.
  • Vous ne pouvez pas déplacer la partition vers une autre configuration d'instance.
  • Vous ne pouvez pas déplacer une instance comportant des partitions. Vous pouvez déplacer des lignes dans des partitions différentes afin que vous n'ayez pas besoin de déplacer l'instance.)
  • L'utilisation de partitions ne garantit pas la conformité ni les exigences réglementaires.
  • Les flux de modifications ne sont pas compatibles avec les données partitionnées.
  • Pour utiliser le partitionnement géographique, vous devez créer une base de données vide et définir le paramètre l'option opt_in_dataplacement_preview sur true ; Pour en savoir plus, consultez Créer et gérer des partitions
  • Si vous utilisez une instruction LMD INSERT ou DELETE pour une table d'emplacements, cette doit être le seul relevé de transaction.

Contrôle des accès avec IAM

Vous devez disposer du spanner.instancePartitions.create, spanner.instancePartitions.update et spanner.instancePartitions.delete pour créer et gérer des partitions. Si vous n'avez besoin que d'afficher partitions, vous devez disposer de la fonction spanner.instancePartitions.list ou Autorisation spanner.instancePartitions.get. Pour en savoir plus, consultez Présentation d'IAM

Pour savoir comment accorder des autorisations IAM Spanner, consultez la page Appliquer des autorisations IAM

Surveillance

Spanner fournit plusieurs métriques pour vous aider à surveiller des partitions. Après la création d'une partition supplémentaire, un filtre déroulant supplémentaire pour Partitions (Partitions) dans l'onglet "System Insights" (Insights sur le système) de la console Google Cloud. Par défaut, les métriques Toutes les partitions. Vous pouvez utiliser le menu déroulant pour filtrer les métriques d'une partition.

Pour en savoir plus sur la surveillance de vos ressources Spanner, consultez Surveiller des instances avec Cloud Monitoring

Tarifs

L'utilisation du partitionnement géographique est gratuite. Le montant de les tarifs standards de Spanner pour la quantité de capacité de calcul qu'utilise votre instance et l'espace de stockage utilisé par votre base de données.

Pour en savoir plus, consultez la page Tarifs de Spanner.

Étape suivante