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:
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.
Accédez à la page Quotas.
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.
Sélectionnez les quotas que vous souhaitez modifier.
Cliquez sur Modifier les quotas.
Dans le panneau Modifications des quotas qui s'affiche, saisissez votre nouvelle limite.
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.
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.
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 |
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 |
|
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.