Tarifs

Ce document décrit les conditions tarifaires de Firestore. Il vous explique également comment limiter et surveiller les dépenses liées à ce service.

Si vous ne payez pas en USD, les tarifs indiqués dans votre devise sur la page des SKU Cloud Platform s'appliquent.

Présentation de la tarification

Lorsque vous utilisez Firestore, les éléments suivants vous sont facturés :

  • Nombre de lectures, d'écritures et de suppressions effectuées
  • L'espace de stockage utilisé par votre base de données, y compris la surcharge liée aux métadonnées et aux index
  • La quantité de bande passante réseau utilisée

L'utilisation de l'espace de stockage et de la bande passante est calculée en gibioctets (Gio). 1 Gio correspond à 230 octets. Tous les frais sont comptabilisés quotidiennement.

Les sections suivantes expliquent comment les frais d'utilisation de Firestore vous sont facturés.

Tarifs par emplacement

Le tableau suivant présente les tarifs appliqués aux opérations de lecture, d'écriture, de suppression et de stockage pour chaque emplacement Firestore :

Si vous ne payez pas en USD, les tarifs indiqués dans votre devise sur la page des SKU Cloud Platform s'appliquent.

Lectures, écritures et suppressions

Chaque opération de lecture, d'écriture ou de suppression que vous effectuez avec Firestore vous est facturée.

La tarification des écritures et des suppressions est simple. Pour les écritures, chaque opération set ou update est comptabilisée comme une seule écriture.

Les frais de lecture présentent des variations dont vous devez tenir compte. Les sections suivantes décrivent ces variations en détail.

Écouter les résultats des requêtes

Firestore vous permet d'écouter les résultats d'une requête et d'obtenir des mises à jour en temps réel lorsque les résultats changent.

Lorsque vous écoutez les résultats d'une requête, une lecture vous est facturée chaque fois qu'un document de l'ensemble de résultats est ajouté ou mis à jour. Une lecture vous est également facturée lorsqu'un document est retiré de l'ensemble de résultats, car le document a été modifié. En revanche, lors de la suppression d'un document, aucuns frais de lecture ne vous sont facturés.

Par ailleurs, si l'écouteur est déconnecté pendant plus de 30 minutes (par exemple, dans le cas où l'utilisateur passe en mode hors connexion), des frais de lecture vous sont facturés comme si vous aviez émis une nouvelle requête.

Gérer des ensembles de résultats volumineux

Firestore offre les fonctionnalités suivantes pour vous aider à gérer les requêtes qui renvoient un grand nombre de résultats :

  • Les curseurs qui vous permettent de reprendre une requête de longue durée
  • Les jetons de page, qui vous aident à paginer les résultats des requêtes
  • Les limites, qui spécifient le nombre de résultats à récupérer
  • Les décalages, qui vous permettent d'ignorer un nombre fixe de documents

L'utilisation de curseurs, de jetons de page et de limites ne génère aucun coût supplémentaire. Grâce à ces fonctionnalités, vous pouvez réaliser des économies en ne lisant que les documents dont vous avez réellement besoin.

Toutefois, lorsque vous envoyez une requête qui inclut un décalage, une lecture vous est facturée pour chaque document ignoré. Par exemple, si votre requête utilise un décalage de 10 et renvoie 1 document, 11 lectures vous sont facturées. En raison de ce coût supplémentaire, il convient d'utiliser, dans la mesure du possible, les curseurs plutôt que les décalages.

Requêtes autres que les lectures de documents

Pour les requêtes autres que les lectures de documents, telles qu'une requête de liste d'ID de collection, une lecture de document vous est facturée. Si la récupération de l'ensemble complet de résultats requiert plusieurs requêtes (par exemple, dans le cas où vous utilisez la pagination), chacune d'elles vous est facturée.

Coût minimal des requêtes

Un coût minimal correspondant à une lecture de document vous est facturé pour chaque requête exécutée, même si celle-ci ne renvoie aucun résultat.

Règles de sécurité Firestore

Pour les bibliothèques clientes mobiles et Web, si vos règles de sécurité Firestore utilisent exists(), get() ou getAfter() pour lire un ou plusieurs documents de votre base de données, les lectures supplémentaires vous sont facturées comme suit :

  • Les lectures nécessaires à l'évaluation de vos règles de sécurité Firestore vous sont facturées.

    Par exemple, si vos règles font référence à trois documents et si Firestore n'a besoin d'en lire que deux pour évaluer vos règles, deux lectures supplémentaires vous sont facturées pour les documents dépendants.

    Une seule lecture par document dépendant vous est facturée, même si vos règles font référence à ce document plusieurs fois.

  • L'évaluation des règles ne vous est facturée qu'une fois par requête.

    Par conséquent, lire plusieurs documents peut s'avérer moins coûteux que de les lire un par un, car la lecture de plusieurs documents implique moins de requêtes.

  • Lorsque vous écoutez les résultats d'une requête, l'évaluation de la règle vous est facturée dans tous les cas suivants :

    • Lors de l'émission de la requête
    • Chaque fois que les résultats de la requête sont mis à jour
    • Chaque fois que l'appareil de l'utilisateur se déconnecte, puis se reconnecte
    • Chaque fois que vous mettez à jour vos règles
    • Chaque fois que vous mettez à jour les documents dépendants dans vos règles

