Google has launched a beta-version of a new fully managed NoSQL document database service for its Firebase application development platform.
The new Cloud Firestore database, announced Oct. 3 is designed to help mobile and web application developers using Firebase to store and synchronize application-related data.
It supports multiple features designed specifically for cloud scale mobile and web application development environments including advanced querying for documents and data, real-time data synchronization and automatic multi-region data replication, according to Google.
Cloud Firestore also offers SDKs for Android, iOS and Web applications as well as for Java server, Node, Python and Go.
"We've optimized Cloud Firestore for app development, so you can focus on delivering value to your users and shipping better apps, faster," said Alex Dufetel, a Google product manager on the company's Firebase blog. The technology was built in collaboration with Google's cloud platform team and is a fully managed database that has been designed to operate at cloud scale, Dufetel said.
Cloud Firestore is the second database designed for use with Google's Firebase mobile application development platform. The other is the Firebase Realtime Database, a cloud hosted database for developers building cross-platform apps using Firebase's Android, iOS and Web application SDKs.
Hundreds of thousands of mobile application developers already use the database to develop apps and store complex data sets. Developers will see considerable overlap with Cloud Firestore according to Google. But there are also several differences.
Cloud Firestore for instance is a document-model database, which makes it more structured compared to Realtime Database, which has a JSON-based data model, said Google developer advocate Todd Kerpelman in a separate blog Oct. 3.
Cloud Firestore also supports more powerful querying capabilities than the Realtime Database. For instance the new database makes it easier for developers to run queries across multiple fields compared to Realtime Database. In some cases, Cloud Firestore will be able to automatically search across fields, Kerpelman noted.
In addition, Cloud Firestore is built on top of the same infrastructure that Google uses to run some of its biggest servers, so the database service is a lot more scalable than Realtime Database, Kerpelman said. Other differences include Cloud Firestore's support for multiple regions, its significantly lower pricing for many use cases and its support for easier manual data fetching, he said.
"Cloud Firestore is inspired by what developers love most about the Firebase Realtime Database while also addressing its key limitations," Dufetel said.
For example some of the ways in which developers are using the Firebase Realtime Database have begun to push the performance limits of the database and its data model and exposed key limitations in areas like querying, scaling and data structuring, he said.
Cloud Firestore is not a drop-in replacement for the Realtime Database. There are situations where Realtime Database will make sense for projects where developers need to optimize latency and costs, Dufetel said. Google has also made it easy for organizations to use both databases simultaneously if that is what they choose.
For the moment at least, Google has no plans to drop Realtime Database. "We're continuing development on both databases and they'll both be available in our console and documentation," Dufetel said.