Google has launched Cloud Firestore, a NoSQL document database that is fully-managed and now available in beta. Cloud Firestore is a multi-region replicated database designed to ensure that data remains intact despite unforeseen disasters. Developers can use Google’s new NoSQL document database to build data-driven mobile and web apps at global scale. Google already provides a NoSQL cloud database called the Firebase Realtime Database. However, Google plans on continuing development of both databases.
While both the Cloud Firestore and Firebase Realtime Database seem to be very similar products, there are some key differences. For example, the Cloud Firestore NoSQL document database offers not only expressive queries but also scalable queries. It features a new querying structure that scales based on the size of the result set as opposed to the size of the data set. This ensures applications perform well regardless of the size of the result set.
Firebase Realtime Database on the other hand does allow for scale, but Cloud Firestore is capable of scaling at a much greater capacity. Queries also take a bit more work in Firebase Realtime Database; creating a query across multiple fields typically involves denormalizing the data. With Cloud Firestore, documents can be retrieved without having to download unnecessary data, and all queries are shallow. This means that data can be retrieved at the document level without the need to fetch the complete collection or any of the associated subcollections.
Google Cloud Firestore features real-time data synchronization and automatic multi-region data replication. The product includes SDKs for iOS, Android, and Web which allow for offline data access. Native Go, Java, Node.js, and Python SDKs are available as well as REST and RPC APIs.
For more information about Google Cloud Firestore, visit https://firebase.google.com