Firebase bietet zwei Cloud-basierte, für 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 Realtime Database mit einem neuen, intuitiveren Datenmodell auf. Cloud Firestore bietet auch reichhaltigere, schnellere Abfragen und skaliert weiter als die Echtzeitdatenbank.
Realtime Database ist die ursprüngliche Datenbank von Firebase. Es ist eine effiziente Lösung mit geringer Latenz für mobile Apps, die synchronisierte Status zwischen Clients in Echtzeit erfordern.
Welche Datenbank empfiehlt Firebase?
Ihre Wahl der Datenbanklösung hängt von vielen Faktoren ab, aber wenn es um bestimmte Funktionen geht, können wir Empfehlungen geben, welche Datenbank für Sie die richtige ist.
Beide Lösungen bieten:
- Client-First-SDKs, ohne dass Server bereitgestellt und gewartet werden müssen
- Echtzeit-Updates
- Kostenlose Stufe, dann zahlen Sie für das, was Sie verwenden
Wichtige Überlegungen
Denken Sie über die großartigen Kernfunktionen hinaus, die beiden Datenbanken gemeinsam sind, darüber nach, 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... Hauptsächlich Daten synchronisieren, mit grundlegenden Abfragen. Wenn Sie keine erweiterten Abfragen, Sortierungen und Transaktionen benötigen, empfehlen wir Realtime Database . Erweitertes Abfragen, Sortieren und Transaktionen. Wenn Sie komplexe Interaktionen mit Ihren Daten benötigen, beispielsweise in E-Commerce-Apps, empfehlen wir Cloud Firestore . |
Operationen auf Daten | Die Datenbanknutzung meiner App sieht so aus... Ein paar GB oder weniger Daten, die sich häufig ändern. Wenn Ihre App einen Strom winziger Updates sendet, wie z. B. in einer digitalen Whiteboard-App, empfehlen wir Realtime Database . Hunderte von GB bis TB an Daten, die viel öfter gelesen als geändert werden. Für sehr große Datenmengen und wenn häufig Batchvorgänge erforderlich sind, empfehlen wir Cloud Firestore . |
Datenmodell | Ich bevorzuge es, meine Daten so zu strukturieren, wie... Ein einfacher JSON-Baum. Für unstrukturierte JSON-Daten empfehlen wir Realtime Database . In Sammlungen organisierte Dokumente. Für strukturierte Dokumente und Sammlungen empfehlen wir Cloud Firestore . |
Verfügbarkeit | Meine Erreichbarkeitsanforderungen 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 % Betriebszeit. Wenn eine sehr hohe, aber nicht kritische Verfügbarkeit akzeptabel ist, empfehlen wir entweder Cloud Firestore oder Realtime Database . |
Offline-Abfragen von lokalen Daten | Meine App muss Abfragen auf Geräten mit eingeschränkter oder keiner Konnektivität durchfü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 ständig online sind, empfehlen wir Cloud Firestore oder Realtime Database . |
Anzahl der Datenbankinstanzen | In meinen individuellen Projekten muss ich verwenden ... Viele Datenbanken, zum Beispiel eine Datenbank für jeden Großkunden. Da Sie damit mehrere Datenbanken zu einem einzigen Firebase-Projekt hinzufügen können, empfehlen wir Realtime Database . Nur eine einzige Datenbank. Wenn Sie eine einzelne Datenbank benötigen, empfehlen wir entweder Cloud Firestore oder Realtime Database . |
Was gibt es sonst noch Wichtiges zu beachten?
Nachdem Sie über die vorherigen wichtigen Überlegungen nachgedacht haben, sind Sie möglicherweise bereit, eine Datenbank auszuwählen . Wenn Sie immer noch Vor- und Nachteile abwägen, behandelt dieser Abschnitt andere Unterschiede zwischen Cloud Firestore und Realtime Database.
Datenmodell
Sowohl Realtime Database als auch Cloud Firestore sind NoSQL-Datenbanken.
Echtzeit-Datenbank | Cloud-Firestore |
---|---|
Speichert Daten als einen großen JSON-Baum.
Erfahren Sie mehr über das Datenmodell der Realtime Database . | Speichert Daten als Sammlungen von Dokumenten.
Erfahren Sie mehr über das Cloud Firestore-Datenmodell . |
Echtzeit- und Offline-Unterstützung
Beide verfügen über Mobile-First-Echtzeit-SDKs und beide unterstützen die lokale Datenspeicherung für offlinefähige Apps.
Echtzeit-Datenbank | Cloud-Firestore |
---|---|
Offline-Unterstützung für Apple- und Android-Clients. | Offline-Unterstützung für Apple-, Android- und Web-Clients. |
Gegenwart
Es kann hilfreich sein zu wissen, wann ein Client online oder offline ist. Firebase Realtime Database kann den Verbindungsstatus des Clients aufzeichnen und jedes Mal Updates bereitstellen, wenn sich der Verbindungsstatus des Clients ändert.
Echtzeit-Datenbank | Cloud-Firestore |
---|---|
Präsenz unterstützt. | Nicht nativ unterstützt. Sie können die Präsenzunterstützung von Realtime Database nutzen, indem Sie Cloud Firestore und Realtime Database mithilfe von Cloud Functions synchronisieren. Siehe Präsenz in Cloud Firestore aufbauen . |
Abfragen
Abrufen, Sortieren und Filtern von Daten aus beiden Datenbanken durch Abfragen.
Echtzeit-Datenbank | Cloud-Firestore |
---|---|
Tiefe Abfragen mit eingeschränkter Sortier- und Filterfunktion .
| Indizierte Abfragen mit zusammengesetzter Sortierung und Filterung .
|
Schreibt und Transaktionen
Echtzeit-Datenbank | Cloud-Firestore |
---|---|
Grundlegende Schreib- und Transaktionsoperationen.
| Erweiterte Schreib- und Transaktionsoperationen.
|
Zuverlässigkeit und Leistung
Echtzeit-Datenbank | Cloud-Firestore |
---|---|
Realtime Database ist eine regionale Lösung.
| Cloud Firestore ist eine regionale und multiregionale Lösung, die automatisch skaliert.
|
Skalierbarkeit
Echtzeit-Datenbank | Cloud-Firestore |
---|---|
Skalierung erfordert Sharding.
| Die Skalierung erfolgt automatisch.
|
Sicherheit
Echtzeit-Datenbank | Cloud-Firestore |
---|---|
Kaskadierende Regelsprache, die Autorisierung und Validierung trennt.
| Nicht kaskadierende Regeln, die Autorisierung und Validierung kombinieren.
|
Preisgestaltung
Beide Lösungen sind in den Preisplänen Spark und Blaze verfügbar.
Echtzeit-Datenbank | Cloud-Firestore |
---|---|
Gebühren nur für Bandbreite und Speicherplatz , aber zu einem höheren Satz. Lesen Sie mehr über die Preispläne für Echtzeitdatenbanken . | Gebühren werden hauptsächlich für in Ihrer Datenbank ausgeführte Vorgänge (Lesen, Schreiben, Löschen) und zu einem geringeren Preis für Bandbreite und Speicherplatz berechnet. Cloud Firestore unterstützt tägliche Ausgabenlimits für App Engine-Projekte, um sicherzustellen, dass Sie die Kosten, mit denen Sie zufrieden sind, nicht überschreiten. Lesen Sie mehr über Cloud Firestore-Preispläne . |
Verwenden von Cloud Firestore und Realtime Database
Sie können beide Datenbanken innerhalb derselben Firebase-App oder desselben Projekts verwenden. Beide NoSQL-Datenbanken können die gleichen Datentypen speichern und die Client-Bibliotheken funktionieren auf ähnliche Weise. Beachten Sie die oben beschriebenen Unterschiede, wenn Sie sich entscheiden , beide Datenbanken in Ihrer App zu verwenden .
Erfahren Sie mehr über die Funktionen, die sowohl in Realtime Database als auch in Cloud Firestore verfügbar sind.
Sind Sie bereit, eine Datenbank auszuwählen?
Hoffentlich hat Ihnen dieser Vergleich geholfen, sich für eine Firebase-Datenbanklösung zu entscheiden. Jetzt erfahren Sie, wie Sie Ihren Firebase-Projekten eine Datenbank hinzufügen.