Capacité de calcul, nœuds et unités de traitement

Cette page décrit la capacité de calcul de Spanner et les deux unités de mesure utilisées pour la quantifier : les nœuds et les unités de traitement.

Capacité de calcul

La capacité de calcul définit la quantité de ressources de serveur et de stockage disponibles pour les bases de données d'une instance. Lorsque vous créez une instance, vous spécifiez sa capacité de calcul en nombre d'unités de traitement ou en nombre de nœuds, 1000 unités de traitement étant égales à 1 nœud.

L'unité de mesure que vous utilisez n'a pas d'importance, sauf si vous créez une instance dont la capacité de calcul est inférieure à 1 000 unités de traitement (1 nœud). Dans ce cas, vous devez utiliser les unités de traitement pour spécifier la capacité de calcul de l'instance.

Lorsque vous définissez ou modifiez la capacité de calcul d'une instance, vous spécifiez unités de traitement par multiples de 100 (100, 200, 300, etc.). Lorsque le numéro atteint 1 000, vous pouvez spécifier des quantités plus importantes multiples de 1 000 unités de traitement (1 000, 2 000, 3 000, etc.) ou sous forme de nœuds (1, 2, 3, etc.).

Les instances de moins de 1 000 unités de traitement sont conçues pour des tailles de données, des requêtes et des charges de travail plus petites. Leurs ressources de calcul sont limitées, peut entraîner un scaling et des performances non linéaires pour certaines charges de travail, et peut connaissent des augmentations intermittentes des latences.

Limites de stockage des données

Comme indiqué dans la section Quotas et limites, pour fournir une haute disponibilité et une faible latence lors de l'accès à une base de données, Spanner utilise la capacité de calcul d'une instance comme base pour déterminer les limites de stockage, en suivant les consignes suivantes :

  • Pour les instances de moins de 1 nœud (1 000 unités de traitement), Spanner attribue 409,6 Go de données 100 unités de traitement dans la base de données.
  • Pour les instances de 1 nœud ou plus, Spanner attribue les ressources 4 To de données pour chaque nœud. Une capacité de stockage accrue (10 To par nœud) est disponible dans certaines configurations d'instances Spanner régionales, birégionales et multirégionales. Pour en savoir plus, consultez la section Améliorations des performances et du stockage.

Par exemple, pour créer une instance d'une base de données de 300 Go, vous pouvez définir sa capacité de calcul sur 100 unités de traitement. Cette quantité de calcul la capacité maintient l'instance en dessous de la limite jusqu'à ce que la base de données atteigne plus supérieure à 409,6 Go. Une fois que la base de données atteint cette taille, vous devez ajouter 100 unités de traitement supplémentaires pour permettre à la base de données se développer. Sinon, Spanner risque de rejeter les écritures dans la base de données. Pour en savoir plus, consultez la section Recommandations pour l'utilisation du stockage de bases de données.

Spanner facture l'espace de stockage utilisé par les instances et non l'espace de stockage total alloué.

Performance

Les valeurs maximales de débit en lecture et en écriture qu'une quantité donnée de capacité de calcul peut fournir dépendent de la configuration de l'instance, de la conception du schéma et des caractéristiques de l'ensemble de données. Pour en savoir plus, consultez la section Présentation des performances.

Vous utilisez des instances comptant moins de 1 000 unités de traitement pour des données plus petites, requêtes et charges de travail. Pour les charges de travail plus importantes, leurs ressources de calcul limitées peuvent entraîner une évolutivité et des performances non linéaires, avec des augmentations intermittentes des latences.

Capacité de calcul et configurations d'instances

Comme décrit dans la section Configurations régionales, birégionales et multirégionales, Spanner distribue une instance sur plusieurs zones d'une ou de plusieurs régions afin de fournir des performances élevées et une haute disponibilité. Par conséquent, Spanner distribue également les ressources de serveur fournies par la capacité de calcul de l'instance.

Voici un diagramme illustrant cette répartition des ressources de serveur :

Deux instances créées dans une configuration d'instance régionale

