Prijzen

In dit document leggen we uit hoe de prijzen voor Firestore worden berekend. U leest ook hoe u uw uitgaven voor Firestore kunt beperken en controleren.

Als u in een andere valuta dan USD betaalt, gelden de prijzen die in uw valuta op Cloud Platform SKU's worden vermeld.

Prijsoverzicht

Als u Firestore gebruikt, worden voor de volgende zaken kosten in rekening gebracht:

  • Het aantal lees-, schrijf- en verwijderbewerkingen dat u uitvoert.
  • De hoeveelheid opslag die uw database gebruikt, inclusief overhead voor metadata en indexen.
  • De hoeveelheid netwerkbandbreedte die u gebruikt.

Gebruik van opslag en bandbreedte wordt berekend in gibibytes (GiB), waarbij 1 GiB gelijkstaat aan 230 bytes. Alle kosten worden per dag berekend.

In de volgende gedeelten vindt u informatie over hoe kosten worden berekend voor uw Firestore-gebruik.

Prijs per locatie

In de volgende tabel ziet u de prijzen voor lees-, schrijf- en verwijderbewerkingen en opslag voor elke Firestore-locatie:

Als u in een andere valuta dan USD betaalt, gelden de prijzen die in uw valuta op Cloud Platform SKU's worden vermeld.

Lees-, schrijf- en verwijderbewerkingen

Er worden kosten in rekening gebracht voor elke lees-, schrijf- en verwijderbewerking die u uitvoert met Firestore.

Kosten voor schrijf- en verwijderbewerkingen zijn eenvoudig. Voor schrijfbewerkingen geldt elke set- of update-bewerking als 1 schrijfbewerking.

Voor leesbewerkingen gelden enkele nuances waarmee u rekening moet houden. In de volgende gedeelten worden deze nuances uitgebreid uitgelegd.

Luisteren naar query-resultaten

Met Firestore kunt u luisteren naar de resultaten van een query en realtime updates ophalen als de query-resultaten veranderen.

Als u naar de resultaten van een query luistert, worden er elke keer kosten voor een leesbewerking in rekening gebracht op het moment dat een document in de resultatenset wordt toegevoegd of geüpdatet. Er worden ook kosten voor een leesbewerking in rekening gebracht als een document uit de resultatenset wordt verwijderd omdat het document is gewijzigd. (Maar er worden geen kosten voor leesbewerkingen in rekening gebracht als een document wordt verwijderd.)

Ook geldt dat als de listener meer dan 30 minuten een verbroken verbinding heeft (bijvoorbeeld als de gebruiker offline is), er kosten voor leesbewerkingen in rekening worden gebracht alsof u een volledig nieuwe query uitvoert.

Grote resultatensets beheren

Firestore heeft enkele functies waarmee u query's met een groot aantal resultaten kunt beheren:

  • Cursors, waarmee u kunt doorgaan met een query die lange tijd wordt uitgevoerd
  • Paginatokens, waarmee u paginering voor de query-resultaten kunt instellen.
  • Limieten, waarmee u kunt opgeven hoeveel resultaten er moeten worden opgehaald.
  • Verschuivingen, waarmee u een vast aantal documenten over kunt slaan.

Er zijn geen extra kosten verbonden aan het gebruik van cursors, paginatokens en limieten. Sterker nog, met deze functies kunt u geld besparen, omdat u alleen de documenten leest die u nodig heeft.

Als u query's met een verschuiving verstuurt, worden er wel kosten voor een leesbewerking voor elk overgeslagen document in rekening gebracht. Als uw query bijvoorbeeld een verschuiving van 10 gebruikt en de query 1 document retourneert, worden er kosten voor 11 leesbewerkingen in rekening gebracht. Vanwege deze extra kosten is het verstandig om waar mogelijk cursors in plaats van verschuivingen te gebruiken.

Andere query's dan leesbewerkingen voor documenten

Voor andere query's dan leesbewerkingen voor documenten, bijvoorbeeld voor verzoeken om een lijst collectie-ID's, wordt u gefactureerd voor 1 leesbewerking voor een document. Als voor het ophalen van de volledige verzameling resultaten meer dan 1 verzoek nodig is (bijvoorbeeld als u paginering gebruikt), wordt er 1 keer per verzoek gefactureerd.

Minimale kosten voor query's

Zelfs als de query geen resultaten oplevert, betaalt u minimaal voor 1 leesbewerking per document voor elke query die u uitvoert.

Beveiligingsregels voor Firestore

Kosten voor extra leesbewerkingen worden als volgt berekend voor web- en mobiele clientbibliotheken die de beveiligingsregels voor Firestore exists(), get() of getAfter() gebruiken om 1 of meer documenten uit uw database te lezen:

  • Er worden kosten in rekening gebracht voor leesbewerkingen die noodzakelijk zijn om uw beveiligingsregels voor Firestore te evalueren.

    Als uw regels bijvoorbeeld naar 3 documenten verwijzen maar Firestore maar 2 documenten hoeft te lezen om uw regels te evalueren, worden er kosten voor 2 extra leesbewerkingen voor de gerelateerde documenten in rekening gebracht.

    Er worden per gerelateerd document kosten voor 1 leesbewerking in rekening gebracht, zelfs als de regels vaker dan eens naar dit document verwijzen.

  • U betaalt maar 1 keer per verzoek voor regelevaluatie.

    Daarom kan het goedkoper zijn om meerdere documenten te lezen dan om documenten een voor een te lezen, omdat er minder verzoeken nodig zijn om meerdere documenten te lezen.

  • Als u luistert naar de resultaten van een query, worden er kosten voor regelevaluatie in rekening gebracht in elk van de volgende gevallen:

    • Als u een query uitvoert.
    • Elke keer dat de query-resultaten worden geüpdatet.
    • Elke keer dat het apparaat van de gebruiker offline en vervolgens weer online gaat.
    • Elke keer dat u de regels updatet.
    • Elke keer dat u de gerelateerde documenten in uw regels updatet.

