Informationen zur Cloud Firestore-Abrechnung

In diesem Dokument werden die Preisdetails für Cloud Firestore erläutert.

Wenn Sie in einer anderen Währung als US-Dollar bezahlen, gelten die unter Cloud Platform SKUs für Ihre Währung angegebenen Preise.

Preisübersicht

Bei der Verwendung von Cloud Firestore fallen folgende Gebühren an:

  • Die Anzahl der Dokumente, die Sie lesen, schreiben und löschen können.
  • Die Anzahl der Indexeinträge, die zum Ausführen einer Abfrage gelesen wurden. Weitere Informationen zu Indexlesevorgängen.
  • Der durch die Datenbank belegte Speicherplatz. Darin enthalten sind auch die Kosten für Metadaten und Indexe.
  • Die genutzte Netzwerkbandbreite.

Die Speicher- und Bandbreitennutzung wird in Gibibyte (GiB) berechnet (1 GiB = 230 Byte). Alle Gebühren fallen täglich an.

In den folgenden Abschnitten erfahren Sie, wie Ihnen die Nutzung von Cloud Firestore in Rechnung gestellt wird.

Kostenloses Kontingent

Cloud Firestore bietet ein kostenloses Kontingent für den Einstieg. Wenn Sie ein größeres Kontingent benötigen, müssen Sie die Abrechnung für Ihr Google Cloud Projekt aktivieren.

Kontingente gelten je Tag und werden gegen Mitternacht (UTC -7/-8) zurückgesetzt.

Die folgende Tabelle fasst die kostenlosen Kontingente zusammen:

Kostenlose Stufe Kontingent
Gespeicherte Daten 1 GiB
Lesevorgänge für das Dokument 50.000 pro Tag
Schreibvorgänge für das Dokument 20.000 pro Tag
Löschvorgänge für das Dokument 20.000 pro Tag
Ausgehende Datenübertragung 10 GiB pro Monat

Für die folgenden Vorgänge und Funktionen fällt keine kostenlose Nutzung an. Sie müssen die Abrechnung aktivieren, um diese Funktionen nutzen zu können:

  • TTL-Löschvorgänge
  • PITR-Daten
  • Daten sichern
  • Wiederherstellungsvorgänge
  • Klonvorgänge

Weitere Informationen zur Abrechnung dieser Funktionen finden Sie unter Speicherpreise.

Preise nach Standort

Die Preise für Lese-, Schreib- und Löschvorgänge sowie für den Speicherplatz für jeden Cloud Firestore Standort finden Sie unter Google Cloud Preise.

Wenn Sie in einer anderen Währung als US-Dollar bezahlen, gelten die unter Cloud Platform SKUs für Ihre Währung angegebenen Preise.

Kostenloses Kontingent gilt nur für eine Datenbank pro Projekt

Projekte können nur eine Datenbank haben, die für das kostenlose Kontingent infrage kommt.

Wenn Sie zusätzliche Datenbanken erstellen möchten, müssen Sie ein Upgrade für den Abrechnungstarif Ihres Projekts ausführen.

Die erste Datenbank, die Sie erstellen (unabhängig von ihrer ID), kommt für das kostenlose Kontingent infrage. Wenn Sie diese Datenbank löschen, kommt die nächste Datenbank, die Sie erstellen, für das kostenlose Kontingent infrage.

Für das Erstellen oder Löschen von Datenbanken fallen keine zusätzlichen Kosten an. Für alle nachfolgenden Datenbanken wird Ihnen die Nutzung in Rechnung gestellt.

Lese-, Schreib- und Löschvorgänge

Ihnen werden die Dokumente und Indexeinträge in Rechnung gestellt, die zum Ausführen einer Abfrage gelesen wurden. Ihnen wird jeder Schreib- und Löschvorgang für ein Dokument in Rechnung gestellt.

Die Gebühren für Schreib- und Löschvorgänge sind leicht nachvollziehbar. Für Schreibvorgänge zählt jeder set- oder update-Vorgang als einzelner Schreibvorgang.

Bei den Gebühren für Lesevorgänge gibt es einige Nuancen, die Sie berücksichtigen sollten. In den folgenden Abschnitten werden diese im Detail erläutert.

