Quotas et limites

Cette page décrit les quotas et les limites de production pour Spanner. Le quota et la limite peuvent être utilisés de manière interchangeable dans la console Google Cloud.

Les valeurs des quotas et des limites sont susceptibles de changer.

Autorisations permettant de vérifier et de modifier les quotas

Pour afficher vos quotas, vous devez disposer de l'autorisation Identity and Access Management (IAM) serviceusage.quotas.get.

Pour modifier vos quotas, vous devez disposer de l'autorisation IAM serviceusage.quotas.update. Elle est incluse par défaut pour les rôles prédéfinis suivants: propriétaire, éditeur et administrateur de quotas.

Ces autorisations sont incluses par défaut dans les rôles IAM de base de propriétaire et d'éditeur, ainsi que dans le rôle d'administrateur de quotas prédéfini.

Vérifier les quotas

Pour vérifier les quotas actuels associés aux ressources de votre projet, utilisez la console Google Cloud:

Accéder à la section "Quotas"

Augmenter les quotas

À mesure que votre utilisation de Spanner s'accroît, les quotas peuvent augmenter en conséquence. Si vous prévoyez une augmentation notable de l'utilisation, envoyez une demande quelques jours à l'avance pour vous assurer que vos quotas sont correctement dimensionnés.

Vous devrez peut-être également augmenter le quota de remplacement du quota du client. Pour en savoir plus, consultez la section Créer un remplacement de quota du client.

Vous pouvez augmenter la limite actuelle de nœuds de configuration de votre instance Spanner à l'aide de la console Google Cloud.

  1. Accédez à la page Quotas.

    Accéder à la page Quotas

  2. Sélectionnez API Spanner dans la liste déroulante Service.

    Si l'option API Spanner ne s'affiche pas, cela signifie que l'API Spanner n'a pas été activée. Pour en savoir plus, consultez la section Activer des API.

  3. Sélectionnez les quotas que vous souhaitez modifier.

  4. Cliquez sur Modifier les quotas.

  5. Dans le panneau Modifications des quotas qui s'affiche, saisissez votre nouvelle limite.

    Capture d'écran de la fenêtre de création d'instance

  6. Cliquez sur OK, puis sur Envoyer la demande.

    Si vous ne parvenez pas à augmenter manuellement la limite de nœuds jusqu'à la limite souhaitée, cliquez sur Demander un quota supérieur. Remplissez le formulaire pour envoyer une demande à l'équipe Spanner. Vous recevrez une réponse dans un délai de 48 heures.

Augmenter votre quota pour une configuration d'instance personnalisée