Taille de l'espace de stockage

Vous payez pour la quantité de données que vous stockez dans Firestore, y compris la surcharge de stockage. Le volume de cette surcharge inclut les métadonnées, les index automatiques et les index composites. Chaque document stocké dans Firestore requiert les métadonnées suivantes :

  • ID du document, y compris l'ID de collection et le nom du document.
  • Le nom et la valeur de chaque champ. Firestore étant une base de données sans schéma, le nom de chaque champ d'un document doit être stocké avec la valeur du champ.
  • Tous les index composites et à champ unique faisant référence au document. Chaque entrée d'index contient l'ID de collection, un nombre quelconque de valeurs de champs dépendant de la définition de l'index, ainsi que le nom du document.

Consultez la page Calculs de la taille des espaces de stockage pour découvrir comment la taille de l'espace de stockage de Firestore est calculée. Pour connaître l'espace de stockage utilisé par votre base de données, consultez la page des informations relatives aux quotas d'App Engine dans Cloud Console.

Bande passante réseau

La quantité de bande passante réseau utilisée par vos requêtes Firestore vous est facturée, comme indiqué dans les sections suivantes. Le coût d'une requête Firestore en termes de bande passante réseau dépend de la taille de la réponse, de l'emplacement de votre base de données Firestore et de la destination de la réponse.

Firestore calcule la taille de la réponse en fonction d'un format de message sérialisé. La surcharge de protocole, telle que la surcharge SSL, n'est pas comptabilisée dans le calcul de l'utilisation de la bande passante réseau. Les requêtes refusées par vos règles de sécurité Firestore ne sont pas non plus prises en compte dans ce calcul.

Pour déterminer la quantité de bande passante réseau utilisée, vous pouvez exporter vos données de facturation dans un fichier à l'aide de Cloud Console.

Tarifs généraux du réseau

Pour les requêtes provenant de Google Cloud Platform (par exemple, d'une application exécutée sur Google Compute Engine), les frais à payer sont calculés comme indiqué ci-dessous.

Type de trafic Tarif
Entrée Gratuit
Sortie au sein d'une même région Gratuit
Sortie entre les régions d'un même emplacement multirégional Gratuit
Sortie entre régions aux États-Unis (par Gio) 0,01 $ (Les 10 premiers Gio par mois sont gratuits)
Sortie entre régions, à l'exclusion du trafic entre les régions des États-Unis Tarifs de sortie Internet de Google Cloud Platform

Si vous ne payez pas en USD, les tarifs indiqués dans votre devise sur la page des SKU Cloud Platform s'appliquent.

Tarifs de sortie Internet

La sortie Internet vous sera facturée pour les éléments suivants :

  • Requêtes Google Cloud entre régions, à l'exclusion du trafic entre les régions des États-Unis
  • Requêtes provenant de l'extérieur de Google Cloud (par exemple, de l'appareil mobile d'un utilisateur)

Surveiller l'utilisation

Pour suivre votre utilisation quotidienne de Firestore, consultez la page "Quotas" d'App Engine :

Accéder à la page Quotas

Gérer les dépenses

Pour gérer vos dépenses, définissez des budgets mensuels et des alertes.

Budgets et alertes de Google Cloud

Vous pouvez définir un budget mensuel pour tous les services Google Cloud. Utilisez-le pour surveiller vos coûts Google Cloud globaux, y compris les frais liés à la bande passante réseau que vous utilisez pour Firestore. Après avoir fixé un budget, vous pouvez définir des alertes afin de recevoir des notifications par e-mail à mesure que vos coûts se rapprochent du montant de votre budget.

Les coûts comptabilisés dans le calcul du plafond budgétaire d'App Engine sont également pris en compte pour la définition du budget mensuel.

Suivez ces instructions pour définir un budget mensuel et créer des alertes dans Cloud Console.

Plafond budgétaire d'App Engine

Vous pouvez définir un plafond budgétaire quotidien pour App Engine et les ressources associées, dont les bases de données Datastore et Firestore. Ce plafond est approximatif et doit être suffisamment élevé pour que vous puissiez faire face aux pics d'utilisation des ressources. Une fois que vous l'avez dépassé, toutes les opérations Firestore qui ne font pas partie de votre quota gratuit échouent.

Exemple de tarification

Pour découvrir comment les frais facturés pour Firestore sont comptabilisés dans un exemple d'application concret, consultez l'exemple de facturation pour Firestore.