Indexeinträge lesen

Ihnen wird ein Lesevorgang für jeden Batch von bis zu 1.000 Indexeinträgen in Rechnung gestellt, die von einer Abfrage gelesen werden, außer in den folgenden Fällen:

  • Bei Vektorsuchabfragen für die Suche nach den nächsten Nachbarn (K-Nearest-Neighbor, kNN) wird Ihnen ein Lesevorgang für jeden Batch von bis zu 100.000 kNN-Vektorindexeinträgen in Rechnung gestellt, die von der Abfrage gelesen werden.

    Wenn beispielsweise die folgende Vektorsuchabfrage mit limit: 5 5 Dokumente zurückgibt und 1.550 kNN-Vektorindexeinträge liest, werden Ihnen 5 Lesevorgänge für die zurückgegebenen Dokumente und 16 Lesevorgänge für die Indexeinträge in Rechnung gestellt:

    // Requires single-field vector index
    const vectorQuery: VectorQuery = db.collection('cities').findNearest('embedding_field', FieldValue.vector([3.0, 1.0, 2.0]), {
      limit: 5,
      distanceMeasure: 'EUCLIDEAN'
    });
    
  • Für Abfragen mit bis zu einem Bereichsfeld werden keine gelesenen Indexeinträge in Rechnung gestellt.

    Die folgende Abfrage enthält beispielsweise ein Gleichheitsfeld (age) und ein Bereichsfeld (start_date). Für gelesene Indexeinträge werden keine Gebühren erhoben:

    db.collection("employees").whereEqualTo("age", 35)
                              .whereGreaterThanOrEqualTo("start_date", new Date(2020, 1, 1))
    

    Die folgende Abfrage enthält zwei Bereichsfelder (age und start_date). Für gelesene Indexeinträge werden Gebühren erhoben:

    db.collection("employees").whereGreaterThanOrEqualTo("age", 35)
                              .whereGreaterThanOrEqualTo("start_date", new Date(2020, 1, 1))
    

    Ein Feld, das in der „order by“-Klausel vorkommt, wird als Bereichsfeld betrachtet, wenn in der Abfrage mindestens ein weiteres Bereichsfeld vorhanden ist. Daher enthält die folgende Abfrage zwei Bereichsfelder (age und start_date). Für gelesene Indexeinträge werden Gebühren erhoben:

    db.collection("employees").whereGreaterThanOrEqualTo("age", 35)
                              .orderBy("start_date")
    

    Das Feld __name__ wird immer als Bereichsfeld betrachtet, auch wenn es nur in einem Gleichheitsfilter verwendet wird. Daher enthält die folgende Abfrage zwei Bereichsfelder (age und __name__). Für gelesene Indexeinträge werden Gebühren erhoben:

    db.collection("employees").whereIn("__name__", Arrays.asList("/employees/Alice", "/employees/Bob"))
                              .orderBy("age")
    

Aggregationsabfragen

Bei Aggregationsabfragen wie count(), sum(), und avg(), werden Ihnen die von der Abfrage gelesenen Indexeinträge wie oben beschriebenin Rechnung gestellt. Bei Aggregationsabfragen, bei denen keine Indexeinträge gelesen werden, wird eine Mindestgebühr von einem Lesevorgang für ein Dokument erhoben.

Für count()-Vorgänge, bei denen zwischen 0 und 1.000 Indexeinträge gelesen werden, wird ein Lesevorgang für ein Dokument in Rechnung gestellt. Für einen count()-Vorgang, bei dem 1.500 Indexeinträge gelesen werden, werden Ihnen 2 Lesevorgänge für Dokumente in Rechnung gestellt.

Weitere Informationen zu den verwendeten Indexen und den gelesenen Indexeinträgen finden Sie unter Query Explain.

Abfrageergebnisse überwachen

Cloud Firestore ermöglicht es Ihnen, das Ergebnis einer Abfrage zu überwachen und Aktualisierungen in Echtzeit zu erhalten, wenn sich die Abfrageergebnisse ändern.