Vous pouvez augmenter le quota de nœuds pour votre configuration d'instance personnalisée.

  1. Vérifiez la limite du nombre de nœuds dans la configuration d'une instance personnalisée en vérifiant la limite du nombre de nœuds dans la configuration de base de l'instance.

    Utilisez la commande show instance configurations details (afficher les détails des configurations d'instance) si vous ne connaissez pas ou ne vous souvenez pas de la configuration de base de votre configuration d'instance personnalisée.

  2. Si la limite de nœuds requise pour la configuration de votre instance personnalisée est inférieure à 85, suivez les instructions de la section précédente Augmenter vos quotas. Utilisez la console Google Cloud pour augmenter la limite de nœuds dans la configuration de l'instance de base associée à votre configuration d'instance personnalisée.

    Si la limite de nœuds requise pour la configuration de votre instance personnalisée est supérieure à 85, remplissez le formulaire Demander une augmentation du quota de vos nœuds Spanner. Indiquez l'ID de votre configuration d'instance personnalisée dans le formulaire.

Limites concernant les nœuds

Valeur Limite
Nœuds par configuration d'instance

Les limites par défaut varient selon le projet et la configuration de l'instance. Pour modifier les limites de quota du projet ou demander une augmentation des limites, consultez la section Augmenter vos quotas.

Limites des instances

Valeur Limite
Longueur de l'ID de l'instance 2 à 64 caractères

Limites des instances en essai gratuit

Les limites supplémentaires ci-dessous s'appliquent à une instance en essai sans frais de Spanner. Pour augmenter ou supprimer ces limites, mettez à niveau votre instance en essai gratuit vers une instance payante.

Valeur Limite
Capacité de stockage 10 Go
Limite de base de données Créez jusqu'à cinq bases de données
Fonctionnalités non compatibles Sauvegarde et restauration
SLA Aucune garantie de contrat de niveau de service
Durée de l'essai Période d'essai gratuit de 90 jours

Limites de configuration des instances

Valeur Limite
Nombre maximal de configurations d'instances personnalisées par projet 100
Longueur de l'ID de configuration d'instance personnalisée

8 à 64 caractères

Un ID de configuration d'instance personnalisée doit commencer par custom-

Limites de géopartitionnement

Valeur Limite
Nombre maximal de partitions par instance 10
Nombre maximal de lignes d'emplacement par nœud dans votre partition9 20 millions

Limites des bases de données

  • Pour les instances de 1 nœud (1 000 unités de traitement) ou plus : 4 To par nœud
  • Pour les instances de moins d'un nœud : 409,6 Go pour 100 unités de traitement

Une capacité de stockage supplémentaire de 10 To par nœud est disponible dans certaines configurations d'instances Spanner régionales et multirégionales. Pour en savoir plus, consultez Améliorations des performances et de l'espace de stockage.

Les sauvegardes sont stockées séparément et ne sont pas comptabilisées dans cette limite. Pour en savoir plus, consultez la section Métriques d'utilisation du stockage.

Notez que Spanner facture l'espace de stockage réel utilisé dans une instance, et non l'espace de stockage total disponible.

Valeur Limite
Bases de données par instance
  • Pour les instances de 1 nœud (1 000 unités de traitement) et supérieures : 100 bases de données
  • Pour les instances de moins d'un nœud : 10 bases de données pour 100 unités de traitement
Rôles par base de données 100
Longueur de l'ID de base de données 2 à 30 caractères
Taille de l'espace de stockage1

Limites des sauvegardes et des restaurations

Valeur Limite
Nombre d'opérations de création de sauvegarde en cours par base de données 1
Nombre d'opérations de restauration de base de données en cours par instance (dans l'instance contenant la base de données restaurée, et non dans la sauvegarde) 10
Durée maximale de conservation de la sauvegarde 1 an (y compris le jour supplémentaire des années bissextiles)

Limites des schémas

Instructions LDD

Valeur Limite
Taille de l'instruction LDD pour une seule modification de schéma 10 Mo
Taille de l'instruction LDD pour le schéma complet d'une base de données, telle que renvoyée par GetDatabaseDdl 10 Mo

Tables

Valeur Limite
Tables par base de données 5 000
Longueur du nom de table 1 à 128 caractères
Colonnes par table 1 024
Longueur du nom de colonne 1 à 128 caractères
Taille des données par cellule 10 Mo
Nombre de colonnes dans une clé de table

16

Inclut les colonnes de clé partagées avec n'importe quelle table parente

Profondeur d'entrelacement des tables

7

Une table racine avec une ou plusieurs tables enfants a une profondeur de 1.

Une table racine possédant une ou plusieurs tables petits-enfants a une profondeur de 2, etc.

Taille totale d'une clé de table ou d'index

8 ko

Inclut la taille de toutes les colonnes qui composent la clé

Taille totale des colonnes non clés

1 600 Mo

Inclut la taille de toutes les colonnes non clés d'une table

Index

Valeur Limite
Index par base de données 10 000
Index par table 128
Longueur du nom d'index 1 à 128 caractères
Nombre de colonnes dans une clé d'index

16

Nombre de colonnes indexées (hormis les colonnes STORING) plus le nombre de colonnes de clé primaire dans la table de base

Vues

Valeur Limite
Vues par base de données 5 000
Longueur du nom de vue 1 à 128 caractères
Profondeur d'imbrication

10

Une vue qui fait référence à une autre vue a une profondeur d'imbrication 1. Une vue qui fait référence à une autre vue faisant référence à une autre vue a une profondeur d'imbrication 2, etc.

Limites des requêtes

Valeur Limite
Colonnes dans une clause GROUP BY 1 000
Valeurs d'un opérateur IN 10 000
Appels de fonctions 1 000
Jointures 20
Appels de fonctions imbriqués 75
Clauses GROUP BY imbriquées 35
Expressions de sous-requêtes imbriquées 25
Instructions "subselect" imbriquées 60
Paramètres 950
Longueur des instructions de requête 1 million de caractères
Champs STRUCT 1 000
Enfants des expressions de sous-requêtes 50
Liaisons des requêtes 200

Limites de création, lecture, modification et suppression des données

Valeur Limite
Taille du commit (index et flux de modifications compris) 100 Mo
Lectures simultanées par session 100
Mutations par commit (index compris)2 80 000
Instructions en mode LMD partitionné simultanées par base de données 20 000

