Recently Google announced Cloud Firestore, a new service within Google’s Firebase platform that provides an easy to use document database for both mobile and web app development. Cloud Firestore uses NoSQL to store app data, which can be synced between users and devices at a global scale.
Powered by Google’s cloud infrastructure, Cloud Firestore can easily scale to accommodate an increase in data, users, or traffic. This is enabling developers to focus on their apps and websites and not on managing the underlying database or the servers that power them.
Data stored with Cloud Firestore can easily be structured using collections and documents and developers can create data hierarchies to store related data. This makes it easy to query the database and get the information that is needed. What’s more is that every query scales with the size of the result set and not the size of the dataset. This makes it easy to query and return data at consistent speeds, regardless of how much data is being queried.
The service supports a variety of SDKs, including those for iOS, Android, and the web, and even provides support for offline data access via a local database. Using these SDKs, developers can build apps that are reactive and sync data in real-time through the use of listeners coded into the apps. Should an app not require real-time data syncing, developers also have the option to simply call a method to retrieve the data whenever it’s needed. For back-end developers, the service offers SDKs for Java, Go, Python, and Node.js, with plans to add SDKs for additional languages in the future.
Cloud Firestore enables developers to configure who has access to the various documents stored in the database and also allows developers to apply complex validation logic to ensure that data doesn’t fall into the wrong hands. Cloud Firestore also stores data across servers in multiple regions, ensuring redundancy in the event data is lost at any given data center.
Pricing for Cloud Firestore is the same as other Firebase products, which includes a free “Spark Plan” designed for hobbyists. There are also paid plans available for apps and sites that require additional features and storage, starting at $25 per month for the “Flame Plan”. However, features like automated backups and the ability to use Google Cloud Platform services like BigQuery and other IaaS tools are not available with these plans. For those apps that require these features or additional storage, bandwidth, etc., developers can select the pay as you go “Blaze Plan”.
Building web and mobile apps can be challenging, especially when it comes to ensuring that database-backed apps scale to meet user demand. However, services like Google’s Cloud Firestore can be used to help ensure that app and site data is always available where and when it is needed.