Catch up on highlights from Firebase at Google I/O 2023. Learn more

Utilisation et limites

Utilisez ce guide pour comprendre les limites de Cloud Firestore et consultez Tarification de Cloud Firestore pour une explication complète et détaillée des coûts de Cloud Firestore, y compris les éléments à surveiller.

Surveillez votre utilisation

Pour surveiller votre utilisation de Cloud Firestore, ouvrez l' onglet Utilisation de Cloud Firestore dans la console Firebase. Utilisez le tableau de bord pour évaluer votre utilisation sur différentes périodes.

Utilisation détaillée dans Google Cloud Console

Lorsque vous créez un projet Firebase, vous créez également un projet Google Cloud. Les pages Quotas de l'API Cloud Firestore et Quotas App Engine de Google Cloud Console suivent l'utilisation de Cloud Firestore et les informations sur les quotas.

Quota gratuit

Cloud Firestore offre un quota gratuit qui vous permet de démarrer sans frais. Les montants des quotas gratuits sont répertoriés ci-dessous. Si vous avez besoin de plus de quota, vous devez activer la facturation pour votre projet Cloud Platform .

Les quotas sont appliqués quotidiennement et réinitialisés vers minuit, heure du Pacifique.

Niveau gratuit Quota
Les données stockées 1 Gio
Lectures de documents 50 000 par jour
Ecritures de documents 20 000 par jour
Suppressions de documents 20 000 par jour
Sortie réseau 10 Gio par mois

Limites standards

Les tableaux suivants indiquent les limites qui s'appliquent à Cloud Firestore. Ce sont des limites strictes, sauf indication contraire.

Collections, documents et champs

Limite Détails
Contraintes sur les ID de collection
  • Doit être des caractères UTF-8 valides
  • Ne doit pas dépasser 1 500 octets
  • Ne peut pas contenir de barre oblique ( / )
  • Ne peut pas être composé uniquement d'un seul point ( . ) ou de doubles points ( .. )
  • Ne peut pas correspondre à l'expression régulière __.*__
Profondeur maximale des sous-collections 100
Contraintes sur les ID de document
  • Doit être des caractères UTF-8 valides
  • Ne doit pas dépasser 1 500 octets
  • Ne peut pas contenir de barre oblique ( / )
  • Ne peut pas être composé uniquement d'un seul point ( . ) ou de doubles points ( .. )
  • Ne peut pas correspondre à l'expression régulière __.*__
  • Si vous importez des entités Datastore dans une base de données Firestore, les ID d'entité numériques sont exposés sous la forme __id[0-9]+__
Taille maximale d'un nom de document 6 Kio
Taille maximale d'un document 1 Mio (1 048 576 octets)
Contraintes sur les noms de champs Doit être des caractères UTF-8 valides
Taille maximale d'un nom de champ 1 500 octets
Contraintes sur les chemins de terrain
  • Doit séparer les noms de champs par un seul point ( . )
  • Peut être transmis sous forme de chaîne lorsque tous les noms de champ dans le chemin sont simples, sinon doit être transmis sous forme d'objet FieldPath ( par exemple JavaScript FieldPath )
Un nom de champ simple est un nom où toutes les conditions suivantes sont vraies :
  • Contient uniquement les caractères az , AZ , 0-9 et le trait de soulignement ( _ )
  • Ne commence pas par 0-9
Taille maximale d'un chemin de champ 1 500 octets
Taille maximale d'une valeur de champ 1 Mio - 89 octets (1 048 487 octets)
Profondeur maximale des champs dans une carte ou un tableau 20

Ecritures et transactions

En plus de ces limites, vous devriez également voir les meilleures pratiques de conception pour l'échelle .

Limite Détails
Taille maximale de la requête API 10 Mio
Nombre maximal de transformations de champ pouvant être effectuées sur un seul document dans une opération Commit ou dans une transaction 500
Délai pour une transaction 270 secondes, avec un temps d'expiration d'inactivité de 60 secondes

Limites souples

Cloud Firestore ne vous empêche pas de dépasser les seuils ci-dessous, mais cela affecte les performances.

Limite douce Détails
Taux d'écriture maximal dans une collection dans laquelle les documents contiennent des valeurs séquentielles dans un champ indexé 500 par seconde

Index

Les limites suivantes s'appliquent aux index à champ unique et aux index composites :

Limite Détails
Nombre maximal d'index composites pour une base de données

200

Vous pouvez contacter le support pour demander une augmentation de cette limite.

Nombre maximal de configurations à champ unique pour une base de données

200

Un total de 200 configurations au niveau du champ sont autorisées. Une configuration de champ peut contenir plusieurs configurations pour le même champ. Par exemple, une exemption d'indexation à champ unique et une stratégie TTL sur le même champ comptent comme une configuration de champ dans la limite.

Nombre maximal d'entrées d'index pour chaque document

40 000

