Echtzeit vs. Cloud Firestore: Welche Firebase-Datenbank wählen?

Veröffentlicht: 2018-10-12

Die Geschichte geht auf die Firebase-Datenbank zurück, die nicht allzu weit darüber hinausgeht. Als mobile und Web-Entwicklungsplattform gegründet, wurde Firebase 2011 ins Leben gerufen und 2014 vom Technologieriesen Google übernommen und sein Schicksal änderte sich.

Die Geschichte der Entwicklung von Firebase überspringend, wurde es innerhalb eines Jahres nach seiner Übernahme durch Google mit Divshot fusioniert und seitdem zu einer einheitlichen Plattform für mobile Entwickler ausgebaut.

Firebase lässt sich jetzt in verschiedene andere Google-Dienste integrieren, um breitere Produkte und Skalierbarkeit für Entwickler anzubieten. Tatsächlich machen die Vorteile, die es bietet, Firebase für Startups zu einem Trendprozess.

Was ist also die Firebase-Datenbank? Firebase ist ein BaaS, also Backend as a Service. Mit den von Firebase bereitgestellten Produkten können nicht nur die Mobile-Entwickler hochwertige Anwendungen erstellen. Google hat auch mehrere neue Funktionen für Firebase-Webnutzer eingeführt .

Es gibt zwei Produkte von Firebase, die es ermöglichen, alle gerade erwähnten Anwendungen zu erstellen. Echtzeit- und Cloud-Firestore.

Realtime ist das etablierte Produkt von Googles Firebase-Datenbank und Cloud Firestore, obwohl es bessere Technologien verspricht, befindet sich noch in der Beta-Testphase.

Laut Google :

Die Echtzeitdatenbank ist die ursprüngliche Datenbank von Firebase. Es ist eine effiziente Lösung mit geringer Latenz für eine mobile App, die synchronisierte Zustände über Clients hinweg in Echtzeit erfordert.

Cloud Firestore ist die neue Flaggschiff-Datenbank von Firebase für die Entwicklung mobiler Apps . Es verbessert die Erfolge der Realtime Database mit einem neuen, intuitiveren Datenmodell. Cloud Firestore bietet außerdem reichhaltigere, schnellere Abfragen und skaliert besser als die Echtzeitdatenbank.

Bevor wir zu den einzelnen Eigenschaften der Realtime Database und Cloud Firestore kommen, werfen wir einen Blick auf die Vor- und Nachteile der Verwendung der Firebase-Datenbank für Ihr nächstes Projekt:

Vorteile der Firebase-Datenbank:

Advantages of Firebase Database Wenn wir uns die Liste der Gründe ansehen, warum man die Firebase-Datenbank als zentrale Datenbank für die gesamte Entwicklung mobiler und Web -Apps verwenden sollte, werden wir sehen, warum Firebase db zu einem so großen Erfolg in der Entwicklung mobiler Apps geworden ist.

  • Einfache Datenmigration – Die jüngsten Entwicklungen haben den Entwicklern die Tools an die Hand gegeben, um die Daten einfach zu migrieren.
  • Keine zusätzlichen Kenntnisse erforderlich – Es sind fast keine Kenntnisse über devOps oder Sysadmin erforderlich, um in Firebase db zu arbeiten.
  • Validierung verschiedener Datentypen – Obwohl die Struktur der Firebase-Datenbank schemalos ist, verfügt sie dennoch über die grundlegende Fähigkeit, verschiedene Datentypen zu validieren.
  • One-Stop-Tool – Es ist ein allumfassendes Tool und das einzige, das Sie unbedingt für das Backend einer kleinen mobilen Anwendung benötigen.
  • Einfacher zu bedienen – Der Schwierigkeitsgrad der Nutzung ist etwas überdurchschnittlich, aber es ist einfacher als die meisten anderen Systeme, wenn es um die Integration mit der Analyse und der Absturzüberwachung geht
  • Kostenlose Nutzung – In der Anfangsphase ist es kostenlos, sodass sich Entwickler, die es zum ersten Mal ausprobieren, keine Gedanken über eine große Anfangsinvestition machen müssen
  • Umfangreiche Codebibliotheken – Alle Codebibliotheken in allen Programmiersprachen sind ähnlich und werden auch für Neueinsteiger gut gepflegt.
  • JSON-Datenstruktur – Die Datenstruktur ist JSON, die perfekt mit dem UI-JavaScript übereinstimmt.
  • Schnelle Entwicklung – Es ist sehr schnell, eine Anwendung von Grund auf neu zu erstellen – Authentifizierung, E-Mail, Versionierung, Hosting, Überwachung, DevOps, Betriebszeit.
  • Einfaches Streaming – Echtzeitfunktion oder Streaming-Updates sind sehr einfach.

