In diesem Dokument werden die Preise 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 Nutzung von Cloud Firestore wird Ihnen Folgendes in Rechnung gestellt:
- 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 finden Sie Details dazu, 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.
In der folgenden Tabelle sind die kostenlosen Kontingente zusammengefasst:
| 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 |
Die folgenden Vorgänge und Funktionen sind nicht kostenlos. Sie müssen die Abrechnung aktivieren, um diese Funktionen nutzen zu können:
- TTL-Löschvorgänge
- PITR-Daten
- Daten sichern
- Vorgänge wiederherstellen
- 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 den Speicher 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.
Das kostenlose 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), ist für das kostenlose Kontingent berechtigt. Wenn Sie diese Datenbank löschen, wird die nächste Datenbank, die Sie erstellen, die neue Datenbank, für die das kostenlose Kontingent gilt.
Beim Erstellen oder Löschen von Datenbanken fallen keine zusätzlichen Kosten an. Alle nachfolgenden Datenbanken werden nach der Nutzung dieser Datenbanken abgerechnet.
Lese-, Schreib- und Löschvorgänge
Ihnen werden Dokumente und Indexeinträge in Rechnung gestellt, die zur Beantwortung einer Abfrage gelesen werden. Ihnen wird jeder Schreib- und Löschvorgang für Dokumente 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 Besonderheiten, die Sie beachten sollten. In den folgenden Abschnitten werden diese im Detail erläutert.
Lesevorgänge für Indexeinträge
Für jeden Batch von bis zu 1.000 Indexeinträgen, die von einer Abfrage gelesen werden, wird ein Lesevorgang in Rechnung gestellt. Ausnahmen:
Für KNN-Vektorsuchabfragen wird Ihnen ein Lesevorgang pro Batch von bis zu 100 KNN-Vektorindexeinträgen in Rechnung gestellt, die von der Abfrage gelesen werden.
Wenn die folgende Vektorsuchanfrage mit
limit: 5beispielsweise 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 maximal 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 fallen keine Kosten an:db.collection("employees").whereEqualTo("age", 35) .whereGreaterThanOrEqualTo("start_date", new Date(2020, 1, 1))Die folgende Abfrage enthält zwei Bereichsfelder (
ageundstart_date) und wird für das Lesen von Indexeinträgen in Rechnung gestellt: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 es mindestens ein weiteres Bereichsfeld in der Abfrage gibt. Daher enthält die folgende Abfrage zwei Bereichsfelder (
ageundstart_date) und es werden Lesevorgänge für Indexeinträge in Rechnung gestellt: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 (ageund__name__) und es werden Lesevorgänge für Indexeinträge in Rechnung gestellt: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 beschrieben in Rechnung gestellt. Für Aggregationsabfragen, bei denen 0 Indexeinträge gelesen werden, wird mindestens ein Dokumentlesevorgang in Rechnung gestellt.
Beispiel: Für count()-Vorgänge, bei denen zwischen 0 und 1.000 Indexeinträge gelesen werden, wird ein Dokumentlesevorgang in Rechnung gestellt. Für einen count()-Vorgang, bei dem 1.500 Indexeinträge gelesen werden, werden Ihnen 2 Dokumentlesevorgänge in Rechnung gestellt.
Weitere Informationen zu den verwendeten Indexen und den gelesenen Indexeinträgen finden Sie unter Query Explain.
Abfrageergebnisse überwachen
Mit Cloud Firestore können Sie auf die Ergebnisse einer Abfrage warten und Echtzeitaktualisierungen 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 Offlinepersistenz aktiviert ist oder nicht:
Wenn die Offline-Persistenz aktiviert ist und der Listener länger als 30 Minuten getrennt 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 brandneue Abfrage gesendet.
Wenn die Offline-Persistenz deaktiviert ist, werden Ihnen die gelesenen Dokumente und Indexeinträge so in Rechnung gestellt, als hätten Sie jedes Mal eine neue Abfrage gesendet, wenn der Listener die Verbindung trennt und wiederherstellt.
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
Wenn Ihre Cloud Firestore Security Rules bei mobilen und Web-Clientbibliotheken exists(), get() oder getAfter() verwenden, um ein oder mehrere Dokumente aus Ihrer Datenbank zu lesen, werden Ihnen zusätzliche Lesevorgänge wie folgt in Rechnung gestellt:
Ihnen werden Lesevorgänge in Rechnung gestellt, die für die Auswertung Ihrer Cloud Firestore Security Rules erforderlich sind.
Wenn sich Ihre Regeln beispielsweise auf drei Dokumente beziehen, Cloud Firestore aber nur zwei dieser Dokumente lesen muss, um Ihre Regeln auszuwerten, 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 Datenmenge in Rechnung gestellt, die Sie in Cloud Firestore speichern, einschließlich Speicher-Overhead. Die Menge des Speicheraufwands umfasst Metadaten sowie automatische und zusammengesetzte Indexe.
Für jedes in Cloud Firestore gespeicherte Dokument sind die folgenden Metadaten erforderlich:
- 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 Felds 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 von einem Monat werden diese Stichprobenpunkte gemittelt, um die Speichergröße der Datenbank zu berechnen. Dieser Durchschnittswert wird mit dem Stückpreis des Speichers (GiB-Monat) multipliziert.
Informationen zur Berechnung des Cloud Firestore-Speichers finden Sie unter Berechnung der Speichergröße.
PITR-Daten
Wenn Sie die Wiederherstellung zu einem bestimmten Zeitpunkt aktivieren, wird Ihnen die Speicherung der Daten für die Wiederherstellung zu einem bestimmten Zeitpunkt in Rechnung gestellt. Die meisten Kunden werden feststellen, dass die Gesamtkosten für die PiTR-Datenspeicherung den Speicherkosten der Datenbank ähneln.
Die Speicherkosten für die Wiederherstellung zu einem bestimmten Zeitpunkt werden in GiB/Monat angegeben und täglich berechnet. Cloud Firestore misst die Datenbankgröße täglich. Über einen Zeitraum von einem Monat werden diese Stichprobenpunkte gemittelt, um die Speichergröße der Datenbank zu berechnen. Dieser Durchschnittswert wird mit dem Stückpreis für die Wiederherstellung zu einem bestimmten Zeitpunkt (GiB-Monat) multipliziert.
Wenn die durchschnittliche Größe Ihrer Datenbank während eines Monats beispielsweise 1 GiB beträgt und die PITR für den gesamten Monat aktiviert ist, beträgt die abrechenbare PITR-Datengröße ebenfalls 1 GiB.
Mindestabrechnung: Ihnen können bis zu 1 Tag PITR-Speicherkosten in Rechnung gestellt werden, auch wenn Sie PITR innerhalb eines Tages nach der Aktivierung deaktivieren.
Datensicherungs- und Wiederherstellungsvorgänge
Wenn Sie Sicherungen aktivieren, wird Ihnen der Speicherplatz für die 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 einen Zeitraum von einem Monat 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 Einheitspreis berechnet. Die Tagesgrenzen werden für Abrechnungszwecke durch die Zeitzone „America/Los_Angeles“ definiert.
Wenn Sie einen Wiederherstellungsvorgang ausführen, misst Cloud Firestore die Größe der Sicherung für den Wiederherstellungsvorgang. Die Größe der Sicherung wird mit dem Einzelpreis der Wiederherstellungsvorgänge (GiB) multipliziert.
Query Explain
Für die Verwendung von Firestore Query Explain fallen Kosten an.
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 „analyze“ erklärt wird, werden Index- und Lesevorgänge ausgeführt. Die Abfrage wird Ihnen also wie gewohnt in Rechnung gestellt. Für die Erklärungs- und Analyseaktivität fallen keine zusätzlichen Gebühren an, sondern nur die üblichen Gebühren für die ausgeführte Abfrage.
Netzwerkbandbreite
Ihnen wird die Netzwerkbandbreite in Rechnung gestellt, die von Ihren Cloud Firestore-Anfragen verwendet wird, wie in den folgenden Abschnitten beschrieben. Die Kosten für die Netzwerkbandbreite einer 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 berechnet die Antwortgröße anhand eines serialisierten Nachrichtenformats. Protokoll-Overhead, wie SSL-Overhead, wird nicht auf die Netzwerkbandbreitennutzung angerechnet. Anfragen, die von Ihrer Cloud Firestore Security Rules abgelehnt werden, werden nicht auf die Netzwerkbandbreitennutzung angerechnet.
Wenn Sie wissen möchten, wie viel Netzwerkbandbreite Sie verwendet haben, können Sie Ihre Abrechnungsdaten mit der Google Cloud Console in eine Datei exportieren.
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 (jedoch nicht für Traffic zwischen US-Regionen) | Preise für ausgehende Internet-Datenübertragung der Google Cloud Platform |
Wenn Sie in einer anderen Währung als US-Dollar bezahlen, gelten die unter Cloud Platform SKUs für Ihre Währung angegebenen Preise.
Für Cloud Firestore fallen außerdem zusätzliche Gebühren für ausgehenden Internet-Traffic an:
- Google Cloud-Anfragen zwischen Regionen (jedoch nicht für Traffic zwischen US-Regionen)
- Anfragen von außerhalb von Google Cloud (zum Beispiel vom Mobilgerät eines Nutzers)
Google Cloud-Preise für ausgehenden Internet-Traffic
Preisbeispiel ansehen
Ein Beispiel für die Abrechnungskosten von Cloud Firestore in einer realen Beispielanwendung finden Sie im Abrechnungsbeispiel für Cloud Firestore.
Ausgaben verwalten
Legen Sie Monatsbudgets und Benachrichtigungen in der Google Cloud-Konsole fest, um unerwartete Kosten auf Ihrer Rechnung zu vermeiden.
Wenn Sie die Cloud Firestore-Nutzung in der Firebase Console im Blick behalten möchten, rufen Sie den Tab Datenbanken und Speicher > Firestore > Nutzung auf. Mit diesem Dashboard können Sie Ihre Nutzung über verschiedene Zeiträume hinweg messen.