Wenn Sie die Ergebnisse einer Abfrage überwachen, wird Ihnen jedes Mal ein Lesevorgang in Rechnung gestellt, wenn der Ergebnismenge ein Dokument hinzugefügt oder ein Dokument aus der Ergebnismenge aktualisiert wird. Dies ist auch der Fall, wenn ein Dokument aus der Ergebnismenge entfernt wird, weil sich das Dokument geändert hat. (Allerdings wird Ihnen kein Lesevorgang in Rechnung gestellt, wenn ein Dokument gelöscht wird.)

Die Abrechnung von Listenern in den mobilen und Web-SDKs hängt auch davon ab, ob die Offline-Persistenz aktiviert ist:

  • Wenn die Offline-Persistenz aktiviert ist und der Listener länger als 30 Minuten nicht verbunden ist (z. B. wenn der Nutzer offline geht), werden Ihnen die gelesenen Dokumente und Indexeinträge so in Rechnung gestellt, als hätten Sie eine neue Abfrage gesendet.

  • Wenn die Offline-Persistenz deaktiviert ist, werden Ihnen die gelesenen Dokumente und Indexeinträge so in Rechnung gestellt, als hätten Sie eine neue Abfrage gesendet, wenn der Listener die Verbindung trennt und wieder herstellt.

Große Ergebnismengen verwalten

Cloud Firestore bietet mehrere Funktionen, mit denen Sie Abfragen verwalten können, die eine große Anzahl von Ergebnissen zurückgeben:

  • Cursors zum Fortsetzen einer lang andauernden Abfrage
  • Seitentokens für Seitenumbrüche der Abfrageergebnisse
  • Limits zum Festlegen der Anzahl der Ergebnisse, die abgerufen werden sollen
  • Offsets zum Überspringen einer festen Anzahl von Dokumenten

Für die Verwendung von Cursors, Seitentokens und Limits fallen keine zusätzlichen Gebühren an. Tatsächlich können Ihnen diese Features dabei helfen, Geld zu sparen, indem nur die Dokumente gelesen werden, die Sie wirklich brauchen.

Wenn Sie jedoch eine Abfrage senden, die ein Offset enthält, wird Ihnen ein Lesevorgang für jedes übersprungene Dokument in Rechnung gestellt. Wenn Ihre Abfrage zum Beispiel ein Offset von 10 nutzt und die Abfrage 1 Dokument zurückgibt, werden Ihnen 11 Lesevorgänge in Rechnung gestellt. Aufgrund dieser zusätzlichen Kosten sollten Sie nach Möglichkeit Cursors statt Offsets verwenden.

Andere Abfragen

Für andere Abfragen, wie die Anfrage für eine Liste von Sammlungs-IDs, wird Ihnen ein Lesevorgang in Rechnung gestellt. Wenn zum Abrufen der gesamten Ergebnismenge mehr als eine Anfrage erforderlich ist (zum Beispiel bei der Verwendung von Seitenumbrüchen), wird Ihnen jede Anfrage einzeln in Rechnung gestellt.

Mindestgebühr für Abfragen

Für jede Abfrage wird Ihnen eine Mindestgebühr von einem Lesevorgang für ein Dokument in Rechnung gestellt, auch wenn die Abfrage keine Ergebnisse zurückgibt.

Cloud Firestore Security Rules

Für Mobil- und Web-Clientbibliotheken werden Ihnen folgendermaßen zusätzliche Lesevorgänge in Rechnung gestellt, wenn Ihre Cloud Firestore Security Rules exists(), get(), oder getAfter() zum Lesen von einem oder mehreren Dokumenten aus der Datenbank verwenden:

  • Ihnen werden die Lesevorgänge in Rechnung gestellt, die zur Evaluierung Ihrer Cloud Firestore Security Rules erforderlich sind.

    Wenn sich Ihre Regeln beispielsweise auf drei Dokumente beziehen, aber Cloud Firestore nur zwei dieser Dokumente zur Evaluierung Ihrer Regeln lesen muss, werden Ihnen zwei zusätzliche Lesevorgänge für die abhängigen Dokumente in Rechnung gestellt.

    Ihnen wird nur ein Lesevorgang je abhängigem Dokument in Rechnung gestellt, auch wenn sich die Regeln mehr als einmal auf dieses Dokument beziehen.

  • Ihnen wird die Evaluierung der Regeln nur einmal pro Anfrage in Rechnung gestellt.

    Infolgedessen kann es günstiger sein, mehrere statt einzelne Dokumente zu lesen, weil das Lesen mehrerer Dokumente weniger Anfragen benötigt.

  • Wenn Sie die Ergebnisse einer Abfrage überwachen, wird Ihnen in den folgenden Fällen eine Evaluierung der Regeln in Rechnung gestellt:

    • wenn Sie die Abfrage senden
    • jedes Mal, wenn die Abfrageergebnisse aktualisiert werden
    • jedes Mal, wenn das Gerät des Nutzers offline und dann wieder online geht
    • jedes Mal, wenn Sie die Regeln aktualisieren
    • jedes Mal, wenn Sie die abhängigen Dokumente in den Regeln aktualisieren

