Join us in person and online for Firebase Summit on October 18, 2022. Learn how Firebase can help you accelerate app development, release your app with confidence, and scale with ease. Register now

Sehen Sie sich ein Preisbeispiel für Cloud Firestore an

Mit Sammlungen den Überblick behalten Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.

Verwenden Sie dieses reale Beispiel einer einfachen Chat-App, um Ihre Cloud Firestore-Nutzung und -Kosten abzuschätzen. Dies ist keine genaue Schätzung, aber sie kann Ihnen helfen, besser zu verstehen, wie Ihre Cloud Firestore-Nutzung abgerechnet wird.

Übersicht: Kosten nach Nutzungsstufe

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

Annahmen

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

  • Daily Active Users (DAUs) machen 10 % aller 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 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.
  • 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 eine tägliche Löschung für jeden täglichen Schreibvorgang.
  • Diese Kostenschätzungen spiegeln den Großteil der Kosten der Beispiel-App wider, aber nicht alle. Wir haben den Großteil der Kosten einer App berücksichtigt, indem wir Vorgänge, Benutzer- und Nachrichtenspeicherung und Ausgang für die häufigsten Benutzeraufgaben berechnet haben, die in diesem Leitfaden beschrieben werden. 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 Grundlage für Ihre Berechnungen, aber lesen Sie die Seite mit den Preisen für 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 aktive Benutzer pro Tag): 12,14 $/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 $/100.000) = 3,5 * 0,06 $
0,21 $ / Tag * 30 = 6,30 $
Insgesamt 100.000 tägliche Schreibvorgänge = 20.000 kostenlose Schreibvorgänge + (80.000 Schreibvorgänge zu 0,18 $/100.000) = 0,8 * 0,18 $
0,14 $ / Tag * 30 = 4,20 $
Täglich insgesamt 100.000 Löschungen = 20.000 kostenlose Löschungen + (80.000 Löschungen bei 0,02 $/100.000) = 0,8 * 0,02 $
0,02 $ / Tag * 30 = 0,60 $
Speicher-/Netzwerkkosten
Monatliche Gesamtkosten = 1,04 $/Monat
20 KB/DAU des täglichen Ausgangs * 5.000 DAUs = 100 MB täglich ausgehender Traffic * 30 = 3 GB monatlich ausgehender Netzwerktraffic
3 GB kostenloser ausgehender Traffic = kostenlos 1
15 KB täglicher Nachrichtenspeicher / DAU + 3 KB Speicher / Installation 2 = 45 KB Speicher / DAU * 5.000 DAUs = 225 MB täglicher Speicherplatz / DAU * 30 = 6,75 GB monatliche Speichernutzung
1 GB kostenloser Speicherplatz + (5,75 * 0,18 USD) = 1,04 USD / Monat

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

Mittel
(1 Million Installationen)

Für 1.000.000 App-Installationen (100.000 aktive Benutzer täglich): 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 $/100.000) = 79,5 * 0,06 $
4,77 $ / Tag * 30 = 143,10 $
2 Mio. tägliche Schreibvorgänge insgesamt = 20.000 kostenlose Schreibvorgänge + (1,98 Mio. Schreibvorgänge bei 0,18 $/100.000) = 19,8 * 0,18 $
3,56 $ / Tag * 30 = 106,80 $
Insgesamt 2 Millionen Löschungen pro Tag = 20.000 kostenlose Löschungen + (1,98 Mio. Löschungen bei 0,02 $/100.000) = 19,8 * 0,02 $
0,40 $ / Tag * 30 = 12,00 $
Speicher-/Netzwerkkosten
Monatliche Gesamtkosten = 30,12 $/Monat
20 KB/DAU des täglichen Ausgangs * 100.000 DAUs = 2 GB täglich ausgehender Traffic * 30 = 60 GB monatlich ausgehender Netzwerktraffic
10 GB kostenloser ausgehender Traffic + (50 GB ausgehender Traffic * 0,12 $/GB) = 6,00 $/Monat
15 KB täglicher Nachrichtenspeicher / DAU + 3 KB Speicher / Installation 1 = 45 KB Speicher / DAU * 100.000 DAUs = 4,5 GB täglicher Speicherplatz / DAU * 30 = 135 GB monatliche Speichernutzung
1 GB kostenloser Speicherplatz + (134 GB * 0,18 $/GB) = 24,12 $/Monat

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

Groß
(10 Millionen Installationen)

Für 10.000.000 App-Installationen (1.000.000 aktive Benutzer pro Tag): 2.951,52 $

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

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

Ein erwägenswerter Vorteil des Cloud Firestore-Abrechnungsmodells ist, dass Sie nur für das bezahlen, was Sie nutzen. Infolgedessen kann Ihre Rechnung mit Ihrer DAU-Anzahl 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
    • 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 Dokumentgröße (bei Transport) Dokumentengröße (auf Festplatte)*
Benutzer 1 KB 3KB
Gruppen 0,5 KB 1,5 KB
Mitteilungen 0,25 KB 0,75 KB

*Diese Größenberechnung beinhaltet Indizes für die Nachrichtenfelder, geht aber davon aus, dass die Indizierung für Nachrichteninhalte deaktiviert ist.

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

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

Operationen

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

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

  • Lesevorgänge: (5 * 10) + (30) = 80 Lesevorgänge / Benutzer / Tag
  • Schreibvorgänge: (10 * 2) = 20 Schreibvorgänge / Benutzer / Tag
  • Netzwerkausgang : (50 * 0,25 KB) + (30 * 0,25 KB) = 20 KB / Benutzer / Tag
  • Speicherplatz : (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.

Sehen Sie sich die Liste der Chats an

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

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, jedes Mal, wenn der Benutzer die App überprüft, gibt es durchschnittlich 10 aktualisierte Chats. Diese Abfrage erfordert nur 10 Dokumentlesevorgänge.

Lesen Sie Nachrichten in einem Chat

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

Angenommen, der typische Benutzer führt diese Aktion fünfmal täglich aus (einmal für jedes Mal, wenn er den Startbildschirm öffnet), was zu insgesamt 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 etwa 30 Nachrichten pro Tag über alle Chats hinweg. Da Sie die Abfrage auf das Abrufen neuer Nachrichten beschränkt haben, bedeutet dies nur 30 abgerufene Nachrichten/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 übergeordnete Chatdokument, um den lastUpdated Zeitstempel und andere Metadaten zu aktualisieren.

Beachten Sie, dass die Kosten für das Lesen dieser Nachrichten in den anderen Journeys berücksichtigt wurden, sodass die unten stehenden Summen nur diese Schreibkosten berücksichtigen.

Inklusivleistungen: Kostenlose Services für Ihre App

Während Cloud Firestore-Vorgänge, Speicher und Netzwerkbandbreite alle als kostenpflichtige Nutzung gelten, erhalten Sie auch eine Vielzahl anderer Vorteile ohne zusätzliche Kosten. Berücksichtigen Sie die folgenden kostenlosen Dienste, wenn Sie Cloud Firestore mit anderen Datenbankoptionen vergleichen:

  • Direkter Client-Zugriff: Auf Cloud Firestore wird mithilfe unserer nativen SDKs direkt von Ihrem Client-Code aus zugegriffen. 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 wird, um Traffic 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 unbegrenzt viele Benutzer einfach und sicher mit der Firebase-Authentifizierung . Die Firebase-Authentifizierung 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 Firebase-Produkte kostenlos, einschließlich A/B-Tests, Analysen, Crashlytics, Leistungsüberwachung und Remote-Konfiguration. Erfahren Sie mehr über andere Firebase-Produkte und Firebase-Preise .