Lassen Sie uns nun die Realtime-Datenbank und Cloud Firestore vergleichen, um ein klareres Verständnis dafür zu bekommen, wann welche zu verwenden sind. Cloud Firestore befindet sich noch in der Beta-Testphase und sieht und arbeitet vielversprechender als die Realtime-Datenbank. In diesem Vergleich sehen Sie, wie sich die beiden Datenbanken voneinander unterscheiden und wer die Realtime Database vs. Cloud Firestore gewinnt.

Datenmodell

  • Die Echtzeitdatenbank speichert Daten als einen großen JSON-Baum, was das Speichern einfacher Daten sehr einfach macht, aber komplexe oder hierarchische Daten sind schwieriger in großem Maßstab zu organisieren.
  • Cloud Firestore hingegen speichert Daten in Form von Dokumenten, die in Sammlungen organisiert sind. Das Speichern einfacher Daten ähnelt dabei JSON und wird in Dokumenten gespeichert. Wohingegen die komplexen oder hierarchischen Daten mit der Verwendung von Untersammlungen innerhalb von Dokumenten nicht einfacher im Maßstab zu organisieren sind. Und insgesamt erfordert es weniger Denormalisierung und Datenglättung.

Echtzeit- und Offline-Unterstützung

  • Die Echtzeitdatenbank bietet Offline-Unterstützung nur für die Android- und iOS-Mobilclients.
  • Cloud Firestore hingegen bietet auch Offline-Unterstützung für Android-, iOS- und Web-Clients.

Abfragen

  • Die Echtzeitdatenbank bietet tiefe Abfragen mit eingeschränkter Sortier- und Filterfunktion, bei der die Entwickler eine Eigenschaft in einer einzigen Abfrage entweder sortieren oder filtern können. Und alle Abfragen sind standardmäßig tief, das heißt, sie geben immer den gesamten Teilbaum zurück.
  • Cloud Firestore indiziert Abfragen mit zusammengesetzter Sortierung und Filterung, wobei die Entwickler die Filterung verketten und die Filterung und Sortierung für eine Eigenschaft in einer einzigen Abfrage kombinieren können. Es ist auch möglich, flache Abfragen für Untersammlungen zu schreiben, d. h. Entwickler können Abfragen innerhalb eines Dokuments anstelle einer ganzen Sammlung oder eines ganzen Dokuments durchführen. Darüber hinaus werden die Abfragen standardmäßig indiziert, was bedeutet, dass die Abfrageleistung proportional zur Größe des Ergebnissatzes und nicht des Datensatzes ist.

Transaktionen

  • In der Echtzeitdatenbank gibt es grundlegende Schreib- und Transaktionsoperationen. Das Schreiben von Daten funktioniert als einzelner Vorgang, und Transaktionen erfordern einen Abschluss-Callback in den nativen SDKs.
  • Cloud Firestore ermöglicht atomare Schreib- und Transaktionsvorgänge. Es stapelt Vorgänge und schließt sie automatisch ab. Außerdem wiederholen sich Transaktionen automatisch, bis sie abgeschlossen sind.