Größe des Datenbankspeichers

Ihnen wird die auf Cloud Firestore gespeicherte Datenmenge einschließlich des Speicheraufwands in Rechnung gestellt. Die Menge des Speicheraufwands umfasst Metadaten sowie automatische und zusammengesetzte Indexe.

Für jedes in Cloud Firestore gespeicherte Dokument werden folgende Metadaten benötigt:

  • Die Dokument-ID, einschließlich Sammlungs-ID und Dokumentname.
  • Der Name und Wert der einzelnen Felder. Da Cloud Firestore schemalos ist, muss der Name jedes Feldes in einem Dokument mit dem Feldwert gespeichert werden.
  • Alle Einzelfeld- und zusammengesetzten Indexe, die sich auf das Dokument beziehen. Jeder Indexeintrag enthält die Sammlungs-ID; je nach Indexdefinition beliebig viele Feldwerte und den Dokumentnamen.

Die Speicherkosten werden in GiB/Monat angegeben und täglich berechnet. Cloud Firestore misst die Datenbankgröße täglich. Über den Zeitraum eines Monats werden diese Stichprobenpunkte gemittelt, um die Speichergröße der Datenbank zu berechnen. Dieser Durchschnittswert wird mit dem Stückpreis für den Speicherplatz (GiB-Monat) multipliziert.

Unter Speichergrößen Berechnungen erfahren Sie, wie der Speicher für Cloud Firestore berechnet wird.

PITR-Daten

Wenn Sie PITR aktivieren, werden Ihnen die Kosten für die Speicherung von PITR Daten in Rechnung gestellt. Für die meisten Kunden sind die Gesamtkosten für die Speicherung von PITR-Daten ähnlich den Speicherkosten der Datenbank.

Die Speicherkosten für PITR werden in GiB/Monat angegeben und täglich berechnet. Cloud Firestore misst die Datenbankgröße täglich. Über den Zeitraum eines Monats werden diese Stichprobenpunkte gemittelt, um die Speichergröße der Datenbank zu berechnen. Dieser Durchschnittswert wird mit dem Stückpreis für PITR (GiB-Monat) multipliziert.

Wenn die durchschnittliche Größe Ihrer Datenbank während eines Monats beispielsweise 1 GiB beträgt und PITR für den gesamten Monat aktiviert ist, beträgt die abrechenbare PITR-Datengröße ebenfalls 1 GiB.

Mindestabrechnung: Ihnen werden möglicherweise bis zu einem Tag PITR-Speicherkosten in Rechnung gestellt, auch wenn Sie PITR innerhalb eines Tages nach der Aktivierung deaktivieren.

Sicherungsdaten und Wiederherstellungsvorgänge

Wenn Sie Sicherungen aktivieren, wird Ihnen der Speicherplatz für Ihre Datenbanksicherungen in Rechnung gestellt. Die Speichergröße für eine Sicherung entspricht der Speichergröße der Datenbank zum Zeitpunkt der Sicherung.

Die Speicherkosten für Sicherungen werden in GiB/Monat angegeben. Über den Zeitraum eines Monats wird auch die Anzahl der Tage berechnet, für die jede Sicherung aufbewahrt wird, gemittelt über den Monat. Die Kosten für jede Sicherung werden anhand der Speichergröße der Sicherung multipliziert mit dem Anteil des Monats, in dem die Sicherung aufbewahrt wird, multipliziert mit dem Stückpreis berechnet. Für Abrechnungszwecke werden die Tagesgrenzen durch die Zeitzone „America/Los_Angeles“ definiert.

