Azure Cosmos DB is a Microsoft cloud database that supports multiple ways of storing and processing data. As such, it is classified as a multimodel database.
In multimodel databases, various database engines are natively supported and accessible via common APIs. They are not restricted to a single data model as is the case with, for example, dedicated graph, key-value or document stores.
Azure Cosmos DB vs. DocumentDB
Azure Cosmos DB arose in part from work undertaken by Microsoft Research to improve data development methods for large-scale applications. That work began as "Project Florence" in 2010 and Microsoft commercialized it in 2015 with the release of Azure DocumentDB.
Azure Cosmos DB, which became generally available in May 2017, is the next generation version of DocumentDB and essentially replaces that NoSQL document-oriented data model. Cosmos DB adds key-value, graph and geospatial data support, among other features.
Beginning with the web era, these various data formats have found increasing use in IT shops that once were more strictly confined to SQL-oriented relational data models.
Available only as a cloud service, Azure Cosmos DB is notable for supporting global data distribution -- that is, data partitioning over multiple Azure cloud regions or zones. Azure Cosmos DB uses containers, which are called "collections," for storing data. Without requiring explicit programming, Azure Cosmos DB's style of global distribution places data closer to users' physical locations. The database also puts in place an advanced consistency tuning model, which is intended to sidestep issues that require data architects to make difficult distributed systems tradeoffs between throughput, space and consistency, as outlined in the widely cited CAP theorem.
As with Document DB, it enables data developers to work with flexible data schema that are easier to create and update than the more common relational schemas.
Azure Cosmos DB pricing
At the time of its release, Azure Cosmos DB pricing was rated at an hourly basis for the number of collections used and for request-units-per-second throughput, and on a monthly basis for the amount of storage used.
A Request Unit, or RU, is the measure of throughput in Azure Cosmos DB. Every operation in Cosmos DB, including reads, writes, SQL queries, and stored procedures, has an RU value based on the throughput the request requires.
Technical support for Azure cloud services, including support for Cosmos DB, is available for an additional monthly fee. Microsoft's Service Level Agreement for Cosmos DB offers 99.99% guarantees for availability, throughput, latency, and consistency.