Leistung und Zuverlässigkeit

  • Die Echtzeitdatenbank ist ein ausgereiftes Produkt. Es hat die Stabilität eines mehrfach erprobten und getesteten echten Produkts. Es hat auch eine sehr geringe Latenz, sodass es eine gute Option für häufige Zustandssynchronisierungen ist. Datenbanken sind jedoch auf die zonale Verfügbarkeit in einer einzelnen Region beschränkt.
  • Die Leistung von Cloud Firestore kann noch nicht gemessen werden, da es sich noch in der Beta-Phase befindet. Und die Stabilität eines Beta-Produkts ist nicht die gleiche wie die eines vollständig eingeführten Produkts. Aber in Bezug auf die Zuverlässigkeit beherbergt Cloud Firestore alle Ihre Daten in mehreren Rechenzentren in verschiedenen Regionen und gewährleistet so globale Skalierbarkeit und hohe Zuverlässigkeit. Theoretisch hat Cloud Firestore, wenn es aus der Beta-Phase kommt, eine höhere Zuverlässigkeit als die Realtime-Datenbank.

Skalierbarkeit

  • In Echtzeitdatenbanken erfordert die Skalierung Sharding. Um es einfach auszudrücken, skalieren Sie auf ca. 100.000 gleichzeitige Verbindungen und 1000 Schreibvorgänge/Sekunde in einer einzigen Datenbank und darüber hinaus müssen Ihre Daten über mehrere Datenbanken verteilt werden.
  • Wenn Cloud Firestore aus der Betaversion herauskommt, erfolgt die Skalierung automatisch und Entwickler müssen ihre Daten nicht über mehrere Instanzen hinweg fragmentieren.

Sicherheit

  • Die Echtzeitdatenbank verfügt über kaskadierende Regeln, die eine separate Validierung erfordern. Die Firebase-Datenbankregeln sind hier die einzigen Sicherheitsoptionen, und die Entwickler müssen die Daten separat mit der Regel „validieren“ validieren.
  • Cloud Firestore bietet eine einfachere und leistungsfähigere Sicherheit für Mobil-, Web- und Server-SDKs, die Identity and Access Management (IAM) verwenden. Die Datenvalidierung erfolgt ebenfalls automatisch. Außerdem können Regeln Abfragen einschränken, dh wenn die Ergebnisse einer Abfrage möglicherweise Daten enthalten, auf die der Entwickler keinen Zugriff hat, schlägt die gesamte Abfrage fehl.

Preisgestaltung

  • Die Echtzeitdatenbank berechnet nur Bandbreite und Speicherplatz, jedoch zu einem höheren Preis.
  • Cloud Firestore hingegen berechnet hauptsächlich die in Ihrer Datenbank ausgeführten Vorgänge (Lesen, Schreiben, Löschen) und zu einem geringeren Preis, Bandbreite und Speicherplatz. Es unterstützt auch tägliche Ausgabenlimits für Google App Engine-Projekte.

Fragen Sie sich immer noch, wie Firebase funktioniert? Lassen Sie uns eine Zusammenfassung dessen zurückspulen, was wir im obigen Artikel gewusst haben.

How Does Firebase Work

Wann sollte die Echtzeitdatenbank verwendet werden:

  • Wenn Ihre Daten einfach und nicht komplex oder hierarchisch sind
  • Wenn Sie unter 100.000 gleichzeitige Verbindungen skalieren müssen, 1000 Schreibvorgänge/Sekunde in einer einzigen Datenbank
  • Wenn Sie eine Datenbank benötigen, die die Gesamtbandbreite und den Speicherplatz berechnet und nicht die einzelnen durchgeführten Operationen.

Wann sollte die Cloud Firestore-Datenbank verwendet werden:

  • Wenn Ihre Daten komplex oder hierarchisch sind
  • Wenn Ihre Daten über 100.000 gleichzeitige Verbindungen skalieren
  • Wenn Sie ein genaueres Ausgabenlimit und eine Datenbank benötigen, die hauptsächlich auf 1 berechnet, sind PicCollage, Fabulous, Shazam und Skyscanner und wir sind uns alle einig, dass sie erfolgreich laufen.

Zusammenfassend lässt sich sagen, dass die Firebase-DB-Modelle für sie gut laufen. Echtzeit-Firebase läuft seit Jahren erfolgreich und im vergangenen Jahr mit der Veröffentlichung der Beta-Version von Cloud Firestore haben Entwickler mobiler Apps und App-Entwicklungsunternehmen bessere Dinge auf Lager.