Technology Fridays: Google Cloud Firestore Brings Real Time Communications to the Database World
Welcome to Technology Fridays! When you think about databases, real time, instant communication is not the first thing that comes to mind. After all, databases are designed to persist data which, as a function, introduces delays in the processing of datasets. Today, I would like to discuss a new technology that is finally attempting to bridge both worlds.
When Google acquired Firebase a few years ago, it didn’t only add a robust mobile backend as a service(mBaaS) technology to its, then emerging, cloud platform but it also acquired the powerful real time communication engine behind the popular mBaaS stack. Over the years, the ability to develop real time, persistent communications between clients and mobile apps has been one of the main attractions of the Firebase platform. With Cloud Firestore, Google is making the technology behind Firebase available to non-Firebase developers via the Google Cloud platform.
Cloud Firestore is the mainstream iteration of Firebase database technology. The real time capabilities of Firestore makes it a common candidate to enable the backend of mobile and internet of things(IOT) applications. You might be wondering what does real time means in the context of cloud databases? Well, when using Cloud Firestore, client applications can listen to changes in the underlying data and react accordingly. That capability enables the implementation of responsive applications that can operate despite the absence of network connectivity or under complex network latency scenarios.
From the data structure perspective, Cloud Firestore is a document database. That makes total sense if we consider the platform’s background powering mobile and IOT applications. Firestore models data in documents which are based on key-value pairs grouped in structures known as collections. The platform also supports nested collections or subcollections which allow the modeling of data hierarchies that can be easily navigated. Cloud Firestore supports a large set of data types including geographical points and maps. Similarly, References can be used to link disjointed documents.
The capabilities of Cloud Firestore expand way beyond traditional databases. The platform includes features such as full ext search which enables the indexing and search of documents. The search capabilities of Cloud Firestore are powered by Algolia which is one of the most popular self-service search platforms in the market.
Scalability and performance are core features of Cloud Firestore. Data in the platform can be segmented using shards which control the performance of read and write data operations. The platform also includes sophisticated security capabilities in areas such as authentication, data privacy or access control. Developers can integrate with Cloud Firestore using the different SDKs available with the platform. Server side logic can also be injected using Cloud Functions and more sophisticated processes can be implemented by integrating with other Google Cloud services.
Google Cloud Firestore is a very unique database technology focused on enabling the backed of mobile and IOT applications. Couchbase Mobile is a technology that is somewhat comparable to Firestore from the feature perspective. The recently announced Azure Cosmos DB is also an interesting option in the space.