Quotas et limites

Vous trouverez sur cette page la description des quotas et limites de production pour Cloud Spanner. Contrairement à une limite, qu'il est impossible d'ajuster, vous pouvez demander une augmentation de quota. Les quotas et les limites peuvent être utilisés de manière interchangeable dans Google Cloud Console. Si Google Cloud Console indique qu'il n'est pas possible de modifier un quota, il s'agit en réalité d'une limite qui ne peut pas être ajustée.

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

Vérifier les quotas

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

Vérifier les quotas

Augmenter les quotas

À mesure que votre utilisation de Cloud Spanner s'accroît, les quotas peuvent augmenter en conséquence. Si vous prévoyez une augmentation importante de l'utilisation, vous devez envoyer une demande quelques jours avant afin de toujours disposer du quota approprié.

  1. Accédez à la page Quotas de Cloud Console.

    Accéder à la page Quotas

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

    Si la mention API Cloud Spanner ne figure pas dans la liste, cela signifie que l'API Cloud Spanner n'a pas été activée.

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

  4. Cliquez sur Modifier les quotas.

  5. Indiquez votre nom, votre adresse e-mail et votre numéro de téléphone, puis cliquez sur Suivant.

  6. Remplissez votre demande de quota, puis cliquez sur Envoyer la requête.

Vous recevrez une réponse de l'équipe Cloud Spanner sous 48 heures.

Limites des instances

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

Limites des bases de données

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
Longueur de l'ID de base de données 2 à 30 caractères
Taille de l'espace de stockage1
  • Pour les instances de 1 nœud (1 000 unités de traitement) et supérieures : 2 To par nœud
  • Pour les instances de moins d'un nœud : 204,8 Go (≈ 205 Go) pour 100 unités de traitement

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.

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) 1
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 colonne 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é

Index

Valeur Limite
Index par base de données 10 000
Index par table 32
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
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 compris) 100 Mo
Lectures simultanées par session 100
Mutations par commit (index compris)2 20 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

Remarques

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

  • Pour les instances inférieures à un nœud (1 000 unités de traitement), Cloud Spanner attribue 204,8 Go (environ 205 Go) de données pour 100 unités de traitement de la base de données.
  • Pour les instances de 1 nœud et plus, Cloud Spanner alloue 2 To de données pour chaque nœud.

Par exemple, pour créer une instance d'une base de données de 300 Go, vous devez définir sa capacité de calcul sur 200 unités de traitement. Cette capacité de calcul maintient l'instance en deçà de la limite jusqu'à ce que la base de données atteigne plus de 409,6 Go. Au-delà de cette taille, il faut ajouter 100 unités de traitement supplémentaires afin de permettre à la base de données de croître. Sinon, les écritures dans la base de données risquent d'être rejetées. Pour en savoir plus, consultez la section Recommandations pour l'utilisation du stockage de bases de données.

Pour assurer un développement optimal, ajoutez de la capacité de calcul avant que la 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 comporte deux index secondaires, la suppression d'une plage de lignes dans la table représente une mutation. Mais chaque ligne supprimée correspond à deux mutations, car il se peut que les lignes des index secondaires soient dispersées dans l'espace clé, ce qui empêche Cloud 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.

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.