Google Launches Cloud Firestore: App Focused NoSQL Database
The Firebase platform is one of the key tools in Google’s Android ecosystem, and today Google is continuing their expansion of it with the launch of Google Cloud Firestore, a NoSQL document database for smartphones.
Cloud Firestore allows you to synchronize your database in near-realtime, enabling reactive apps, cross-device syncing, and cross-device collaboration. But of course, in the present day you won’t always have connectivity, and you need to make sure your app continues to work when signal drops. In order to combat this, Google has made offline database usage a first-class feature, with Cloud Firestore syncing the database once connectivity is regained.
One of Google’s primary concerns with Cloud Firestore was scalability, and as a result Google has aimed to make sure that query times scale with result sizes, not with the size of the overall database. No matter how large the database is, you’ll get the same great performance out of it.
With Google’s heavy focus on making the cloud more accessible for developers, they of course have aimed to make Cloud Firestore an effective tool for “serverless development”. By handling authentication and networking with the client side Cloud Firestore SDKs and controlling access through Google’s cloud SDK, you can directly integrate your app with your cloud database, without requiring extra authentication servers.
As the name implies, Cloud Firestore will integrate with the Firebase platform as a whole, and brings the same multi-region data replication and data durability that people have come to expect with the platform. Cloud Firestore can use Cloud Functions to run code of your design when data is written to the database, and will integrate with tools like Firebase Authentication.
While the Firebase platform does already have a database in Firebase Realtime Database, Cloud Firestore will be aimed at a different use case. The Firebase Realtime Database primarily aims to improve app development speed and is optimized for size and efficiency, whereas Cloud Firestore aims to be a more robust solution with a heavier focus on robustness and an aim to fix some of Firebase Realtime Database’s pain points regarding structuring, querying, and scaling. If you can’t decide which one you want to use, you can always use both! Cloud Firestore and Firebase Realtime Database are designed for it to be possible to integrate with each other.
At launch Cloud Firestore will be available with server side SDKs for Node.js, Python, Go, and Java, and Google intends to add support for more languages based on demand.
Are you excited for Cloud Firestore? Is there another programming language that you wish Cloud Firestore supported? Do you use a different database that you absolutely love? Let us know in the comments!