wake-up-neo.com

Google Firestore eine Untermenge oder Obermenge von Google Cloud-Datastore?

Google kündigte Firestore an, den neuen Dokumentendatenspeicher im Block.

Ich habe seit über sechs Monaten eine Anwendung mit Google Cloud Datastore entwickelt, und nachdem ich das blog gelesen habe, habe ich das Gefühl, Firestore scheint die bessere Wahl zu sein. 

Das Konzept der alternativen Collection-Document-Subcollection sieht für mich ausgezeichnet aus, da mir beim Entwurf eines Schemas für den Datastore bewusst war, dass ich keine verschachtelten Felder abfragen kann. Jetzt mit Firestore-Subcollections erhalte ich die vollständigen Abfragefunktionen, die für mich ein grundlegender Wandel sind (ich kann mit minimalen Abfragen maximale Daten erhalten).

Als Gegenargument schlägt das flowchart mir vor, Datastore zu verwenden, da ich keine mobilen Clients habe. 

Ist es eine gute Idee, Firestore genau wie Datastore zu verwenden? (Ich werde die mobilen Client/Echtzeit-Updates/Synchronisierungsfunktionen ignorieren!)

16

Update 2 (31.01.19)

Ab heute befindet sich Cloud Firestore nicht mehr in der Betaversion und ist allgemein verfügbar: https://cloud.google.com/blog/products/databases/announcing-cloud-firestore-general-availability-und-update

Dies bedeutet, dass der Cloud-Datastore keine Option mehr für new -Projekte ist (Sie können ihn bei bestehenden Projekten weiterhin verwenden). Neue Projekte, die die Datastore-API verwenden möchten, können Cloud Firestore im Datastore-Modus verwenden.

Update 1

Wie Sie bemerkt haben, haben wir Cloud Firestore seit der Veröffentlichung dieser Frage erweitert.

Dies bedeutet, dass Cloud Firestore jetzt zwei Modi hat:

  1. Der ursprüngliche Start war "Native Mode"
  2. Der neue Start fügt 'Datastore-Modus' hinzu

Der "Datastore-Modus" ist die dritte Generation des Cloud-Datastores. Der erste wurde Master/Slave-Datastore genannt, der zweite war High Replication Datastore (HRD) und wurde 2013 unter dem Namen Cloud Datastore umbenannt.

Die unten stehende Antwort ist nach wie vor von großer Bedeutung, da sich beide Modi derzeit gegenseitig ausschließen. Daher müssen Sie den einen oder den anderen auswählen.

Die Hauptunterschiede sind die Verbesserungen von Cloud Firestore im Datastore-Modus gegenüber Cloud-Datastore. Die größten sind:

  • Durchsatz pro Entity-Gruppe jetzt unbegrenzt schreiben (war 1 Schreiben/Sekunde)
  • Transaktionen sind nicht mehr auf 25 Entitätsgruppen beschränkt
  • Alle Abfragen sind jetzt stark konsistent.

Beachten Sie auch, dass Cloud Firestore unabhängig vom Modus Beta ist. Die neue Service-Level-Vereinbarung (SLA) wird erst wirksam, wenn das Produkt General Availability (GA) erreicht.

Ursprüngliche Antwort

Cloud Datastore (CD) und Cloud Firestore (CF) sind ähnlich, unterscheiden sich jedoch erheblich.

CF ist mobilzentriert mit direkter Funktionalität für mobile Clients mit den Firebase SDKs und Rules-Funktionen. CD ist serverzentriert und bietet eine größere Auswahl an Server-Client-Bibliotheken sowie einige ausgereifte Frameworks für App Engine Standard, die Memcache-Funktionen enthalten.

CF verfügt über eine neuere Speicherschicht, die in der gleichen Weise wie Cloud Spanner stark konsistent ist, jedoch ohne SLA noch im Beta-Stadium ist. Die Speicherebene von CD ist nur innerhalb von Entitätsgruppen stark konsistent und letztendlich über alle Entitätsgruppen hinweg konsistent. Für die Standorte mit mehreren Regionen beträgt sie jedoch GA mit 99,95% SLA.

CF ist derzeit nur in der US-Multi-Region verfügbar. CD ist in der Cloud an einem Dutzend Standorten verfügbar, einschließlich in Amerika, Europa, Asien und Australien.

CF während der Betaversion hat ein Richtlinienlimit von 2500 Schreibvorgängen pro Sekunde, während wir das Monitoring und die Anpassung des Systems vor der GA-Erfahrung verbessern, wohingegen CD gerne Schreibvorgänge mit einer Auflösung von 1 Million pro Sekunde ausführen kann.

Die Abfragefunktionen von CF und CD überlappen sich, sind jedoch nicht gleich. Insgesamt bietet CD ein breiteres Spektrum an Abfragefunktionen, die wir bisher noch nicht in CF eingebaut haben, sodass Sie mehr Flexibilität bei der CD haben.

Alles in allem würde ich diese Liste in Betracht ziehen, um zu sehen, ob einer der Unterschiede das, was Sie versuchen, zu bauen oder zu brechen, dann die Datenbank auswählt, die Ihren Anforderungen am nächsten kommt.

21
Dan McGrath

Firestore ist die dritte Generation des Cloud-Datastores und ist der kommende Ersatz dafür. Er ist im Wesentlichen in zwei Modi verfügbar: Native (Firestore) -Modus und Datastore-Modus.

 enter image description here

 enter image description here

4
Mani Gandham

Ich würde sagen, dass Datastore jetzt eine Untermenge von Firestore ist:

Cloud Firestore ist die nächste Hauptversion von Cloud Datastore und ein Re-Branding des Produkts . Siehe Auswahl zwischen Cloud Firestore und Cloud Datastore

Cloud Firestore kann im "Datastore-Modus" betrieben werden und ist daher abwärtskompatibel mit Cloud-Datastore. Einige Zeit nach der allgemeinen Verfügbarkeit von Cloud Firestore wird Google mit den Besitzern bestehender Cloud-Datastore-Datenbanken in Kontakt treten, um ein automatisches Upgrade auf Cloud Firestore im Datastore-Modus zu planen. Siehe automatisches Upgrade

3
Somo S.

Ich denke, Cloud Firestore hat auch nodejs Client und es ist nicht auf Mobile ausgerichtet. Das ist eigentlich der Unterschied zwischen der Firebase-Echtzeitdatenbank, die mobil-zentriert war, und Cloud Firestore, die alles zentrisch ist. 

0
Danish Soomro