At its Build conference in May, Microsoft took the wraps off Cosmos DB, the new incarnation of its existing cloud-based Azure DocumentDB NoSQL database. With a nod to the dramatic, Microsoft terms Cosmos DB as its biggest database bet since SQL Server; it is positioning it as its flagship cloud database, suited for use cases ranging from security and fraud detection, to IoT (consumer and industrial), personalization, e-commerce, gaming, social networks, chats, messaging, bots, oil and gas recovery and refining, and smart utility grids. Cosmos DB is a good example of how cloud platform providers are rethinking databases for scalable, elastic environments and commodity infrastructure. The platform that is most comparable is Google Cloud Spanner, but each of these databases is engineered for different purposes: Cosmos DB as a globally distributed operational database and Spanner as a globally distributed SQL-supporting OLTP database.
The highlights of Cosmos DB include its flexibility in supporting multiple data models; an elastic scale-out architecture that supports globally distributed multiregion deployments with guaranteed low latency and four 9s availability; and a choice of multiple, defined consistency models. Cosmos DB is a flexible database that can be made to look and act like users want; for instance, it could be the globally distributed cloud storage engine of a MongoDB document or a graph database that supports the Gremlin language of popular Apache TinkerPop framework. While Cosmos DB is hardly unique in tapping into the cloud-native wave, it is the first to open up this architecture to data that is not restricted by any specific schema and it is among the most flexible when it comes to specifying consistency.