Ever since Google acquired Firebase in 2014, it has grown to be a formidable platform for mobile and web app developers. Earlier this year, Google used its I/O 2017 app to feature some of the advantages provided by the Firebase Realtime Database and Cloud Functions for Firebase. Now Firebase is launching a new product called Cloud Firestore, a fully-managed NoSQL document database, and it boasts a pretty compelling set of features for developers.
Like the Firebase Realtime Database, Cloud Firestore is built on top of Google Cloud Platform for high reliability and performance. Firebase also designed it to automatically scale based on user demand so it can handle spikes if an app suddenly becomes popular, and Cloud Firestore performs multi-regional replication so it has low latency and reliability in the event a node goes down.
The Realtime Database and Cloud Firestore are suited to different use cases. There are practical reasons why developers may use one or the other, or even both. The Firebase Realtime Database (RTDB) operates as a big JSON tree, so it's more efficient when it operates on a small dataset. Cloud Firestore is document-based and performs best with large blobs of data that don't fit well into tables.
On the client side, Cloud Firestore's SDK is designed to make life easier for developers. It includes a local database to enable offline support, which also helps to hide poor network performance by serving stored results while it attempts to get fresh data from the cloud – and it notifies the app when new data is available, of course. Real-time data synchronization between multiple devices is also supported. And like any good SDK, the networking and authentication code is built-in, so there's just a straightforward API to work with for queries.
If an app requires shared data, but doesn't need an actual server component, Cloud Firestore can also be configured to allow direct connections from apps. Users will only be able to access the documents intended for them, and no custom server code is necessary from the developer.
All told, Cloud Firestore was designed to make it faster and easier to build highly-connected apps that scale well when users start to add up. Early adopters include CNN, HomeAway (by Expedia), Hawkin Dynamics, and others.
If you're a developer, check out the Cloud Firestore blog post for more details.
- Firebase Blog