Google is committed to advancing racial equity for Black communities. See how.
Diese Seite wurde von der Cloud Translation API übersetzt.
Switch to English

Wählen Sie eine Datenbank: Cloud Firestore oder Echtzeitdatenbank

Firebase bietet zwei Cloud-basierte, auf Clients zugängliche Datenbanklösungen, die die Echtzeit-Datensynchronisierung unterstützen:

  • Cloud Firestore ist die neueste Datenbank von Firebase für die Entwicklung mobiler Apps. Es baut auf den Erfolgen der Echtzeitdatenbank mit einem neuen, intuitiveren Datenmodell auf. Der Cloud Firestore bietet außerdem umfangreichere, schnellere Abfragen und skaliert weiter als die Echtzeitdatenbank.

  • Die Echtzeitdatenbank ist die ursprüngliche Datenbank von Firebase. Es ist eine effiziente Lösung mit geringer Latenz für mobile Apps, die synchronisierte Zustände zwischen Clients in Echtzeit erfordern.

Welche Datenbank empfiehlt Firebase?

Ihre Wahl der Datenbanklösung hängt von vielen Faktoren ab. Bei bestimmten Funktionen können wir jedoch Empfehlungen abgeben, welche Datenbank für Sie geeignet ist.

Beide Lösungen bieten:

  • Client-First-SDKs ohne Server, die bereitgestellt und gewartet werden müssen
  • Echtzeit-Updates
  • Kostenlose Stufe, dann zahlen Sie für das, was Sie verwenden

Wichtige Überlegungen

Überlegen Sie sich, wie sich einige oder alle der unten aufgeführten Überlegungen auf den Erfolg Ihrer Apps auswirken.

Rolle der Datenbank
Meine App verwendet eine Datenbank für ...
In erster Linie Daten mit grundlegender Abfrage synchronisieren.
Wenn Sie keine erweiterten Abfragen, Sortierungen und Transaktionen benötigen, empfehlen wir die Echtzeitdatenbank .
Erweiterte Abfrage, Sortierung und Transaktionen.
Wenn Sie komplexe Interaktionen mit Ihren Daten benötigen, beispielsweise in E-Commerce-Apps, empfehlen wir Cloud Firestore .
Operationen an Daten
Die Datenbanknutzung meiner App sieht aus wie ...
Einige GB oder weniger Daten, die sich häufig ändern.
Wenn Ihre App einen Strom winziger Updates sendet, z. B. in einer digitalen Whiteboard-App, empfehlen wir die Echtzeitdatenbank .
Hunderte von GB bis TB Daten, die viel häufiger gelesen als geändert werden.
Für sehr große Datenmengen und wenn häufig Batch-Vorgänge erforderlich sind, empfehlen wir Cloud Firestore .
Datenmodell
Ich strukturiere meine Daten lieber als ...
Ein einfacher JSON-Baum.
Für unstrukturierte JSON-Daten empfehlen wir die Echtzeitdatenbank .
In Sammlungen organisierte Dokumente.
Für strukturierte Dokumente und Sammlungen empfehlen wir Cloud Firestore .
Verfügbarkeit
Meine Verfügbarkeitsbedürfnisse sind ...
Extrem hohe Verfügbarkeitsgarantie von 99,999%.
Wenn die Verfügbarkeit von größter Bedeutung ist, beispielsweise in E-Commerce-Apps, empfehlen wir Cloud Firestore .
Eine Garantie von mindestens 99,95% Verfügbarkeit.
Wenn eine sehr hohe, aber nicht kritische Verfügbarkeit akzeptabel ist, empfehlen wir entweder Cloud Firestore oder Realtime Database .
Offline-Abfragen zu lokalen Daten
Meine App muss Abfragen auf Geräten mit eingeschränkter oder keiner Konnektivität ausführen ...
Häufig.
Für ausgefeilte Abfragefunktionen für lokale Daten, wenn der Benutzer offline ist, empfehlen wir Cloud Firestore .
Selten oder nie.
Wenn Sie erwarten, dass Ihre Benutzer regelmäßig online sind, empfehlen wir Cloud Firestore oder Realtime Database .
Anzahl der Datenbankinstanzen
In meinen einzelnen Projekten muss ich ...
Viele Datenbanken, zum Beispiel eine Datenbank für jeden Großkunden.
Da Sie damit einem einzelnen Firebase-Projekt mehrere Datenbanken hinzufügen können, empfehlen wir die Echtzeitdatenbank .
Nur eine einzige Datenbank.
Wenn Sie eine einzelne Datenbank benötigen, empfehlen wir entweder Cloud Firestore oder Realtime Database .