Le nombre d'entrées d'index est la somme des éléments suivants pour un document :

  • Le nombre d'entrées d'index à champ unique
  • Le nombre d'entrées d'index composites

Pour voir comment Cloud Firestore transforme un document et un ensemble d'index en entrées d'index, consultez cet exemple de nombre d'entrées d'index .

Nombre maximal de champs dans un index composite 100
Taille maximale d'une entrée d'index

7.5 Kio

Pour voir comment Cloud Firestore calcule la taille d'entrée d'index, consultez la section taille d'entrée d'index .

Somme maximale des tailles des entrées d'index d'un document

8 Mio

La taille totale est la somme des éléments suivants pour un document :

  • La somme de la taille des entrées d'index à champ unique d'un document
  • La somme de la taille des entrées d'index composites d'un document
  • Taille maximale d'une valeur de champ indexée

    1500 octets

    Les valeurs de champ supérieures à 1500 octets sont tronquées. Les requêtes impliquant des valeurs de champ tronquées peuvent renvoyer des résultats incohérents.

    Durée de vie (TTL)

    Limite Détails
    Nombre maximal de configurations à champ unique pour une base de données

    200

    Un total de 200 configurations au niveau du champ sont autorisées. Une configuration de champ peut contenir plusieurs configurations pour le même champ. Par exemple, une exemption d'indexation à champ unique et une stratégie TTL sur le même champ comptent comme une configuration de champ dans la limite.

    Exporter/Importer

    Les limites suivantes s'appliquent aux opérations d'importation et d'exportation gérées :

    Limite Détails
    Nombre total maximal de demandes d'exportation et d'importation pour un projet autorisé par minute 20
    Nombre maximal d'exportations et d'importations simultanées 50
    Nombre maximal de filtres d'ID de collection pour les demandes d'exportation et d'importation 100

    Règles de sécurité

    Limite Détails
    Nombre maximal d'appels exists() , get() et getAfter() par requête
    • 10 pour les demandes de document unique et les demandes de requête.
    • 20 pour les lectures de plusieurs documents, les transactions et les écritures par lots. La limite précédente de 10 s'applique également à chaque opération.

      Par exemple, imaginez que vous créez une demande d'écriture par lot avec 3 opérations d'écriture et que vos règles de sécurité utilisent 2 appels d'accès aux documents pour valider chaque écriture. Dans ce cas, chaque écriture utilise 2 de ses 10 appels d'accès et la demande d'écriture groupée utilise 6 de ses 20 appels d'accès.

    Le dépassement de l'une ou l'autre des limites entraîne une erreur d'autorisation refusée.

    Certains appels d'accès aux documents peuvent être mis en cache et les appels mis en cache ne sont pas pris en compte dans les limites.

    Profondeur maximale de l'instruction match imbriquée dix
    Longueur maximale du chemin, en segments de chemin, autorisée dans un ensemble d'instructions match imbriquées 100
    Nombre maximal de variables de capture de chemin autorisées dans un ensemble d'instructions match correspondance imbriquées 20
    Profondeur maximale d'appel de fonction 20
    Nombre maximal d'arguments de fonction 7
    Nombre maximal de liaisons de variables let par fonction dix
    Nombre maximal d'appels de fonction récursifs ou cycliques 0 (non autorisé)
    Nombre maximal d'expressions évaluées par requête 1 000
    Taille maximale d'un jeu de règles Les ensembles de règles doivent respecter deux limites de taille :
    • une limite de 256 Ko sur la taille de la source de texte de l'ensemble de règles publié à partir de la console Firebase ou de la CLI à l'aide firebase deploy .
    • une limite de 250 Ko sur la taille de l'ensemble de règles compilé qui se produit lorsque Firebase traite la source et la rend active sur le back-end.

    Gérer les dépenses

    Pour éviter des frais inattendus sur votre facture, définissez des budgets et des alertes mensuels.

    Définir un budget mensuel

    Pour suivre vos coûts Cloud Firestore, créez un budget mensuel dans Google Cloud Console. Les budgets ne limiteront pas votre utilisation, mais vous pouvez définir des alertes pour vous avertir lorsque vous approchez ou dépassez vos coûts prévus pour le mois.

    Pour définir un budget, accédez à la section Facturation de Google Cloud Console et créez un budget pour votre compte Cloud Billing. Vous pouvez utiliser les paramètres d'alerte par défaut ou modifier les alertes pour envoyer des notifications à différents pourcentages de votre budget mensuel.

    En savoir plus sur la configuration des budgets et des alertes budgétaires .

    Fixez une limite de dépenses quotidiennes

    Pour limiter votre utilisation de Cloud Firestore, définissez une limite de dépense quotidienne via App Engine. App Engine vous permet de définir une limite de dépenses quotidiennes sur les ressources associées à App Engine, y compris Cloud Firestore. La limite App Engine ne s'applique à aucun autre produit Firebase.