Check out what’s new from Firebase@ Google I/O 2021, and join our alpha program for early access to the new Remote Config personalization feature. Learn more

Preisbeispiel für Cloud Firestore ansehen

Verwenden Sie dieses reale Beispiel für eine einfache Chat-App, um Ihre Cloud Firestore-Nutzung und -Kosten abzuschätzen. Dies ist keine genaue Schätzung, kann Ihnen jedoch helfen, besser zu verstehen, wie Ihre Cloud Firestore-Nutzung abgerechnet wird.

Übersicht: Kosten nach Nutzungsgrad

Betrachten Sie zur Veranschaulichung typischer Kosten eine Beispiel-Chat-App, bei der Benutzer Chats mit zwei oder mehr Teilnehmern starten können. Benutzer können ihre aktiven Chats in einer Liste anzeigen, Nachrichten lesen und Nachrichten senden. In diesem Beispiel verwenden wir die Preisgestaltung für die nam5 Nordamerika (insbesondere nam5 ).

Annahmen

Berücksichtigen Sie die folgenden Annahmen zur Nutzung und Datenspeicherung:

  • Täglich aktive Benutzer (DAUs) machen 10 % der gesamten App-Installationen aus. Sie können Ihre täglichen Kosten anhand einer groben Schätzung Ihrer Daily Active Users (DAUs) schätzen. Dies sind die Benutzer, die Ihre App an einem bestimmten Tag aktiv öffnen und verwenden, was normalerweise eine kleine Teilmenge Ihrer gesamten App-Installationen ist. Für die folgenden Berechnungen haben wir die DAUs auf 10 % der Gesamtzahl der App-Installationen geschätzt.
  • Dokumentgrößen sind relativ klein. In der folgenden Tabelle finden Sie eine Aufschlüsselung der Dokumentgröße nach Typ.
  • Die Daten werden nur drei Monate gespeichert. Die Nachrichten in der Beispiel-Chat-App werden nur für einen Zeitraum von drei Monaten gespeichert. Um die Löschvorgänge zu berücksichtigen, zeigen die folgenden Berechnungen einen täglichen Löschvorgang für jeden täglichen Schreibvorgang.
  • Diese Kostenschätzungen spiegeln den Großteil der Kosten der Beispiel-App wider, jedoch nicht alle. Wir haben den Großteil der Kosten einer App durch Berechnung von Vorgängen, Benutzer- und Nachrichtenspeicherung und ausgehendem Traffic für die häufigsten Benutzeraufgaben, die in diesem Handbuch beschrieben werden, berücksichtigt. Abhängig von der Struktur und den Datenanforderungen Ihrer App müssen Sie jedoch möglicherweise zusätzliche Kosten berücksichtigen. Verwenden Sie dieses Beispiel als Leitfaden für Ihre Berechnungen. Auf der Preisseite finden Sie jedoch ausführlichere Erläuterungen zu den Cloud Firestore-Kosten.

Eine Aufschlüsselung der Vorgänge nach Benutzeraufgabe finden Sie im Abschnitt Aufschlüsselung: Abgerechnete Nutzung nach Benutzeraufgabe .

Klein
(50.000 Installationen)

Für 50.000 App-Installationen (5.000 täglich aktive Benutzer): 12,14 USD/Monat

Lese-/Schreibkosten
Monatliche Gesamtkosten = 11,10 $/Monat
400.000 tägliche Lesevorgänge = 50.000 KOSTENLOSE Lesevorgänge + (350.000 Lesevorgänge bei 0,06 USD/100.000) = 3,5 * 0,06 $
0,21 $ / Tag * 30 = 6,30 $
100.000 tägliche Schreibvorgänge insgesamt = 20.000 KOSTENLOSE Schreibvorgänge + (80.000 Schreibvorgänge bei 0,18 USD/100.000) = 0,8 * 0,18 $
0,14 $ / Tag * 30 = 4,20 $
100.000 tägliche Löschvorgänge insgesamt = 20K KOSTENLOSE Löschvorgänge + (80K Löschvorgänge bei 0,02 USD/100K) = 0,8 * 0,02 $
0,02 $ / Tag * 30 = 0,60 $
Speicher-/Netzwerkkosten
Monatliche Gesamtkosten = 1,04 USD/Monat
20 KB / DAU des täglichen ausgehenden Traffics * 5K DAUs = 100 MB täglicher ausgehender Traffic * 30 = 3 GB monatlicher Netzwerktraffic
3 GB KOSTENLOSER Egress = KOSTENLOS 1
15KB täglicher Nachrichtenspeicher / DAU + 3KB Speicher / 2 . installieren = 45 KB Speicher / DAU * 5K DAUs = 225 MB täglicher Speicher / DAU * 30 = 6,75 GB monatliche Speichernutzung
1 GB KOSTENLOSER Speicherplatz + (5,75 * 0,18) = 1,04 USD / Monat