Was sind andere wichtige Dinge zu beachten?

Nachdem Sie über die vorherigen wichtigen Überlegungen nachgedacht haben, können Sie möglicherweise eine Datenbank auswählen . Wenn Sie immer noch Vor- und Nachteile abwägen, werden in diesem Abschnitt weitere Unterschiede zwischen Cloud Firestore und Echtzeitdatenbank behandelt.

Datenmodell

Sowohl Realtime Database als auch Cloud Firestore sind NoSQL-Datenbanken.

Echtzeitdatenbank Cloud Firestore
Speichert Daten als einen großen JSON-Baum.
  • Einfache Daten sind sehr einfach zu speichern.
  • Komplexe, hierarchische Daten sind im Maßstab schwieriger zu organisieren.

Erfahren Sie mehr über das Realtime Database-Datenmodell .

Speichert Daten als Dokumentensammlungen.
  • Einfache Daten lassen sich leicht in Dokumenten speichern, die JSON sehr ähnlich sind.
  • Komplexe, hierarchische Daten lassen sich mithilfe von Untersammlungen in Dokumenten einfacher skalieren.
  • Erfordert weniger Denormalisierung und Datenreduzierung.

Erfahren Sie mehr über das Cloud Firestore-Datenmodell .

Echtzeit- und Offline-Support

Beide verfügen über Mobile-First-Echtzeit-SDKs und unterstützen die lokale Datenspeicherung für offline-fähige Apps.

Echtzeitdatenbank Cloud Firestore
Offline-Unterstützung für iOS- und Android-Clients. Offline-Unterstützung für iOS-, Android- und Web-Clients.

Gegenwart

Es kann hilfreich sein zu wissen, wann ein Client online oder offline ist. Firebase Realtime Database kann den Clientverbindungsstatus aufzeichnen und jedes Mal Aktualisierungen bereitstellen, wenn sich der Verbindungsstatus des Clients ändert.

Echtzeitdatenbank Cloud Firestore
Präsenz unterstützt. Wird nativ nicht unterstützt. Sie können die Präsenz von Realtime Database für die Präsenz nutzen, indem Sie Cloud Firestore und Realtime Database mithilfe von Cloud-Funktionen synchronisieren. Siehe Präsenz im Cloud Firestore erstellen .

Abfragen

Abrufen, Sortieren und Filtern von Daten aus beiden Datenbanken durch Abfragen.

Echtzeitdatenbank Cloud Firestore
Tiefe Abfragen mit eingeschränkter Sortier- und Filterfunktion .
  • Abfragen können eine Eigenschaft sortieren oder filtern, jedoch nicht beide.
  • Abfragen sind standardmäßig tief: Sie geben immer den gesamten Teilbaum zurück.
  • Abfragen können mit beliebiger Granularität auf Daten zugreifen, bis hin zu einzelnen Blattknotenwerten im JSON-Baum.
  • Abfragen erfordern keinen Index. Die Leistung bestimmter Abfragen nimmt jedoch mit zunehmendem Datensatz ab.
Indizierte Abfragen mit zusammengesetzter Sortierung und Filterung .
  • Sie können Filter verketten und das Filtern und Sortieren einer Eigenschaft in einer einzigen Abfrage kombinieren.
  • Abfragen sind flach: Sie geben nur Dokumente in einer bestimmten Sammlung oder Sammlungsgruppe zurück und geben keine Untersammlungsdaten zurück.
  • Abfragen müssen immer ganze Dokumente zurückgeben.
  • Abfragen werden standardmäßig indiziert: Die Abfrageleistung ist proportional zur Größe Ihrer Ergebnismenge und nicht Ihrer Datenmenge.

Schreibt und Transaktionen

Echtzeitdatenbank Cloud Firestore
Grundlegende Schreib- und Transaktionsoperationen. Erweiterte Schreib- und Transaktionsoperationen.
  • Schreiben Sie Datenoperationen durch Set- und Update-Operationen sowie erweiterte Transformationen wie Array- und numerische Operatoren.
  • Transaktionen können atomar Daten aus jedem Teil der Datenbank lesen und schreiben.

