Google Cloud Datastore vs Firestore

August 29, 2018

TLDR

If you are running a backend server, use Datastore (a NoSQL Database).

If you don’t have a backend server, use Firestore - Beta (sort of like NoSQL Database + Service which support realtime updates and offline mode, with library for Android, iOS and Web).

Datastore

Currently, there are 2 version of Datastore

  • Cloud Datastore
  • Cloud Firestore in Datastore mode (Beta)

Cloud Firestore is the next major version of Cloud Datastore and a re-branding of the product.

Cloud Firestore in Datastore mode has the following advantage (compared to Cloud Datastore):

  • Write through-put per entity group now unbounded (was 1 write/second)
  • Transactions no longer limited to 25 entity groups
  • All queries now strongly consistent.

After Cloud Firestore is released as a GA product, we will gradually upgrade existing Cloud Datastore databases to Cloud Firestore in Datastore mode.

Cloud Firestore (either mode) and Cloud Datastore have the same pricing structure.

Sadly, you can only choose either Cloud Firestore in Datastore mode or Cloud Firestore Native Mode (not both). Both mode have different API as the features/paradigm supported is different.

Technically, performance of Datastore mode is 10x better than Native Mode in some cases (mentioned in this video). I assume this is because Datastore mode is a pure database while Native Mode is a service which also support realtime updates/offline.

Refer to the References section for more meterial and a better understanding.

How to enable the Database

NOTE: The following info is valid as on 30 Aug 2018. I suspect things might change later.

For each google cloud project, you can only choose ONE of the following

  • Cloud Datastore
  • Cloud Firestore Datastore Mode (Beta)
  • Cloud Firestore Native Mode (Beta)

One you enabled of the these databases, you CANNOT switch to another (you have to create a new project to do so, so choose wisely).

After you created your google cloud project, it is adviseable to immediately goto datastore page which you are asked to Select a database service.

Datastore - Select a database service

NOTE: Do not enable/deploy App Engine or enable Datastore API first, else Cloud Datastore is selected by default (and you can’t change it).

References:

This work is licensed under a
Creative Commons Attribution-NonCommercial 4.0 International License.