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).
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.
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.
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).