1 10 GB monatlicher ausgehender Netzwerktraffic sind für Cloud Firestore kostenlos.
2 Da wir davon ausgehen, dass DAUs 10 % der gesamten App-Installationen ausmachen, macht diese Zahl die Gesamtzahl der Nutzer aus, die Ihre App installiert haben.

Mittel
(1 Mio. Installationen)

Für 1.000.000 App-Installationen (100.000 täglich aktive Benutzer): 292,02 $/Monat

Lese-/Schreibkosten
Monatliche Gesamtkosten = 261,90 $/Monat
8 Millionen tägliche Lesevorgänge = 50.000 KOSTENLOSE Lesevorgänge + (7,95 Mio. Lesevorgänge bei 0,06 USD/100.000) = 79,5 * 0,06 $
4,77 $ / Tag * 30 = 143,10 $
2 Millionen tägliche Schreibvorgänge = 20.000 KOSTENLOSE Schreibvorgänge + (1,98 Mio. Schreibvorgänge bei 0,18 USD/100.000) = 19,8 * 0,18 $
3,56 $ / Tag * 30 = 106,80 $
2 Millionen tägliche Löschvorgänge = 20K KOSTENLOSE Löschvorgänge + (1,98 Mio. Löschvorgänge bei 0,02 USD/100K) = 19,8 * 0,02 $
0,40 $ / Tag * 30 = 12,00 $
Speicher-/Netzwerkkosten
Monatliche Gesamtkosten = 30,12 USD/Monat
20 KB / DAU des täglichen ausgehenden Traffics * 100.000 DAUs = 2 GB täglicher ausgehender Traffic * 30 = 60 GB monatlicher Netzwerktraffic
10 GB KOSTENLOSER ausgehender Traffic + (50 GB ausgehender Traffic * 0,12 $/GB) = 6,00 $ / Monat
15KB täglicher Nachrichtenspeicher / DAU + 3KB Speicher / 1 . installieren = 45 KB Speicher / DAU * 100.000 DAUs = 4,5 GB täglicher Speicher / DAU * 30 = 135 GB monatliche Speichernutzung
1 GB KOSTENLOSER Speicher + (134 GB * 0,18 USD/GB) = 24,12 USD / Monat

1 Da wir davon ausgehen, dass DAUs 10 % der gesamten App-Installationen ausmachen, macht diese Zahl die Gesamtzahl der Nutzer aus, die Ihre App installiert haben.

Groß
(10 Millionen Installationen)

Für 10.000.000 App-Installationen (1.000.000 täglich aktive Benutzer): 2951,52 $

Lese-/Schreibkosten
Monatliche Gesamtkosten = Gesamt: 2637,90 $/Monat
80 Millionen tägliche Lesevorgänge = 50.000 KOSTENLOSE Lesevorgänge + (79,95 Mio. Lesevorgänge bei 0,06 USD/100.000) = 799,5 * 0,06 $
47,97 $ / Tag * 30 = 1439,10 $
20 Millionen tägliche Schreibvorgänge = 20.000 KOSTENLOSE Schreibvorgänge + (19,98 Mio. Schreibvorgänge bei 0,18 USD/100.000) = 199,8 * 0,18 $
35,96 $ / Tag * 30 = 1078,80 $
20 Millionen tägliche Löschvorgänge = 20K KOSTENLOSE Löschvorgänge + (19,98 Mio. Löschvorgänge bei 0,02 USD/100K) = 199,8 * 0,02 $
4,00 USD / Tag * 30 = 120,00 USD
Speicher-/Netzwerkkosten
Monatliche Gesamtkosten = 313,62 $/Monat
20 KB / DAU des täglichen ausgehenden Traffics * 1 Mio. DAUs = 20 GB täglicher ausgehender Traffic * 30 = 600 GB monatlicher Netzwerktraffic
10 GB KOSTENLOSER ausgehender Traffic + (590 GB ausgehender Traffic * 0,12/GB) = 70,80 US-Dollar / Monat /
15KB täglicher Nachrichtenspeicher / DAU + 3KB Speicher / 1 . installieren = 45 KB Speicher / DAU * 1 Mio. DAUs = 45 GB täglicher Speicher / DAU * 30 = 1350 GB monatliche Speichernutzung
(1 GB KOSTENLOSER Speicher) + (1349 GB * 0,18 USD/GB) = 242,82 USD / Monat

