Firestore-Preise
In diesem Dokument wird die Preisgestaltung für 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 Firestore wird Ihnen Folgendes in Rechnung gestellt:
- Die Anzahl der Dokumente, die Sie lesen, schreiben und löschen können.
- Die Anzahl der gelesenen Indexeinträge für eine Abfrage. 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.
Die folgenden Abschnitte enthalten Details zu den Nutzungsgebühren für Firestore.
Kostenloses Kontingent
Firestore bietet ein kostenloses Kontingent für den Einstieg in
Ihre (default)
-Datenbank kostenlos. Die Größen dieser Gratiskontingente sind unten aufgelistet.
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.
Nur die (default)
-Datenbank kommt für das kostenlose Kontingent infrage.
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 können nicht kostenlos genutzt werden. Sie müssen die Abrechnung aktivieren, um diese Funktionen nutzen zu können:
- Benannte (nicht standardmäßige) Datenbanken verwenden
- TTL-Löschvorgänge
- PITR-Daten
- Daten sichern
- Vorgänge wiederherstellen
Weitere Informationen zur Abrechnung dieser Funktionen finden Sie unter Speicherpreise.
Preise nach Standort
In der folgenden Tabelle sind die Preise für Lese-, Schreib- und Löschvorgänge sowie den Speicher für jeden Firestore-Standort aufgeführt:
Wenn Sie in einer anderen Währung als US-Dollar bezahlen, gelten die unter Cloud Platform SKUs für Ihre Währung angegebenen Preise.
Kein kostenloses Kontingent für benannte Datenbanken
Zum Erstellen einer benannten (nicht standardmäßigen) Datenbank müssen Sie die Abrechnung aktivieren.
Für das Erstellen oder Löschen von benannten Datenbanken fallen keine zusätzlichen Kosten an. diese Datenbanken jedoch nicht für das kostenlose Kontingent infrage. Stattdessen werden Sie für die Nutzung in diesen benannten Datenbanken in Rechnung gestellt.
Lese-, Schreib- und Löschvorgänge
Ihnen werden Gebühren für gelesene Dokumente und Indexeinträge in Rechnung gestellt, die einer Abfrage entsprechen. Sie sind jedem Schreiben und Löschen eines Dokuments, das Sie ausführen, 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.
Gebühren für Lesevorgänge sind Nuancen, die Sie berücksichtigen sollten. In den folgenden Abschnitten werden diese im Detail erläutert.
Lesevorgänge von Indexeinträgen
Ihnen wird ein Lesevorgang für jeden Batch von bis zu 1.000 Indexeinträgen in Rechnung gestellt. von einer Abfrage gelesen werden, mit Ausnahme der folgenden:
Für Suchabfragen mit dem nächsten K-Nachbarvektor wird Ihnen ein Wert in Rechnung gestellt. Lesevorgang für jeden Batch von bis zu 100 kNN-Vektorindexeinträgen, die von der Abfrage gelesen werden.
Wenn beispielsweise die folgende Vektorsuchanfrage mit
limit: 5
gibt 5 Dokumente zurück und liest 1.550 kNN Vektorindexeinträge. Ihnen werden 5 Lesevorgänge für die zurückgegebenen Dokumente und 16 Lesevorgänge in Rechnung gestellt Vorgänge für die Indexeinträge:// 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' });
Bei Abfragen mit maximal einem Bereichsfeld fallen keine Kosten für Indexeinträge an. gelesen werden.
Die folgende Abfrage enthält beispielsweise ein Gleichheitsfeld (
age
) und ein Gleichheitsfeld Bereichseinträge (start_date
) und wird für gelesene Indexeinträge nicht in Rechnung gestellt:db.collection("employees").whereEqualTo("age", 35) .whereGreaterThanOrEqualTo("start_date", new Date(2020, 1, 1))
Die folgende Abfrage enthält zwei Bereichsfelder (
age
undstart_date
) und ist für Lesevorgänge 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 Klausel „Order by“ enthalten ist, wird als Bereichsfeld betrachtet, wenn gibt es mindestens ein anderes Bereichsfeld in der Abfrage. Daher enthält die folgende Abfrage zwei Bereichsfelder (
age
undstart_date
) und wird für Lesevorgänge von Indexeinträgen in Rechnung gestellt:db.collection("employees").whereGreaterThanOrEqualTo("age", 35) .orderBy("start_date")
Das Feld
__name__
wird immer als Bereichsfeld betrachtet, auch wenn es nur die in einem Gleichheitsfilter verwendet werden. Daher enthält die folgende Abfrage (age
und__name__
) und wird für gelesene Indexeinträge in Rechnung gestellt:db.collection("employees").whereIn("__name__", Arrays.asList("/employees/Alice", "/employees/Bob")) .orderBy("age")
Aggregationsabfragen
Für Aggregationsabfragen
z. B. count()
, sum()
und avg()
,
werden Ihnen Indexeinträge, die von der Abfrage gelesen werden, wie folgt in Rechnung gestellt:
wie oben beschrieben. Für Aggregationsabfragen, die 0 Indexe lesen
-Einträge wird mindestens ein Lesevorgang für ein Dokument berechnet.
Beispiel: count()
-Vorgänge, die zwischen 0 und 1.000 Indexeinträgen lesen
wird ein Lesevorgang in Rechnung gestellt. Für einen count()
-Vorgang, der 1.500 liest
werden Ihnen zwei Dokumentlesevorgänge in Rechnung gestellt.
Weitere Informationen zu den verwendeten und gelesenen Indexeinträgen finden Sie unter Query Explain:
Abfrageergebnisse überwachen
Mit Firestore können Sie das Ergebnis einer Abfrage überwachen und Aktualisierungen in Echtzeit 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 der Hörer in den mobilen und Web-SDKS hängt auch davon ab, Offlinepersistenz aktiviert ist oder nicht:
Wenn die Offlinepersistenz aktiviert und der Listener für länger als 30 Minuten (etwa wenn der Nutzer offline geht) für Dokumente und Indexeinträge in Rechnung gestellt, die so gelesen wurden, als hätten Sie ein ganz neues Abfrage.
Wenn die Offlinepersistenz deaktiviert ist, werden Ihnen Dokumente und werden die Indexeinträge so gelesen, als hätten Sie eine neue Abfrage gesendet, die Verbindung des Listeners getrennt und wiederhergestellt wird.
Große Ergebnismengen verwalten
Firestore bietet verschiedene Features, um Sie bei der Verwaltung von Abfragen zu unterstützen, 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.
Firestore-Sicherheitsregeln
Für Mobil- und Web-Clientbibliotheken werden Ihnen folgendermaßen zusätzliche Lesevorgänge in Rechnung gestellt, wenn Ihre Firestore-Sicherheitsregeln exists()
, get()
oder getAfter()
zum Lesen von einem oder mehreren Dokumenten aus der Datenbank verwenden:
Ihnen werden Lesevorgänge in Rechnung gestellt, die zur Evaluierung Ihrer Firestore-Sicherheitsregeln erforderlich sind.
Wenn sich Ihre Regeln beispielsweise auf drei Dokumente beziehen, aber Firestore nur zwei dieser Dokumente zur Evaluierung der 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
Speichergröße der Datenbank
Ihnen wird die auf 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 Firestore gespeicherte Dokument sind folgende Metadaten erforderlich:
- Die Dokument-ID, einschließlich Sammlungs-ID und Dokumentname.
- Der Name und Wert der einzelnen Felder. Da Firestore schemalos ist, muss der Name eines jeden Feldes in einem Dokument zusammen 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 pro Monat angegeben und täglich berechnet. Firestore die Datenbankgröße täglich misst. Über einen Zeitraum von einem Monat Diese Stichprobenpunkte werden gemittelt, um die Speichergröße der Datenbank zu berechnen. Dieser Durchschnittswert wird mit dem Preis pro Einheit für Speicher (GiB-Monat) multipliziert.
Unter Berechnung der Speichergröße erfahren Sie, wie der Speicher für Firestore berechnet wird.
PITR-Daten
Wenn Sie die PITR aktivieren, wird Ihnen die Speicherung von PITR in Rechnung gestellt. Daten. Für die meisten Kunden betragen die Gesamtkosten für die PiTR-Datenspeicherung ähnlich wie die Speicherkosten der Datenbank.
Die Speicherkosten für die Wiederherstellung zu einem bestimmten Zeitpunkt sind in GiB/Monat angegeben und täglich berechnet werden. Firestore misst die Datenbankgröße täglich. Über eines Monats werden diese Stichprobenpunkte gemittelt, um die Datenbankspeichergröße. Dieser Durchschnittswert wird mit dem Stückpreis von multipliziert. PITR (GiB-Monat).
Wenn die durchschnittliche Größe Ihrer Datenbank während Monat 1 GiB und PITR für den gesamten Monat aktiviert ist, dann entspricht die abrechenbare PITR beträgt 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
Daten sichern und Wiederherstellungsvorgänge
Wenn Sie Sicherungen aktivieren, wird Ihnen die Speicherung von Ihrer Datenbanksicherungen. 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 pro Monat angegeben. Über einen Zeitraum eines Monats Anzahl der Tage, für die die einzelnen Sicherungen aufbewahrt werden, wird ebenfalls im Monatsdurchschnitt ermittelt. berechnet. Die Kosten für jede Sicherung werden anhand der Speichergröße die Sicherung multipliziert mit dem Anteil des Monats, in dem die Sicherung aufbewahrt wird, multipliziert mit dem Preis pro Einheit.
Wenn Sie einen Wiederherstellungsvorgang ausführen, misst Firestore Größe der Sicherung für den Wiederherstellungsvorgang. Die Größe der Sicherung beträgt multipliziert mit dem Preis pro Einheit der Wiederherstellungsvorgänge (GiB).
Erläuterung der Abfrage
Für die Verwendung von Firestore Query Explain fallen Kosten an.
Wenn eine Abfrage mit der Standardoption erläutert wird, werden keine Indexlesevorgänge durchgeführt. durchgeführt wurde. Unabhängig von der Komplexität der Abfrage wird ein Lesevorgang berechnet.
Wenn eine Abfrage mit der Option „Analysieren“ erklärt wird, durchgeführt werden. Die Abfrage wird Ihnen wie gewohnt in Rechnung gestellt. Es gibt keine Zusatzgebühr für die Aktivität „Erklären und analysieren“, nur die übliche Gebühr für die auszuführende Abfrage.
Netzwerkbandbreite
Die durch Firestore-Anfragen genutzte Netzwerkbandbreite wird Ihnen in Rechnung gestellt, wie in den folgenden Preistabellen dargestellt. Die Netzwerkbandbreitenkosten für eine Firestore-Anfrage hängen von der Antwortgröße der Anfrage, dem Standort der Firestore-Datenbank und dem Ziel der Antwort ab.
Firestore errechnet die Antwortgröße anhand eines serialisierten Nachrichtenformats. Protokoll-Overhead, wie SSL-Overhead, wird nicht auf die Netzwerkbandbreitennutzung angerechnet. Durch Ihre Firestore-Sicherheitsregeln abgelehnte Anfragen werden nicht auf die Netzwerkbandbreitennutzung angerechnet.
Um zu erfahren, wie viele verwendete Bandbreite können Sie in der Google Cloud Console Ihre Daten Abrechnungsdaten in einer Datei speichern.
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 | Preise für ausgehende Internet-Datenübertragungen 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.
Internet-Datenübertragungsraten
Die folgenden Kosten werden Ihnen in Rechnung gestellt:
- 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)
Wenn Sie in einer anderen Währung als US-Dollar bezahlen, gelten die unter Cloud Platform SKUs für Ihre Währung angegebenen Preise.
Nutzung überwachen
Informationen zum Überwachen der Firestore-Nutzung finden Sie unter Monitoring-Nutzung.
Ausgaben verwalten
Legen Sie Monatsbudgets und Benachrichtigungen fest, um Ihre Ausgaben zu verwalten.
Google Cloud-Budgets und -Benachrichtigungen
Mit Google Cloud können Sie ein Monatsbudget für alle Google Cloud-Dienste festlegen. So behalten Sie Ihre gesamten Google Cloud-Kosten im Blick, einschließlich der Netzwerkbandbreitenkosten für Firestore. Nachdem Sie ein Budget festgelegt haben, können Sie Benachrichtigungen festlegen, um E-Mail-Benachrichtigungen zu erhalten, wenn Ihre Kosten sich Ihrer Budgetgrenze nähern.
Folgen Sie dieser Anleitung, um ein Monatsbudget festzulegen und Benachrichtigungen in der Google Cloud Console erstellen.
Preisbeispiel
Informationen dazu, wie Abrechnungskosten für Firestore bei einer realen Anwendung anfallen, finden Sie im Kostenbeispiel für Firestore.
Nächste Schritte
- Firestore-Dokumentation lesen.
- Erste Schritte mit Firestore.
- Preisrechner ausprobieren
- Informationen zu Firestore-Lösungen und -Anwendungsfällen