Why Microsoft's Cosmos DB represents the future of cloud databases


At first glance, Microsoft’s new Cosmos DB Azure database seems like a rebadged successor to Azure’s planet-scale NoSQL offering, . It’s easy to read Cosmos DB as a point-revision version of its predecessor, down to the fact that existing DocumentDB users will be automigrated.

But what’s most important about Cosmos DB is not where it’s coming from, but where it’s heading—and how it may be taking a sizable slice of the cloud-native database world with it. Here are four reasons why Cosmos DB is a harbinger of what’s to come for cloud-native database technology and how it’s a sign of what’s already arrived.

1. Every major cloud vendor will need to complete with similar options

Here, “similar” means a single database as a service that offers familiar database metaphors (such as SQL), high consistency and availability, horizontal scale, and minimal management hassle. 

Right now the most direct competition in terms of total feature set is the newly unveiled . Amazon has multiple offerings, but each provides only part of the picture: managed conventional databases (Amazon RDS), NoSQL (Amazon DynamoDB), and a data warehouse (Amazon Redshift). IBM is in a roughly similar position; it has various options for different use cases, but no single product can fit the whole bill.

 in the same database, so the choice of model can be a function of the workload rather than the product. Cloud Spanner and  both attempt to provide horizontal scale without sacrificing strong consistency, but they don’t offer a mechanism for choosing a compromise between the two when it makes sense.

3. Also out: Choosing one particular style of database

Cosmos DB also doesn’t force a commitment to a conventional column-style, key/value, or document-based paradigm. Existing NoSQL systems like MongoDB can use Cosmos DB as a storage back end, or Cosmos DB can be queried by conventional SQL. It’s also possible to use Cosmos DB as a graph database with the  (available only in preview as of this writing).

, a data warehouse as a service with minimal management needs.

Cosmos DB has several of the same ambitions, as many of its features don’t require close work to run well. For instance, it provides mechanisms for , but they’re decoupled from the applications using the data, so any changes to one doesn’t automatically require changes to the other. The  design of the system also reduces the amount of work needed to make global changes like adding columns.

The , but the frontier for those conveniences won’t stop at having hosted, managed versions of known quantities like MySQL or PostgreSQL—or even SQL Server. What’s next, and what’s already started to come upon us, are databases built not only to be cloud-first, but to challenge assumptions about whether the hard choices we had to make when picking such products even need to be made anymore.