10

I find somewhat contradicting information from Google about which data storage solution I should use for my web app. Since I'm not too interested in using Mobile SDKs and like the server frameworks offered from Cloud Datastore, I would choose that option according to this flowchart.

Google storage option flowchart

However when I go into my Google Cloud Platform and select the Cloud Datastore option from the menu, I get this message:

Cloud Firestore

It raises a lot of questions and confusion. Does this mean that Cloud Firestore will eventually replace Cloud Datastore? Will the benefits of Cloud Datastore be implemented in Firestore? Should I avoid using Cloud Datastore for my web app?

nomadoda
  • 4,561
  • 3
  • 30
  • 45

2 Answers2

12

Update

We've now released Datastore mode, a new mode for Cloud Firestore. This question was posted before that when only Native mode was available publicly:

  • Native mode: Next generation of Firebase Realtime Database
  • Datastore mode: Next generation of Cloud Datastore

Differences are documented in the official document.

Original Answer

This is a mistake in our text which is being fixed. It is meant to read "next generation of Firebase Realtime Database".

Currently, we only support either Cloud Datastore or Cloud Firestore per project (something we hope to fix in the future).

You are seeing this message because you already enrolled in the Cloud Firestore beta for that project via the Firebase Console. Not when you enrolled in the beta, there is a message: "Enabling Cloud Firestore Beta will preclude you from using Cloud Datastore with this project, notably from the associated App Engine app."

Community
  • 1
  • 1
Dan McGrath
  • 41,220
  • 11
  • 99
  • 130
  • Thanks a lot! Any way I can remove my Firestore and initialize a Cloud Datastore instead? – nomadoda Feb 27 '18 at 13:14
  • Unfortunately not at the moment, it's currently an immutable choice per project. You'll need to create a new project. – Dan McGrath Feb 27 '18 at 22:25
  • @DanMcGrath would you recommend me moving over from Cloud Datastore to Cloud Firestore, it seems that is the future Google is heading towards. – gbhall Mar 12 '18 at 07:25
  • I recommand to update this answer as it is compeletely wrong now. – Dyo Aug 06 '18 at 17:58
  • @Dyo I recommend you write or point to an alternative answer which explains or rectifies _what_ is exactly wrong here and _how._ Otherwise your comment is not helpful for anybody. And note that you can also edit this answer directly (pending peer review) to rectify it. – trollkotze Aug 12 '18 at 01:23
  • @trollkotze I just wanted to alert Dan that his original answer can be misinterpreted because Firestore has been annonced as replacement of Datastore. Sorry if I've been rude but I've turned to Datastore after reading this answer the first time then I was suprised on the Datastore mode anoncement a month later. – Dyo Aug 22 '18 at 13:49
  • If I want to use BOTH GAE-Datastore, and also Firestore for mobile-realtime data, I'd like instructions on WHICH project to use in authenticating my users. I guess if I want security rules (verifying only authorized users), I suppose I need to auth on the Firestore side. But then the JWT will not match my GAE project API's because they were generated by the other project?? Docs please?? – Dewey Mar 04 '19 at 05:01
  • @Dewey -> Best to post this as a new question so people can answer it, rather than a comment on a different question. – Dan McGrath Mar 08 '19 at 14:58
5

Yes, Firestore is the 3rd generation of Cloud Datastore and is the upcoming replacement for it, essentially available in 2 modes: Native (firestore) mode and Datastore mode.

Mani Gandham
  • 7,688
  • 1
  • 51
  • 60
  • 2
    I wish I had seen this before, now I have to change all my code – John Balvin Arias Aug 10 '18 at 15:22
  • 1
    Yeah, so it seems "datastore mode" is essentially just a "compatibility mode" for old software. Bit of a bummer that one cannot simply switch to "native mode" once it's available but has to choose permanently between the two for a given project. – trollkotze Aug 12 '18 at 02:11