Zuverlässigkeit und Leistung

Echtzeitdatenbank Cloud Firestore
Die Echtzeitdatenbank ist eine Einzelregionslösung.
  • Datenbanken sind auf die zonale Verfügbarkeit in einer einzelnen Region beschränkt.
  • Extrem niedrige Latenz, ideale Option für die häufige Synchronisierung von Zuständen.
Weitere Informationen zu den Leistungs- und Zuverlässigkeitsmerkmalen der Echtzeitdatenbank finden Sie im Service Level Agreement .
Cloud Firestore ist eine Lösung für mehrere Regionen, die automatisch skaliert wird.
  • Bewahrt Ihre Daten in mehreren Rechenzentren in unterschiedlichen Regionen auf und gewährleistet so globale Skalierbarkeit und hohe Zuverlässigkeit.
  • Verfügbar in regionalen oder multiregionalen Konfigurationen auf der ganzen Welt.
Weitere Informationen zu den Leistungs- und Zuverlässigkeitsmerkmalen von Cloud Firestore finden Sie im Service Level Agreement .

Skalierbarkeit

Echtzeitdatenbank Cloud Firestore
Das Skalieren erfordert Scherben.
  • Skalieren Sie in einer einzigen Datenbank auf rund 200.000 gleichzeitige Verbindungen und 1.000 Schreibvorgänge pro Sekunde. Um darüber hinaus zu skalieren, müssen Ihre Daten über mehrere Datenbanken verteilt werden.
  • Keine lokalen Beschränkungen der Schreibraten für einzelne Daten.
Die Skalierung erfolgt automatisch.
  • Skaliert vollautomatisch. Derzeit liegen die Skalierungsgrenzen bei etwa 1 Million gleichzeitigen Verbindungen und 10.000 Schreibvorgängen pro Sekunde. Wir planen, diese Grenzen in Zukunft zu erhöhen.
  • Beschränkt die Schreibraten für einzelne Dokumente oder Indizes.

Sicherheit

Echtzeitdatenbank Cloud Firestore
Kaskadierende Regelsprache, die Autorisierung und Validierung trennt. Nicht kaskadierende Regeln, die Autorisierung und Validierung kombinieren.
  • Liest und schreibt von mobilen SDKs, die durch Cloud Firestore-Sicherheitsregeln geschützt sind .
  • Liest und schreibt von Server-SDKs, die durch Identity and Access Management (IAM) gesichert sind.
  • Regeln kaskadieren nur, wenn Sie einen Platzhalter verwenden.
  • Regeln können Abfragen einschränken: Wenn die Ergebnisse einer Abfrage Daten enthalten, auf die der Benutzer keinen Zugriff hat, schlägt die gesamte Abfrage fehl.

Preisgestaltung

Beide Lösungen sind in den Preisplänen Spark und Blaze verfügbar.

Echtzeitdatenbank Cloud Firestore
Gebühren nur für Bandbreite und Speicher , jedoch mit einer höheren Rate.

Lesen Sie mehr über Preispläne für Echtzeitdatenbanken .

Gebühren hauptsächlich für Vorgänge in Ihrer Datenbank (Lesen, Schreiben, Löschen) und bei geringerer Rate für Bandbreite und Speicher.

Cloud Firestore unterstützt tägliche Ausgabenbeschränkungen für Google App Engine-Projekte, um sicherzustellen, dass Sie die Kosten, mit denen Sie vertraut sind, nicht überschreiten .

Lesen Sie mehr über die Preispläne für Cloud Firestore .

Verwenden von Cloud Firestore und Echtzeitdatenbank

Sie können beide Datenbanken in derselben Firebase-App oder demselben Projekt verwenden. Beide NoSQL-Datenbanken können dieselben Datentypen speichern, und die Clientbibliotheken funktionieren auf ähnliche Weise. Beachten Sie die oben beschriebenen Unterschiede, wenn Sie beide Datenbanken in Ihrer App verwenden möchten .

Erfahren Sie mehr über die Funktionen, die sowohl in der Echtzeitdatenbank als auch im Cloud Firestore verfügbar sind.

Bereit, eine Datenbank auszuwählen?

Hoffentlich hat Ihnen dieser Vergleich geholfen, sich für eine Firebase-Datenbanklösung zu entscheiden. Jetzt können Sie lernen, wie Sie Ihren Firebase-Projekten eine Datenbank hinzufügen.