Quotas et limites

Cette page décrit les quotas et les limites de production pour Spanner. Les quotas 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 de vérification et de modification des quotas

Pour afficher vos quotas, vous devez disposer de l'autorisation IAM (Identity and Access Management) 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 de propriétaire et d'éditeur des rôles IAM de base, 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, nous vous recommandons d'envoyer une demande quelques jours à l'avance afin de vous assurer que vos quotas sont appropriés.

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

Vous pouvez augmenter la limite actuelle du nombre 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 la mention API Spanner n'est pas affichée, cela signifie que cette API 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 du quota qui s'affiche, saisissez votre nouvelle limite de quota.

    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'à atteindre le nombre souhaité, cliquez sur Demander un quota supérieur. Remplissez le formulaire pour envoyer une demande à l'équipe Spanner. Vous recevrez une réponse sous 48 heures.

Augmentez 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. Vous pouvez vérifier la limite de nœuds d'une configuration d'instance personnalisée en vérifiant la limite de nœuds de la configuration de base de l'instance.

    Utilisez la commande show instance configurations detail 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 de la configuration d'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
Configuration de nœuds par instance

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

Limites des instances

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

Limites d'instances en essai sans frais

Les instances Spanner en essai gratuit sont soumises aux limites supplémentaires suivantes. Pour augmenter ou supprimer ces limites, mettez à niveau votre instance en essai sans frais vers une instance payante.

Value (Valeur) Limite
Capacité de stockage 10 GB
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 Essai gratuit de 90 jours

Limites de configuration des instances

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

8 à 64 caractères

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

Limites des bases de données

Value (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
  • Pour les instances à 1 nœud (1 000 unités de traitement) ou plus : 4 To par nœud
  • Pour les instances de moins de 1 nœud : 409,6 Go pour 100 unités de traitement

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

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

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

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

Value (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'un tableau

Index

Value (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

Value (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

Value (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 inclus) 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

Value (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 de flux

Value (Valeur) Limite
Flux de modifications par base de données 10
Modifier les flux qui surveillent une colonne non clé donnée6 3
Lecteurs simultanés par partition de données du flux de modifications7 5

Limites de Data Boost

Value (Valeur) Limite
Requêtes Data Boost simultanées8 200

Notes

1. Afin de fournir une haute disponibilité et une faible latence pour l'accès aux bases 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 alloue 409,6 Go de données pour 100 unités de traitement de la base de données.
  • Pour les instances à un 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 dépasse 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 une expérience de croissance en douceur, ajoutez de la capacité de calcul avant que la limite de votre base de données ne soit atteinte.

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 comporte deux index secondaires, la suppression d'une plage de lignes de la table compte 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, ce qui empêche Spanner d'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 aucune mutation prise en compte 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 l'intégralité d'une table ou d'une base de données 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 de la 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 la région. Pour en savoir plus, consultez Surveiller et gérer l'utilisation du quota Data Boost.