Opslaggrootte

Er worden kosten in rekening gebracht voor de hoeveelheid gegevens die u opslaat in Firestore, inclusief opslagoverhead. In de hoeveelheid overhead zijn metadata, automatische indexen en samengestelde indexen inbegrepen. Voor elk document dat is opgeslagen in Firestore, zijn de volgende metadata vereist:

  • De document-ID, inclusief de collectie-ID en de documentnaam.
  • De naam en waarde van elk veld. Omdat Firestore geen schema heeft, moet de naam van elk veld in een document worden opgeslagen bij de veldwaarde.
  • Alle indexen voor enkelvoudige velden en samengestelde indexen die verwijzen naar het document. Elk indexitem bevat de collectie-ID, een aantal veldwaarden dat afhangt van de indexdefinitie en de naam van het document.

In Berekeningen van opslaggrootte kunt u lezen hoe de opslag van Firestore wordt berekend. Ga naar de pagina App Engine-quotumdetails in de Cloud Console om te zien hoeveel opslag uw database gebruikt.

Netwerkbandbreedte

Er worden kosten in rekening gebracht voor de netwerkbandbreedte die door uw Firestore-verzoeken wordt gebruikt. Die kosten worden in de volgende gedeelten beschreven. De netwerkbandbreedtekosten van een Firestore-verzoek hangen af van de reactiegrootte van het verzoek, de locatie van uw Firestore-database en de bestemming van de reactie.

Firestore berekent de reactiegrootte op basis van een geserialiseerde berichtindeling. Protocoloverhead, zoals SSL-overhead, telt niet mee voor het netwerkbandbreedtegebruik. Verzoeken die worden afgewezen door uw beveiligingsregels voor Firestore, tellen niet mee voor het netwerkbandbreedtegebruik.

Gebruik de Cloud Console om uw factureringsgegevens te exporteren naar een bestand en zo te zien hoeveel netwerkbandbreedte u heeft gebruikt.

Algemene netwerkprijzen

Voor verzoeken die afkomstig zijn van Google Cloud Platform (bijvoorbeeld van een app die wordt uitgevoerd op Google Compute Engine) betaalt u het volgende:

Type verkeer Prijs
Inkomend Gratis
Uitgaand binnen een regio Gratis
Uitgaand tussen regio's in hetzelfde gebied met meerdere regio's Gratis
Uitgaand tussen regio's binnen de VS (per GiB) $ 0,01 (de eerste 10 GiB per maand zijn gratis)
Uitgaand tussen regio's, exclusief verkeer tussen Amerikaanse regio's Tarieven voor uitgaand internetverkeer van Google Cloud Platform

Als u in een andere valuta dan USD betaalt, gelden de prijzen die in uw valuta op Cloud Platform SKU's worden vermeld.

Tarieven voor uitgaand internetverkeer

Er worden kosten voor uitgaand internetverkeer in rekening gebracht voor het volgende:

  • Google Cloud-verzoeken tussen regio's, met uitzondering van verkeer tussen Amerikaanse regio's
  • Verzoeken van buiten Google Cloud (bijvoorbeeld vanaf het mobiele apparaat van een gebruiker)

Gebruik controleren

U kunt uw dagelijkse Firestore-gebruik bekijken op de pagina App Engine-quota:

Naar de pagina Quota

Uitgaven beheren

Stel maandbudgetten en waarschuwingen in om uw uitgaven te beheren.

Google Cloud-budgetten en -waarschuwingen

Met Google Cloud kunt u een maandbudget instellen voor alle Google Cloud-services. Gebruik een maandbudget om uw algemene Google Cloud-kosten te controleren, waaronder uw netwerkbandbreedtekosten voor Firestore. Nadat u een budget heeft ingesteld, kunt u waarschuwingen configureren. U ontvangt dan e-mailmeldingen als uw kosten in de buurt van uw budgetlimiet komen.

Kosten die meetellen voor uw App Engine-bestedingslimiet, tellen ook mee voor uw maandbudget.

Volg deze instructies om een maandbudget in te stellen en waarschuwingen te configureren in de Cloud Console.

App Engine-bestedingslimiet

Bij App Engine kunt u een dagelijkse bestedingslimiet instellen voor App Engine en gekoppelde resources, waaronder Datastore- en Firestore-databases. De limiet is bij benadering en zou groot genoeg moeten zijn om pieken in resourcegebruik te verwerken. Nadat u uw dagelijkse bestedingslimiet heeft overschreden, mislukken alle Firestore-bewerkingen die niet binnen uw gratis quotum vallen.

Prijsvoorbeeld

Bekijk het voorbeeld van Firestore-facturering om te zien hoe factureringskosten voor Firestore in een praktijkvoorbeeld worden opgebouwd.