Understanding Cloud Firestore & Cloud SQL
Cloud Fire Store
CloudFireStore is the new version of GCP previous Cloud Datastore Product. If we talk about Cloud Datastore, It is a NoSQL database, built to ease application development. It uses distributed architecture, which is highly scalable, and is based on serverless model. Cloud Store distribute data over several machines and uses masterless, synchronous replication over a wide geographical area.
GCP Firestore accelerates development of mobile, IOT, and web application. It offers built-in live synchronization, as well-as an offline mode that increases the efficiency of developing real-time application. This includes workloads consisting of live asset tracking, real-time analytics, social media profiles etc.
File Store provides automatic multi-region data replication with strong consistency and offers 99.999% High Availability.
Below table shows comparison between SQL Database and Cloud Datastore
Cloud FireStore Modes
There is two Cloud Fire store Mode: Datastore Mode and Native Mode.
Cloud Firestore in native mode is complete re-brand product by GCP, because it inherits the feature of Cloud Datastore and Firebase real-time database to offer NoSQL like concept, database as datastore.
It also has some new features because it is built for low-latency mobile application.
- New Strongly consistent storage layer
- Collect and Document data Model
- Real time updates
- Mobile and web client libraries.
Cloud Firestore in Datastore mode uses the same datastore system behavior, but will access the firestore storage layer, which removes some limitation as mentioned below:
- No Longer limited to eventual consistency, as all queries become strongly consistent.
- No longer limited to a 25-entity group limit.
- No longer limited to 1 write per second to an entity group.
Below table, explains the difference between Datastore mode and native mode.
Identity & Access Management
GCP has secured the access to Google Cloud Datastore with use of IAM roles. Below are some predefines roles and their details.
- Datastore owner with an AppEngine app admin: Provides full access to Datastore mode.
- Datastore owner without an AppEngine app admin: Provide access to Datastore mode but cannot enable admin access, check weather Datastore mode admin is enabled, disable Datastore mode writes, or check weather Datastore mode writes are disabled.
- Datastore user: Has read / Write access to data in a Datastore mode database. Mainly used by developers or service accounts.
- Data Store Viewer: Has rights to read all Datastore mode resources.
- Datastore import-export admin: has full access to manage imports and exports.
- DataStore index admin: Has full access to manage index definition.
Quotas & Limits
Cloud Firestore offers a free quota that allows us to get started at no cost:
- There is a 1 GiB limit on stored data.
- There is a limit of 50,000 reads per day.
- There is a limit of 20,000 writes per day.
- There is a limit of 20,000 deletes per day.
- There is a network egress limit of 10 GiB per month.
With the free tier, there are the following standard limits:
- There is a maximum depth of subcollections of 100.
- There is a maximum document size of 6 KiB.
- There is a maximum document size of 1 MiB.
- There is a maximum writes per second per database of 10,000.
- There is a maximum API request size of 10 MiB.
- There is a maximum of 500 writes that can be passed to a commit operation or performed in a transaction.
- There is a maximum of 500 field transformations that can be performed on a single document Commit operation or in a transaction.
GCP Cloud SQL is a database service, that is easy to setup, manage, maintain your relational PostgreSQL , MYSQL, or SQL server database on Google Cloud.
It is the fully managed service, that is capable of handling up to 64TB of storage. the Cloud SQL is relational database service, means they can be organized into tables, rows, and columns.
SQL offers many benefits, like Scalability, Patching, automatic updates, automated backups, Offers HA out-of-box.