Ce diagramme illustre deux instances avec des configurations régionales :

  • Instance-A affiche une instance de 1 000 unités de traitement (un nœud) avec ses de la capacité de calcul consommant des ressources de serveur dans chacune des trois zones.
  • Instance-B est une instance de 2 000 unités de traitement (2 nœuds) dont la distribution de la capacité de calcul consomme des ressources serveur dans chacune des trois zones.

Notez les points suivants dans ce schéma :

  • Pour chaque instance, Spanner alloue des ressources de serveur à chaque instance zone de la configuration régionale. Chaque ressource de serveur zonale utilise les données de l'instance dupliquée de sa zone. Pour en savoir plus sur les instances répliquées de données de configuration, consultez Configurations régionales, birégionales et multirégionales : Pour savoir comment Spanner synchronise ces instances dupliquées des données, consultez la page Réplication.

  • Les ressources de serveur pour Instance-A sont affichées dans des cadres uniques, tandis que les ressources pour Instance-B sont affichées dans des cadres subdivisés en deux parties. Cette différence illustre le fait que Spanner alloue les ressources de serveur différemment pour les instances de taille différente :

    • Pour les instances de 1 000 unités de traitement (1 nœud) et moins, Spanner alloue les ressources de serveur dans une seule tâche de serveur par zone.
    • Pour les instances de plus de 1 000 unités de traitement (1 nœud), Spanner alloue les ressources de serveur dans plusieurs tâches de serveur par zone, avec une tâche pour 1 000 unités de traitement. L'utilisation de plusieurs tâches de serveur par zone offre de meilleures performances et permet à Spanner de créer des partitions de base de données ainsi que d'optimiser les performances.

Modifier la capacité de calcul

Après avoir créé une instance, vous pouvez augmenter sa capacité de calcul ultérieurement. Dans la plupart des cas, les requêtes sont traitées en quelques minutes. À de rares occasions, une échelle peut prendre jusqu'à une heure.

Dans la plupart des cas, vous pouvez également réduire la capacité de calcul. Dans certains cas, où vous ne pouvez pas réduire la capacité de calcul:

  • Pour supprimer la capacité de calcul, votre instance doit stocker plus de 4 To de données pour 1 000 unités de traitement (1 nœud).
  • En se basant sur l'historique de vos schémas d'utilisation, Spanner a créé un grand nombre de divisions pour les données de votre instance. Dans de rares cas, Spanner ne serait plus en mesure de gérer ces divisions en cas de suppression de la capacité de calcul.

Dans ce cas, vous pouvez essayer de réduire la capacité de calcul progressivement par petites quantités jusqu'à ce que vous trouviez la capacité minimale dont Spanner a besoin pour gérer toutes les divisions de l'instance. Si l'instance ne nécessite plus En raison d'un changement des schémas d'utilisation, le nombre de divisions vous pouvez fusionner des divisions et essayer de réduire la capacité de calcul de l'instance après une semaine ou deux.

Lorsque vous supprimez de la capacité de calcul, surveillez l'utilisation du processeur et demandez les latences dans Cloud Monitoring pour garantir l'utilisation reste inférieure à 65 % et 45% pour chaque région et des instances multirégionales. Il est possible que la latence des requêtes augmente temporairement lors de la suppression de la capacité de calcul.

Spanner ne dispose pas de mode de suspension. Spanner la capacité de calcul est dédiée et, même lorsque vous n'exécutez pas Spanner effectue fréquemment des tâches en arrière-plan pour optimiser et protéger vos données.

Vous pouvez utiliser la console Google Cloud, Google Cloud CLI, ou le client Spanner pour modifier la capacité de calcul. Pour en savoir plus, consultez Modifier la capacité de calcul.

Capacité de calcul et instances dupliquées

Si vous devez faire évoluer les ressources de serveur et de stockage de votre instance, augmentez la capacité de calcul de l'instance. Notez que l'augmentation de la capacité de calcul n'augmente pas le nombre d'instances dupliquées (fixe pour une configuration d'instance donnée), mais accroît les ressources de chaque instance dupliquée au sein de l'instance. L'augmentation de la capacité de calcul donne à chaque instance répliquée plus de CPU et de RAM, ce qui augmente le débit de l'instance répliquée (c'est-à-dire, plus de lectures et d'écritures par seconde).

Étape suivante