Preise für Firestore im Datastore-Modus
In diesem Dokument finden Sie Einzelheiten zu den Preisangaben für den Datastore-Modus.
Kostenlose Nutzung
Firestore im Datastore-Modus bietet eine kostenlose Nutzung für den Einstieg. Wenn Sie mehr als die kostenlose Nutzung nutzen möchten, müssen Sie für Ihr Projekt die Abrechnung aktivieren.
Ihre Nutzung wird täglich erfasst und gegen Mitternacht (Pacific Time) zurückgesetzt.
| Kostenlose Nutzung | |
|---|---|
| Entitätslesevorgänge | 50.000 pro Tag |
| Entitätsschreibvorgänge | 20.000 pro Tag |
| Entitätslöschvorgänge | 20.000 pro Tag |
| Gespeicherte Daten | 1 GiB |
| Kleine Vorgänge | 50.000 pro Tag |
| Ausgehende Datenübertragung | 10 GiB pro Monat |
Für die folgenden Vorgänge und Funktionen ist keine kostenlose Nutzung möglich. Sie müssen die Abrechnung aktivieren, um diese Funktionen nutzen zu können:
- PITR-Daten
- Daten sichern
- Vorgänge wiederherstellen
- Klonvorgänge
- TTL
Weitere Informationen zur Abrechnung dieser Funktionen finden Sie unter Berücksichtigung der Speichergröße.
Preise nach Region
Preise für Lese-, Schreib- und Löschvorgänge sowie Speicher für jeden Datastore-Modus-Standort finden Sie unter Firestore-Preise.
Lesevorgänge
Für jede gelesene Entität wird ein Lesevorgang und für jeden Batch von bis zu 1.000 gelesenen Indexeinträgen wird ein Lesevorgang in Rechnung gestellt.
Indexeinträge
Für jeden Batch von bis zu 1.000 Indexeinträgen, die von einer Abfrage gelesen werden, wird Ihnen ein Lesevorgang in Rechnung gestellt. Ausnahmen:
Für Abfragen mit bis zu einer Bereichseigenschaft werden keine Kosten für gelesene Indexeinträge berechnet. Die Mindestgebühr beträgt null Lesevorgänge. Anhand der folgenden Beispiele können Sie sich mit den Kosten für das Lesen von Indexeinträgen vertraut machen. Verwenden Sie dann den Abschnitt billing_details von Query Explain, um Ihr Verständnis zu überprüfen.
Die folgende Abfrage enthält ein Gleichheitsattribut (age) und ein Bereichsattribut (start_date). Für gelesene Indexeinträge werden keine Gebühren erhoben:
Query<Entity> query =
Query.newEntityQueryBuilder()
.setKind("Employee")
.setFilter(
CompositeFilter.and(
PropertyFilter.eq("age", 35), PropertyFilter.ge("start_date", new Date(2020, 1, 1))))
.build();
Die folgende Abfrage enthält zwei Bereichseigenschaften (age und start_date) und wird für das Lesen von Indexeinträgen abgerechnet:
Query<Entity> query =
Query.newEntityQueryBuilder()
.setKind("Employee")
.setFilter(
CompositeFilter.and(
PropertyFilter.ge("age", 35), PropertyFilter.ge("start_date", new Date(2020, 1, 1))))
.build();
Eine Eigenschaft, die in der ORDER BY-Klausel vorkommt, wird als Bereichseigenschaft betrachtet, wenn es mindestens eine weitere Bereichseigenschaft gibt.
Daher enthält die folgende Abfrage zwei Bereichseigenschaften (age und start_date) und wird für das Lesen von Indexeinträgen berechnet:
Query<Entity> query =
Query.newEntityQueryBuilder()
.setKind("Employee")
.setFilter(PropertyFilter.ge("age", 35))
.setOrderBy(OrderBy.asc("start_date")).build()
.build();
Eine Eigenschaft, die in der DISTINCT ON-Klausel vorkommt, wird als Bereichseigenschaft betrachtet, wenn es mindestens eine weitere Bereichseigenschaft gibt. Daher enthält die folgende Abfrage zwei Bereichseigenschaften (age und start_date) und wird für das Lesen von Indexeinträgen berechnet:
Query<Entity> query =
Query.newEntityQueryBuilder()
.setKind("Employee")
.setFilter(PropertyFilter.ge("age", 35))
.setDistinctOn("start_date")
.build();
Aggregationsabfragen
Für die Aggregationsabfragen count(), sum() und avg() wird pro Batch von bis zu 1.000 Indexeinträgen, die von der Abfrage gelesen werden, ein Entitätslesevorgang in Rechnung gestellt.
Bei Aggregationsabfragen, die zwischen 0 und 1.000 Indexeinträge lesen, wird beispielsweise ein Entitätslesevorgang in Rechnung gestellt. Für eine Aggregationsabfrage, bei der 1.500 Indexeinträge gelesen werden, werden Ihnen 2 Entitätslesevorgänge in Rechnung gestellt.
Weitere Informationen zu den verwendeten Indexen und den gelesenen Indexeinträgen erhalten Sie mit Query Explain.
Attributtransformationen
Jede Property-Transformation wie increment und appendMissingElements wird als Lese- und Schreibvorgang berechnet. Ein Commit-Vorgang mit einem Einfüge-, Aktualisierungs- oder Upsert-Vorgang und einer Attributtransformation für dieselbe Entität zählt als ein Lese- und ein Schreibvorgang.
Kleine Vorgänge
Kleine Vorgänge sind:
- Aufrufe zum Zuweisen von IDs.
- Ausschließlich schlüsselbasierte Abfragen: Eine ausschließlich schlüsselbasierte Abfrage zählt nur als ein einzelner Entitätslesevorgang für die Abfrage selbst. Die einzelnen Ergebnisse werden als kleine Vorgänge betrachtet.
- Projektionsabfragen, die die Klausel
distinct onnicht verwenden. Diese Art Abfrage zählt nur als einzelner Entitätslesevorgang für die Abfrage selbst. Die einzelnen Ergebnisse werden als kleine Vorgänge betrachtet.
Kleine Vorgänge sind kostenlos, aber Sie müssen die Abrechnung aktivieren, um die täglich kostenlose Nutzung überschreiten zu können.
Abfragen, Erklären und Analysieren
Die Verwendung von Query Explain and Analyze verursacht Kosten.
Wenn eine Abfrage mit der Standardoption erklärt wird, werden keine Index- oder Entitätslesevorgänge ausgeführt. Unabhängig von der Komplexität der Abfrage wird ein Lesevorgang berechnet.
Wenn eine Abfrage mit der Option „Analysieren“ erklärt wird, werden Index- und Lesevorgänge ausgeführt. Die Abfrage wird also wie gewohnt abgerechnet. Für die Aktivität „Erklären und analysieren“ fallen keine zusätzlichen Kosten an, sondern nur die üblichen Kosten für die ausgeführte Abfrage.
Netzwerkbandbreite
Die durch Firestore-Anfragen im Datastore-Modus genutzte Netzwerkbandbreite wird Ihnen in Rechnung gestellt, wie in den folgenden Preistabellen dargestellt. Die Netzwerkbandbreitenkosten für eine Anfrage hängen von der Antwortgröße der Anfrage, dem Standort der Datenbank im Datastore-Modus und dem Ziel der Antwort ab.
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 Regionen in den USA | Google Cloud Platform-Preise für ausgehenden Internettraffic |
Wenn Sie in einer anderen Währung als US-Dollar bezahlen, gelten die Preise, die unter Cloud Platform SKUs für Ihre Währung angegeben sind.
Preise für die Internetdatenübertragung
So wird Ihnen die Internet-Datenübertragung in Rechnung gestellt:
- Google Cloud Anfragen zwischen Regionen (jedoch nicht für Traffic zwischen US-Regionen)
- Anfragen von außerhalb von Google Cloud
Wenn Sie in einer anderen Währung als US-Dollar bezahlen, gelten die Preise, die unter Cloud Platform SKUs für Ihre Währung angegeben sind.
Export- und Importvorgänge
Bei Export- und Importvorgängen werden die Lese- und Schreibvorgänge von Entitäten zu den Preisen berechnet, in der obigen Tabelle aufgeführt sind. Wenn Sie einen Export- oder Importvorgang abbrechen, werden Ihnen die Vorgänge in Rechnung gestellt, die bis zu dem Zeitpunkt ausgeführt wurden, zu dem die Abbruchanfrage bei Firestore im Datastore-Modus eingegangen ist.
Informationen zur Kontingentnutzung für Ihre Anwendung finden
Öffnen Sie die Seite mit den Kontingentdetails für App Engine, um die Datastore-Modus-Nutzung Ihrer Anwendung einschließlich des Kontingentverbrauchs einzusehen. Dies gilt auch dann, wenn Ihre Anwendung nicht in App Engine ausgeführt wird.
Die von Ihrer Anwendung genutzten Datastore-Modus-Ressourcen werden auf der angezeigten Storage-Seite aufgeführt. Sie können auch auf Nicht verwendete Ressourcen einblenden klicken, um die vollständige Liste der verfügbaren Kontingentinformationen einzusehen.
Überlegungen zur Speichergröße
Ihnen wird die im Datastore-Modus gespeicherte Datenmenge einschließlich des Speicheraufwands in Rechnung gestellt. Die Menge des Speicheraufwands umfasst Metadaten, integrierte Indexe, zusammengesetzte Indexe und Versionen für die Wiederherstellung zu einem bestimmten Zeitpunkt. Außerdem werden Ihnen die Größe des Sicherungsspeichers und die Wiederherstellungsvorgänge in Rechnung gestellt.
Für jede in Ihrer Datenbank gespeicherte Entität sind folgende Metadaten erforderlich, die zur Speichergröße beitragen:
- Der Entitätsschlüssel, einschließlich Typ, ID bzw. Schlüsselname, sowie die Schlüssel der Ancestors der Entität.
- Name und Wert jedes Attributs. Da Firestore im Datastore-Modus schemalos ist, muss für jede Entität der Name jedes Attributs zusammen mit dem Attributwert gespeichert werden.
- Alle Zeilen aus integrierten oder zusammengesetzten Indexen, die sich auf diese Entität beziehen. Eine Zeile enthält jeweils den Typ der Entität, eine Anzahl an Attributwerten, die von der Indexdefinition abhängt, sowie den Entitätsschlüssel.
Unter Speichergrößenberechnungen erfahren Sie, wie der Speicher für den Datastore-Modus berechnet wird.
PITR-Daten
Wenn Sie PITR aktivieren, wird Ihnen die Speicherung von PITR-Daten in Rechnung gestellt. Die meisten Kunden werden feststellen, dass die Gesamtkosten für die PiTR-Datenspeicherung ähnlich hoch sind wie die Speicherkosten der Datenbank.
Die Speicherkosten für PITR werden in GiB/Monat angegeben und täglich berechnet. Im Datastore-Modus wird die Datenbankgröße täglich gemessen. Ü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 die Speicherkosten für bis zu einen Tag PITR berechnet, auch wenn Sie PITR innerhalb eines Tages nach der Aktivierung deaktivieren.
Daten sichern und wiederherstellen
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. Außerdem wird die Anzahl der Tage, an denen jedes Backup im Laufe eines Monats aufbewahrt wird, als Durchschnittswert für den Monat berechnet. Die Kosten für jede Sicherung werden berechnet, indem die Speichergröße der Sicherung mit dem Anteil des Monats, in dem die Sicherung aufbewahrt wird, und dem Einheitspreis multipliziert wird. Die Tagesgrenzen werden für Abrechnungszwecke durch die Zeitzone „America/Los_Angeles“ definiert.
Wenn Sie einen Wiederherstellungsvorgang durchführen, misst der Datastore-Modus die Größe der Sicherung für den Wiederherstellungsvorgang. Die Größe der Sicherung wird mit dem Einheitspreis für Wiederherstellungsvorgänge (GiB) multipliziert.
Nächste Schritte
- Dokumentation zu Firestore im Datastore-Modus.
- Erste Schritte mit Firestore im Datastore-Modus
- Preisrechner ausprobieren
- Firestore im Datastore-Modus – Lösungen und Anwendungsfälle