Limites des tâches d'administration

Valeur Limite
Taille des requêtes des tâches d'administration3 1 Mo
Nombre maximal de tâches d'administration4

5 par seconde, par projet et par utilisateur

(moyenne sur 100 secondes)

Limites des requêtes

Valeur Limite
Taille des requêtes hors commits5 10 Mo

Modifier les limites des flux

Valeur Limite
Flux de modifications par base de données 10
Les flux de modifications surveillent une colonne non clé donnée6 3
Lecteurs simultanés par partition de données de flux de modifications7 5

Limites Data Boost

Valeur Limite
Requêtes Data Boost simultanées8 200

Remarques

1. Afin de fournir une haute disponibilité et une faible latence pour l'accès à une base de données, Spanner définit des limites de stockage en fonction de la capacité de calcul de l'instance:

  • Pour les instances de moins d'un nœud (1 000 unités de traitement), Spanner attribue 409,6 Go de données par tranche de 100 unités de traitement dans la base de données.
  • Pour les instances de 1 nœud ou plus, Spanner attribue 4 To de données à chaque nœud.

Par exemple, pour créer une instance pour une base de données de 600 Go, vous devez définir sa capacité de calcul sur 200 unités de traitement. Cette capacité de calcul maintient l'instance en dessous de la limite jusqu'à ce que la base de données atteigne plus de 819,2 Go. Une fois que la base de données a atteint cette taille, vous devez ajouter 100 unités de traitement supplémentaires pour permettre à la base de données de se développer. Sinon, les écritures dans la base de données risquent d'être refusées. Pour en savoir plus, consultez la section Recommandations pour l'utilisation du stockage de bases de données.

Pour assurer une croissance fluide, ajoutez de la capacité de calcul avant que votre base de données n'atteigne la limite.

2. Les opérations d'insertion et de modification sont comptabilisées en fonction du nombre de colonnes qu'elles concernent. Les colonnes de clé primaire sont toujours concernées. Par exemple, l'insertion d'un nouvel enregistrement peut correspondre à cinq mutations si des valeurs sont insérées dans cinq colonnes. La mise à jour de trois colonnes dans un enregistrement peut également compter comme cinq mutations si l'enregistrement possède deux colonnes de clé primaire. Les opérations de suppression et de suppression de plages représentent une seule mutation, quel que soit le nombre de colonnes concernées. La suppression d'une ligne contenant l'annotation ON DELETE CASCADE d'une table parente ne représente également qu'une seule mutation, quel que soit le nombre de lignes enfants entrelacées. En revanche, si des index secondaires sont définis sur des lignes supprimées, les modifications apportées aux index secondaires sont alors comptabilisées de manière individuelle. Par exemple, si une table possède deux index secondaires, la suppression d'une plage de lignes dans la table comptera comme une mutation pour la table, plus deux mutations pour chaque ligne supprimée, car les lignes de l'index secondaire peuvent être dispersées dans l'espace de clés. De ce fait, Spanner ne peut pas appeler une seule opération de suppression de plage sur les index secondaires. Les index secondaires incluent les index de sauvegarde de clés étrangères.

Pour connaître le nombre de mutations d'une transaction, consultez la section Récupérer les statistiques de commit d'une transaction.

Les flux de modifications n'ajoutent pas les mutations comptabilisées dans cette limite.

3. La limite d'une requête de tâche d'administration exclut les commits, les requêtes répertoriées dans la note 5 et les modifications de schémas.

4. Cette limite de fréquence inclut tous les appels à l'API Admin, y compris les appels pour interroger les opérations de longue durée d'une instance, d'une base de données ou d'une sauvegarde.

5. Cette limite inclut les demandes de création et de modification de base de données, de lecture, de lecture en streaming, d'exécution de requêtes SQL et d'exécution de requêtes SQL en streaming.

6. Un flux de modifications qui surveille une table ou une base de données entière surveille implicitement chaque colonne de cette table ou de cette base de données, et est donc comptabilisé dans cette limite.

7. Cette limite s'applique aux lecteurs simultanés d'une même partition de flux de modifications, qu'il s'agisse de pipelines Dataflow ou de requêtes API directes.

8. Les limites par défaut varient selon le projet et les régions. Pour en savoir plus, consultez Surveiller et gérer l'utilisation du quota Data Boost.

9. La majorité des partitions sont limitées à 20 millions de lignes par nœud. Les partitions utilisant les configurations us-west4, nam10 et nam-eur-asia1 sont limitées à 10 millions de lignes par nœud.