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:
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.
Accédez à la page Quotas.
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.
Sélectionnez les quotas que vous souhaitez modifier.
Cliquez sur Modifier les quotas.
Dans le panneau Modifications du quota qui s'affiche, saisissez votre nouvelle limite de quota.
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.
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.
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 |
Limites des bases de données
Value (Valeur) | Limite |
---|---|
Bases de données par instance |
|
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 |
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.