Utilisez ce guide pour comprendre les limites de Cloud Firestore et consultez la 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 propose un quota gratuit qui vous permet de démarrer sans frais. Les montants des quotas gratuits sont indiqués ci-dessous. Si vous avez besoin de plus de quota, vous devez activer la facturation pour votre projet Google Cloud .
Les quotas sont appliqués quotidiennement et réinitialisés vers minuit, heure du Pacifique.
Seule la base de données (default)
est éligible au quota gratuit.
Niveau gratuit | Quota |
---|---|
Les données stockées | 1 Gio |
Lectures de documents | 50 000 par jour |
Document écrit | 20 000 par jour |
Suppressions de documents | 20 000 par jour |
Sortie réseau | 10 Gio par mois |
Les opérations et fonctionnalités suivantes n’incluent pas une utilisation gratuite. Vous devez activer la facturation pour utiliser ces fonctionnalités :
- TTL supprime
- Données PITR
- Données de sauvegarde
- Opérations de restauration
Pour plus d'informations sur la façon dont ces fonctionnalités sont facturées, consultez Tarification du stockage .
Limites standards
Les tableaux suivants montrent les limites qui s'appliquent à Cloud Firestore. Ce sont des limites strictes, sauf indication contraire.
Bases de données
Limite | Détails |
---|---|
Nombre maximum de bases de données par projet | 100 Vous pouvez contacter le support pour demander une augmentation de cette limite. |
Collections, documents et champs
Limite | Détails |
---|---|
Contraintes sur les identifiants de collection |
|
Profondeur maximale des sous-collections | 100 |
Contraintes sur les identifiants de documents |
|
Taille maximale pour un nom de document | 6 Ko |
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 champs |
` ). Par exemple, foo.`x&y` fait référence au champ x&y imbriqué sous le champ foo . Pour construire un nom de champ avec le caractère backtick, échappez le caractère backtick avec le caractère barre oblique inverse ( \ ). Pour plus de commodité, vous pouvez éviter les noms de champs entre guillemets en transmettant le chemin du champ en tant qu'objet FieldPath ( par exemple, voir JavaScript FieldPath ). |
Taille maximale d'un chemin de champ | 1 500 octets |
Taille maximale d'une valeur de champ | 1 Mo - 89 octets (1 048 487 octets) |
Profondeur maximale des champs dans une carte ou un tableau | 20 |
Écritures et transactions
En plus de ces limites, vous devriez également consulter les meilleures pratiques de conception à grande échelle .
Limite | Détails |
---|---|
Taille maximale des requêtes API | 10 Mo |
Délai pour une transaction | 270 secondes, avec un délai d'expiration d'inactivité de 60 secondes |
Index
Les limites suivantes s'appliquent aux index à champ unique et aux index composites :
Limite | Détails |
---|---|
Nombre maximum d'index composites pour une base de données | 200 Vous pouvez contacter le support pour demander une augmentation de cette limite. |
Nombre maximum de configurations à champ unique pour une base de données | 200 Un total de 200 configurations au niveau du terrain sont autorisées. Une configuration de champ peut contenir plusieurs configurations pour le même champ. Par exemple, une exemption d'indexation sur un seul champ et une politique TTL sur le même champ comptent comme une configuration de champ dans la limite. |
Nombre maximum 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 :
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 maximum de champs dans un index composite | 100 |
Taille maximale d'une entrée d'index | 7,5 Ko Pour voir comment Cloud Firestore calcule la taille de l'entrée d'index, consultez taille de l'entrée d'index . |
Somme maximale des tailles des entrées d'index d'un document | 8 Mo La taille totale est la somme des éléments suivants pour un document : |
Taille maximale d'une valeur de champ indexé | 1500 octets Les valeurs de champ supérieures à 1 500 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 maximum de configurations à champ unique pour une base de données | 200 Un total de 200 configurations au niveau du terrain sont autorisées. Une configuration de champ peut contenir plusieurs configurations pour le même champ. Par exemple, une exemption d'indexation sur un seul champ et une politique 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'import et d'export gérées :
Limite | Détails |
---|---|
Nombre total maximum de demandes d'exportation et d'importation pour un projet autorisées par minute | 20 |
Nombre maximum d'exportations et d'importations simultanées | 50 |
Nombre maximum de filtres d'ID de collection pour les demandes d'exportation et d'importation | 100 |
Règles de sécurité
Limite | Détails |
---|---|
Nombre maximum d'appels exists() , get() et getAfter() par requête |
Le dépassement de l’une ou l’autre limite 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 match imbriquées | dix |
Longueur de chemin maximale, en segments de chemin, autorisée dans un ensemble d'instructions match imbriquées | 100 |
Nombre maximum de variables de capture de chemin autorisées dans un ensemble d'instructions match correspondance imbriquées | 20 |
Profondeur maximale des appels de fonction | 20 |
Nombre maximum d'arguments de fonction | 7 |
Nombre maximum de liaisons de variables let par fonction | dix |
Nombre maximum d'appels de fonctions récursifs ou cycliques | 0 (non autorisé) |
Nombre maximum d'expressions évaluées par requête | 1 000 |
Taille maximale d'un ensemble de règles | Les ensembles de règles doivent obéir à deux limites de taille :
|
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 .