1 Da wir davon ausgehen, dass DAUs 10 % der gesamten App-Installationen ausmachen, macht diese Zahl die Gesamtzahl der Nutzer aus, die Ihre App installiert haben.

Ein bedenkenswerter Vorteil des Cloud Firestore-Abrechnungsmodells besteht darin, dass Sie nur für das bezahlen, was Sie tatsächlich nutzen. Infolgedessen kann Ihre Rechnung mit Ihrer DAU-Zahl wachsen und schrumpfen.

Aufschlüsselung: Abgerechnete Nutzung nach Benutzeraufgabe

Für unsere Beispiel-Chat-App sieht die Datenstruktur wie folgt aus:

  • users/{userId} – Benutzerdatensätze
  • groups/{groupId} — Chats zwischen 2 oder mehr Benutzern
    • message messages/{messageId} — Jede Nachricht in einem Chat.

Datenspeicher

Um die Speicherkosten für die Speicherung der App-Daten zu berechnen, gelten die folgenden Annahmen zu Dokumentgrößen:

Sammlung Dokumentengröße (während des Transports) Dokumentgröße (auf Datenträger)*
Benutzer 1KB 3KB
Gruppen 0,5 KB 1,5 KB
Mitteilungen 0,25 KB 0,75 KB

*Diese Größenberechnung umfasst Indizes für die Nachrichtenfelder, geht jedoch davon aus, dass die Indizierung für den Nachrichteninhalt deaktiviert ist.

Außerdem speichert die App nur Nachrichten, die bis zu drei Monate alt sind, um die Speicherkosten zu senken.

Weitere Informationen zum Berechnen von Speicherkosten finden Sie unter Grundlegendes zur Berechnung der Speichergröße .

Betrieb

Benutzer führen normalerweise die folgenden allgemeinen Aufgaben in der App aus:

  • Liste der Chats anzeigen: Benutzer öffnen den Startbildschirm der App und sehen eine Liste der Chats (Gruppen- und Direktchats), sortiert nach der zuletzt veröffentlichten Nachricht.
  • Nachrichten in einem Chat lesen : Benutzer wählen Chats auf dem Startbildschirm aus und lesen aktuelle Nachrichten aus Chats.
  • Eine Nachricht an einen Chat senden : Benutzer senden Nachrichten an Chats (Gruppe oder direkt).

Die geschätzten Gesamtvorgänge der Beispiel-App in Cloud Firestore für die drei typischen Nutzeraufgaben lauten wie folgt:

  • Lesevorgänge: (5 * 10) + (30) = 80 Lesevorgänge / Benutzer / Tag
  • Schreibt: (10 * 2) = 20 Schreibvorgänge / Benutzer / Tag
  • Ausgehender Netzwerktraffic : (50 * 0,25 KB) + (30 * 0,25 KB) = 20 KB / Benutzer / Tag
  • Speicher : (20 * 0,75 KB) = 15 KB / Benutzer / Tag

Gesamtnutzung nach Benutzeraufgabe

Wählen Sie jede Benutzeraufgabe aus, um eine vollständige Beschreibung und Aufschlüsselung der Betriebs-, Speicher- und Netzwerkkosten in der App anzuzeigen.

Siehe die Liste der Chats

Der Startbildschirm der App lädt die 25 letzten Chats, wobei Gebühren für 25 Dokumentlesevorgänge anfallen. Angenommen, ein aktiver Benutzer öffnet die App fünfmal pro Tag, was insgesamt 125 Lesevorgänge pro Benutzer pro Tag ergibt. Effizientere Abfragen, wie die im folgenden Beispiel, können diese Last jedoch reduzieren.

