Preisbeispiel für Cloud Firestore ansehen

Verwenden Sie dieses reale Beispiel einer einfachen Chat-App, um Ihre Cloud Firestore-Nutzung und -Kosten zu messen. 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. Für dieses Beispiel verwenden wir die Preise für die Nordamerika Multi-Region (speziell 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. Siehe die Tabelle unten für eine Aufteilung 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 Ihre Berechnungen zu führen, sondern auf die beziehen sich Preis Seite für weitere ausführliche Erklärungen der Cloud Firestor Kosten.

Eine Aufgliederung der Operationen , die von Benutzer - Task finden Sie in der Übersicht: berechneter Nutzung durch Anwender - Task - Seite.

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 FREE FREE = Egress - 1
15KB täglicher Nachrichtenspeicher / DAU + 3 KB 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 10GB monatlichen Netzausgang sind frei für Cloud Firestor.
2 Da unsere Annahme ist , dass DAUs 10% der gesamten App installiert sind, diese Zahl berücksichtigt die Gesamtzahl der Nutzer , 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 + 3 KB 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 unsere Annahme ist , dass DAUs 10% der gesamten App installiert sind, diese Zahl berücksichtigt die Gesamtzahl der Nutzer , 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 + 3 KB 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 unsere Annahme ist , dass DAUs 10% der gesamten App installiert sind, diese Zahl berücksichtigt die Gesamtzahl der Nutzer , 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 zwei oder mehr Benutzer
    • 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 über die Lagerkosten zu berechnen, siehe Erläuterungen zu Speichergrößenberechnungen .

Betrieb

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

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

  • Liest: (5 * 10) + (30) = 80 Reads / user / Tag
  • Writes: (10 * 2) = 20 schreibt / user / Tag
  • Netzwerk Egress: (50 * 0.25KB) + (30 * 0.25KB) = 20KB / user / Tag
  • Lagerung: (20 * 0.75KB) = 15 KB / user / 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 mithilfe eines Zeitstempels jedes erfolgreichen Abrufs, 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 bewirkt , dass zwei Dokument schreibt: ein Schreiben in die messages Untersammlung des Chat und ein Schreiben in das Chat - Stammdokument die aktualisieren lastUpdated Zeitstempel und andere Metadaten.

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 Zugriff durch Clients: Cloud - Firestor wird direkt von Ihrem Client - Code mit unserem nativen SDKs abgerufen. 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 - Firestor automatisch skaliert , um Unterstützung Traffic auf Ihre Datenbank, Sie müssen nicht einen Load Balancer ausgeführt werden .
  • Server - Uptime: Cloud - Firestore - Datenbanken arbeiten auf Google Cloud - Servern und bietet mehr als 99% pro Monat Verfügbarkeit .
  • Authentifizierung: Authentifizierung unbegrenzte Anzahl von Benutzern einfach und sicher mit Firebase - Authentifizierung . Firebase Authentication lässt sich direkt in Cloud Firestore integrieren, sodass Sie keinen eigenen Authentifizierungsdienst ausführen müssen.
  • Push - Benachrichtigungen: Senden von Nachrichten und Benachrichtigungen mit Cloud Messaging .
  • Andere Produkte Firebase: Integrieren andere freie Firebase - Produkte, einschließlich A / B - Tests, Analytik, Crashlytics, Performance Monitoring, Prognosen und Remote - Konfiguration. Erfahren Sie mehr über andere Produkte Firebase und Firebase Preis .