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 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?
Die 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.
Erfahren Sie mehr über das Realtime Database-Datenmodell . | Speichert Daten als Dokumentensammlungen.
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. Die Firebase-Echtzeitdatenbank 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 .
| Indizierte Abfragen mit zusammengesetzter Sortierung und Filterung .
|
Schreibt und Transaktionen
Echtzeitdatenbank | Cloud Firestore |
---|---|
Grundlegende Schreib- und Transaktionsoperationen.
| Erweiterte Schreib- und Transaktionsoperationen.
|
Zuverlässigkeit und Leistung
Echtzeitdatenbank | Cloud Firestore |
---|---|
Die Echtzeitdatenbank ist eine regionale Lösung.
| Cloud Firestore ist eine regionale und regionale Lösung, die automatisch skaliert.
|
Skalierbarkeit
Echtzeitdatenbank | Cloud Firestore |
---|---|
Das Skalieren erfordert Scherben.
| Die Skalierung erfolgt automatisch.
|
Sicherheit
Echtzeitdatenbank | Cloud Firestore |
---|---|
Kaskadierende Regelsprache, die Autorisierung und Validierung trennt.
| Nicht kaskadierende Regeln, die Autorisierung und Validierung kombinieren.
|
Preisgestaltung
Beide Lösungen sind in den Spark- und Blaze-Preisplänen 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äglicheAusgabenbeschränkungen für 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 dabei geholfen, sich für eine Firebase-Datenbanklösung zu entscheiden. Jetzt können Sie lernen, wie Sie Ihren Firebase-Projekten eine Datenbank hinzufügen.