Developers will have an easier time scaling their applications to meet global needs with a database product Microsoft updated on Wednesday. Called Cosmos DB, the service lets developers store data that can be replicated across any of the company’s 34 Azure public cloud regions.
Cosmos is an expansion of DocumentDB, a managed NoSQL database service that Microsoft launched in 2015. Its key innovation is a feature that lets developers pick between five consistency models that range from "strong" to "eventual" consistency.
The tool allows developers to store and access data with a variety of APIs, including DocumentDB, MongoDB, SQL, Gremlin, and Azure Tables. Microsoft guarantees 99.99 percent data availability but also says that response times from the database will be below 10 milliseconds for 99.99 percent of users within an Azure region that has a Cosmos DB replica. Cosmos also includes guarantees for 99.99 percent consistency and throughput.
Globally distributed databases like Cosmos are an important part of the promise of the cloud. Because of the speed of light, app users far away from the nearest data center will see longer delays on their requests. Cosmos DB will let developers take advantage of Microsoft’s data center scale to better serve global users.
This is also an important move for the company to compete with other cloud providers, like Amazon Web Services and Google Cloud Platform. Each company has their own take on a widely available managed database service. Cosmos DB stands out in that crowd because of its variety of service guarantees, global scale, and novel approach to consistency.
Strong consistency guarantees that users will get the most up-to-date data at some performance cost, which is useful for things like financial services applications. However, those customers who choose strong consistency sacrifice their ability to replicate the database across multiple regions.
On the opposite extreme, eventual consistency means that the database responds quicker, at the risk of not giving end users the most up-to-date data. It allows global replication and provides the lowest cost per read operation of any consistency model in Cosmos DB.
Overall, less than 10 percent of all DocumentDB users picked those two options. They’re more likely to choose one of the intermediate options, like session consistency, which maintains predictable consistency for a user session, so that users will be able to read data that they write to the database. That’s useful for apps that rely on client sessions to provide information to users.
Bounded staleness consistency guarantees that database reads may lag behind writes by a developer-defined window of either time or number of versions. Consistent prefix consistency guarantees that end users never see out-of-order reads, but data may not be up to date.
Cosmos wasn’t the only piece of database news at the company’s Build conference on Wednesday. Microsoft also announced versions of its managed database service for MySQL and PostgreSQL. Those offer developers the ability to use their preferred databases without handling patching, scaling, and other traditional aspects of database management.
A new Database Migration Service is also available in early preview to help companies move data from platforms like Microsoft SQL Server and Oracle Database.