Wenn Sie einen Wiederherstellungsvorgang durchführen, misst Cloud Firestore die Größe der Sicherung für den Wiederherstellungsvorgang. Die Größe der Sicherung wird mit dem Stückpreis für Wiederherstellungsvorgänge (GiB) multipliziert.

Query Explain

Die Verwendung von Firestore Query Explain ist kostenpflichtig.

Wenn eine Abfrage mit der Standardoption erklärt wird, werden keine Indexlesevorgänge ausgeführt. Unabhängig von der Komplexität der Abfrage wird ein Lesevorgang in Rechnung gestellt.

Wenn eine Abfrage mit der Option „Analysieren“ erklärt wird, werden Index- und Lesevorgänge ausgeführt. Ihnen wird die Abfrage also wie gewohnt in Rechnung gestellt. Für die Aktivität „Erklären und analysieren“ fallen keine zusätzlichen Gebühren an, sondern nur die üblichen Gebühren für die Ausführung der Abfrage.

Netzwerkbandbreite

Die durch Cloud Firestore Anfragen genutzte Netzwerkbandbreite wird Ihnen in Rechnung gestellt, wie in den folgenden Preistabellen dargestellt. Die Netzwerkbandbreitenkosten für eine Cloud Firestore Anfrage hängen von der Antwortgröße der Anfrage, dem Standort Ihrer Cloud Firestore Datenbank und dem Ziel der Antwort ab.

Cloud Firestore errechnet die Antwortgröße anhand eines serialisierten Nachrichten formats. Protokoll-Overhead, wie SSL-Overhead, wird nicht auf die Netzwerkbandbreitennutzung angerechnet. Durch Ihre Cloud Firestore Security Rules abgelehnte Anfragen werden nicht auf die Netzwerkbandbreitennutzung angerechnet.

Sie können mit der Google Cloud Console Ihre Abrechnungsdaten in eine Datei exportieren, um zu erfahren, wie viel Netzwerk bandbreite Sie verbraucht haben.

Allgemeine Netzwerkpreise

Anfragen, die aus der Google Cloud Platform stammen (zum Beispiel von einer Anwendung in Google Compute Engine), werden Ihnen folgendermaßen in Rechnung gestellt:

Traffictyp Preis
Eingehende Datenübertragung Kostenlos
Datenübertragung innerhalb einer Region Kostenlos
Datenübertragung zwischen Regionen in derselben Multiregion Kostenlos
Datenübertragung zwischen Regionen innerhalb der USA (pro GiB) 0,01 $ (die ersten 10 GiB pro Monat sind kostenlos)
Datenübertragung zwischen Regionen, ohne Traffic zwischen US-Regionen Google Cloud Platform-Preise für ausgehende Datenübertragung über das Internet

Wenn Sie in einer anderen Währung als US-Dollar bezahlen, gelten die unter Cloud Platform SKUs für Ihre Währung angegebenen Preise.

Cloud Firestore unterliegt außerdem zusätzlichen Gebühren für ausgehenden Internettraffic für Folgendes:

  • Google Cloud Anfragen zwischen Regionen, ohne Traffic zwischen US Regionen
  • Anfragen von außerhalb von Google Cloud (z. B. vom Mobilgerät eines Nutzers)

Weitere Informationen finden Sie unter Google Cloud Preise für ausgehenden Internettraffic.

Preisbeispiel ansehen

Wie sich die Abrechnungskosten für Cloud Firestore in einer Beispiel App in der Praxis zusammensetzen, erfahren Sie unter Cloud Firestore Abrechnungsbeispiel.

Ausgaben verwalten

Legen Sie Monatsbudgets und Benachrichtigungen über die Abrechnungskonsole von Google Cloud fest, um unerwartete Kosten auf Ihrer Rechnung zu vermeiden.

Wenn Sie Ihre Cloud Firestore Nutzung im Blick behalten möchten, öffnen Sie in der Firebase Console den Cloud Firestore Nutzung Tab. Im Dashboard können Sie Ihre Nutzung über verschiedene Zeiträume hinweg sehen.