The Google-owned company has announced Cloud Firestore, which is seeking to be a ‘new document database for apps’, particularly for realtime database developers.
Objects, collections and documents
It’s described as a fully-managed NoSQL document database for mobile and web app development. Features include:
- Documents and collections with powerful querying
- iOS, Android, and Web SDKs with offline data access
- Real-time data synchronization
- Automatic, multi-region data replication with strong consistency
- Support for Node, Python, Go, and Java server SDKs
Specifically, (in Google’s words) it:
- Synchronizes data between devices in real-time
- Uses collections and documents to structure and query data
- Enables offline data access via an on-device database
- Enables serverless development
- Integrates with the rest of the Firebase platform
Another realtime database
Firebase already has a realtime database offering – the Firebase Realtime Database, funnily enough – and you can see an in-depth comparison between the two databases online.
Todd Kerpelman, Google’s Developer Advocate, writes:
While the Firebase Realtime Database is basically a giant JSON tree where anything goes and lawlessness rules the land1, Cloud Firestore is more structured. Cloud Firestore is a document-model database, which means that all of your data is stored in objects called documents that consist of key-value pairs — and these values can contain any number of things, from strings to floats to binary data to JSON-y looking objects the team likes to call maps. These documents, in turn, are grouped into collections.
All queries are shallow, meaning that you can simply fetch a document without having to fetch all of the data contained in any of the linked subcollections. This means you can store your data hierarchically in a way that makes sense logically without worrying about downloading tons of unnecessary data.
Cloud Firestore is entering its public beta now, if you are interested in finding out more.