Google Cloud Datastore
Cloud Datastore is a database platform from Google which is used directly from applications using API calls – typically the Google App Engine. Google is in the process of replacing Google Cloud Datastore with Google Cloud Firestore. Think of Firestore as the nextgen version of Datastore.
When you choose the versions you want, its important to consider the pros and cons of easch service:
Background Information on Datastore
Data is replicated across multiple data centers and queries scale with the size of the result – basically it doesnt slow down even if there is extreme volumes of date in the database.
Cloud Datastore is now a strongly consistent product which can be replicated to regional or multi-regional configurations.
When would you use Cloud Datastore?
- Scheme can be changed
- Database is adaptable
- Can scale down to zero
- Fairly cheap – first 1gb is free
- Fully transactional DB
|Concept||Cloud Datastore||Cloud Firestore||Relational database|
|Category of object||Kind||Collection group||Table|
|Individual data for an object||Property||Field||Column|
|Unique ID for an object||Key||Document ID||Primary key|
- Cloud Datastore is designed to automatically scale to very large data sets, allowing applications to maintain high performance as they receive more traffic:
- Cloud Datastore writes scale by automatically distributing data as necessary.
- Cloud Datastore reads scale because the only queries supported are those whose performance scales with the size of the result set (as opposed to the data set). This means that a query whose result set contains 100 entities performs the same whether it searches over a hundred entities or a million. This property is the key reason some types of queries are not supported.
- Because all queries are served by previously built indexes, the types of queries that can be executed are more restrictive than those allowed on a relational database with SQL. In particular, Cloud Datastore does not include support for join operations, inequality filtering on multiple properties, or filtering on data based on results of a subquery.
- Unlike traditional relational databases which enforce a schema, Cloud Datastore is schemaless. It doesn’t require entities of the same kind to have a consistent set of properties (although you can choose to enforce such a requirement in your own application code).