Im folgenden Beispiel beschränken wir die Abfrage auf neue Chats, indem wir einen Zeitstempel jedes erfolgreichen Abrufs verwenden, der von der App gespeichert wird:

db.collection('groups')
  .where('participants', 'array-contains', 'user123')
  .where('lastUpdated', '>', lastFetchTimestamp)
  .orderBy('lastUpdated', 'desc')
  .limit(25)

Angenommen, es gibt jedes Mal, wenn der Benutzer die App überprüft, durchschnittlich 10 aktualisierte Chats. Diese Abfrage erfordert nur 10 Dokumentlesevorgänge.

Nachrichten in einem Chat lesen

Benutzer klicken auf dem Startbildschirm in Chat-Threads, um die neuesten Nachrichten anzuzeigen, und laden die 50 neuesten Nachrichten beim ersten Laden.

Angenommen, ein typischer Benutzer führt diese Aktion fünfmal täglich aus (einmal für jedes Mal, wenn er den Startbildschirm öffnet), was zu einer Gesamtzahl von 250 Lesevorgängen pro Benutzer pro Tag führt. Wir können unsere Abfrage auch auf neue Nachrichten seit dem letzten Abruf beschränken:

db.collection('groups')
  .doc('group234')
  .collection('messages')
  .where('sentTime', '>', lastFetchTimestamp)
  .orderBy('sentTime', 'desc')
  .limit(50)

Angenommen, ein Benutzer erhält über alle Chats hinweg etwa 30 Nachrichten pro Tag. Da Sie die Abfrage auf das Abrufen neuer Nachrichten beschränkt haben, entspricht dies nur 30 abgerufenen Nachrichten pro Tag.

Senden Sie eine Nachricht an einen Chat

Benutzer können Nachrichten an andere Teilnehmer senden, sobald sie sich in einem Chat befinden. Angenommen, ein aktiver Benutzer sendet etwa 10 Nachrichten pro Tag.

Jede gesendete Nachricht verursacht zwei Dokumentschreibvorgänge: einen Schreibvorgang in die messages des Chats und einen Schreibvorgang in das Chat- lastUpdated , um den lastUpdated Zeitstempel und andere Metadaten zu aktualisieren.

Beachten Sie, dass die Kosten für das Lesen dieser Nachrichten bei den anderen Fahrten berücksichtigt wurden, sodass die folgenden Summen nur diese Schreibkosten berücksichtigen.

Inklusivleistungen: Kostenlose Services für Ihre App

Während Cloud Firestore-Betrieb, Speicher und Netzwerkbandbreite alle als abrechenbare Nutzung gelten, erhalten Sie auch eine Vielzahl anderer Vorteile ohne zusätzliche Kosten. Ziehen Sie die folgenden kostenlosen Dienste in Betracht, wenn Sie Cloud Firestore mit anderen Datenbankoptionen vergleichen:

  • Direkter Clientzugriff: Der Zugriff auf Cloud Firestore erfolgt direkt über Ihren Clientcode mithilfe unserer nativen SDKs. Das bedeutet, dass Sie keinen API-Server erstellen und ausführen müssen, um Ihre mobilen Clients mit der Datenbank zu verbinden.
  • Load-Balancing: Da Cloud Firestore automatisch skaliert, um den Datenverkehr zu Ihrer Datenbank zu unterstützen, müssen Sie keinen Load-Balancer ausführen.
  • Serververfügbarkeit: Cloud Firestore-Datenbanken werden auf Google Cloud-Servern betrieben und bieten eine monatliche Verfügbarkeit von über 99 % .
  • Authentifizierung: Authentifizieren Sie eine unbegrenzte Anzahl von Benutzern einfach und sicher mit Firebase Authentication . Firebase Authentication lässt sich direkt in Cloud Firestore integrieren, sodass Sie keinen eigenen Authentifizierungsdienst ausführen müssen.
  • Push-Benachrichtigungen: Senden Sie Nachrichten und Benachrichtigungen mit Cloud Messaging .
  • Andere Firebase-Produkte: Integrieren Sie andere kostenlose Firebase-Produkte, einschließlich A/B-Tests, Analysen, Crashlytics, Leistungsüberwachung, Vorhersagen und Remote Config. Erfahren Sie mehr über andere Firebase-Produkte und Firebase-Preise .