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 |
|
Profondeur maximale des sous-collections | 100 |
Contraintes sur les ID de document |
|
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 |
|
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 :
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 : |
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 |
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 :
|
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.