Google Firestore subset or superset?

Google has announced Firestore, a new block storage document.

I have been developing an application using Google Cloud Datastore for over six months and after reading the blog , I feel that Firestore seems to be the best choice.

The concept of an alternative sub-collection compilation looks great to me, because when designing a schema for a data warehouse, I knew that I could not request nested fields. Now, with the firestore sub-collections, I get full query capabilities that change for me (I can get the maximum data with the minimum requests).

As a counter argument, the block offers me to use a data warehouse, because I do not have mobile clients.

Would it be nice to use Firestore just like Datastore? (I will easily ignore the capabilities of the mobile client / update / synchronization in real time!)

+18
source share
4 answers

Update 2 (01/31/19)

Today, Cloud Firestore is no longer in beta and is publicly available: https://cloud.google.com/blog/products/databases/announcing-cloud-firestore-general-availability-and-updates

This means that Cloud Datastore is no longer an option for new projects (you can continue to use it in existing projects). New projects that want to use the data warehouse API can use Cloud Firestore in data warehouse mode.

Update 1

As you noticed, we have expanded Cloud Firestore since this question was published.

This means that Cloud Firestore now has 2 modes:

  1. The initial launch was "Native Mode"
  2. A new launch adds "Data Warehouse Mode"

Data Warehouse Mode is the third generation of Cloud Datastore. The first was called Master / Slave Datastore, the second was High-Replication Datastore (HRD), which was renamed Cloud Datastore in 2013.

The answer below is still pretty much relevant, since both modes are currently mutually exclusive, so you need to choose one or the other.

The main differences are the Cloud Firestore improvements in Datastore mode compared to Cloud Datastore. The largest of them are:

  • The write bandwidth for each group of entities is now unlimited (there was 1 record / second)
  • Transactions are no longer limited to 25 groups of individuals
  • All requests are now strictly agreed.

Also note that Cloud Firestore is beta regardless of mode, so the new Service Level Agreement (SLA) does not take effect until the product reaches General Availability (GA).

Original answer

Cloud Datastore (CD) and Cloud Firestore (CF) are similar, but significantly different.

CF is focused on mobile communications with mobile client features with Firebase SDK functionality and rules. The CD is server-oriented with a wider range of server-side client libraries, as well as some mature App Engine Standard environments that combine memcache functionality.

CF has a newer level of data storage, which is strictly consistent like Cloud Spanner, but it is still in beta without SLA. The storage level of the CD is strictly agreed within the group of objects and ultimately agreed upon by the group of objects, however this is a GA with 99.95% SLA for multi-regional locations.

CF is currently only available in the U.S. multi-region. The CD is available in the cloud at a dozen locations, including locations in America, Europe, Asia and Australia.

CF during beta testing has a limit of 2500 records per second, while we collect the experience of monitoring and tuning the system to GA, while the CD will successfully process> 1 million records per second (although first contact your account representative records).

The set of CF and CD queries overlap but do not match. In general, the CD has a wider range of query capabilities that we have not yet built into CF, so you will have more flexibility in the CD.

In general, I would look at this list to see if this or that difference changes what you are trying to build, and then select the database that best suits your needs.

+23
source

Firestore is a third-generation architecture that replaces Datastore, which is available in two modes: main mode and Datastore mode.

enter image description here

enter image description here

+6
source

I would say that Datastore is now a subset of Firestore:

Cloud Firestore is the next major version of Cloud Datastore and a rebranding of the product. See Choosing between Cloud Firestore and Cloud Datastore.

Cloud Firestore can operate in "data warehouse mode", making it backwards-compatible with Cloud Datastore. Some time after the Cloud Firestore is released for sharing, Google will begin to contact the owners of existing Cloud Datastore databases to schedule an automatic upgrade to Cloud Firestore in Datastore mode. See auto update

+3
source

I think the cloud firestore also has a nodejs client and is not mobile-friendly. In fact, this is the difference between the real-time Firebase database, which was focused on mobile devices, and the cloud storage of fires.

0
source

Source: https://habr.com/ru/post/1273905/


All Articles