Microsoft Azure Stack is an extension of Azure—bringing the agility and innovation of cloud computing to your on-premises environment and enabling the only hybrid cloud which allows you to build and deploy hybrid applications anywhere. We bring together the best of the edge and cloud to deliver Azure services anywhere in your environment.

Azure Cosmos DB is Microsoft’s globally distributed, multi-model database. Azure Cosmos DB was built from the ground up with global distribution and horizontal scale at its core. It offers turnkey global distribution across any number of Azure regions by transparently scaling and replicating your data wherever your users are. You can elastically scale throughput and storage worldwide and pay only for the throughput and storage you need. Azure Cosmos DB guarantees single-digit-millisecond latencies at the 99th percentile anywhere in the world, offers multiple well-defined consistency models to fine-tune performance, and guarantees high availability with multi-homing capabilities—all backed by industry leading comprehensive service level agreements (SLAs).

Azure Cosmos DB is truly schema-agnostic—it automatically indexes all the data without requiring you to deal with schema and index management. It is also multi-model, natively supporting document, key-value, graph and column-family data models. With Azure Cosmos DB, you can access your data using APIs of your choice, as SQL (document), MongoDB (document), Azure Table Storage (key-value), Gremlin (graph) and Cassandra (column-family) are all natively supported.

Region:

Currency:

Display pricing by:

US government entities are eligible to purchase Azure Government services from a licensing solution provider with no upfront financial commitment or directly through a pay-as-you-go online subscription.

Important—The price in R$ is merely a reference; this is an international transaction and the final price is subject to exchange rates and the inclusion of IOF taxes. An eNF will not be issued.

Azure Germany is available to customers and partners who have already purchased this, doing business in the European Union (EU), the European Free Trade Association (EFTA)and in the United Kingdom (UK). It provides data residency in Germany with additional levels of control and data protection. You can also sign up for a free Azure trial.

Pricing at a glance

Provisioned Throughput

Your Azure Cosmos DB database account could be distributed across one or more Azure regions. While all the regions associated with your database account can serve reads, your database account can also be configured to have all regions to process the writes (multi-master) or exactly one region to process the writes (single-master).

In Azure Cosmos DB, you are billed for the provisioned throughput and consumed storage by the hour. The throughput is expressed in terms of a normalised throughput currency called Request Units per second (RU/s). Once provisioned, RU/s can be used interchangeably across various database operations (e.g., inserts, reads, replaces, upserts, deletes, queries, etc.). You can programmatically (or via Azure Portal) configure the throughput you need and elastically scale the provisioned throughput at any time.

Provisioning at different granularities

You can provision throughput at different granularities You can provision throughput for:

Cosmos DB container. Depending on the choice of data model or API, a Cosmos DB container can be a collection (e.g., MongoDB, SQL), a graph (e.g., Gremlin) or a table (e.g., Cassandra, Azure Table storage). Containers in Cosmos DB are horizontally partitioned and can elastically scale to deliver unlimited amount of throughput and storage.

Cosmos DB database. The throughput configured on the database is shared across all the containers of the database. You can choose to explicitly exclude certain containers from database provisioning and instead provision throughput for those containers at container level.

Granularity of provisioning

Minimum throughput (RU/s)

Scale up/down increments (RU/s)

Maximum throughput

Scope

Single region write

Multiple region write

Single region write

Multiple region write

Container*

400

400

100

100

Unlimited

The partitioned container for which the throughput is provisioned

Database**

400

400

100

100

Unlimited

All the throughput is shared among all the partitioned-containers within the database (excluding the containers for which the throughput is explicitly provisioned for)

* A Cosmos DB container maps to the following: a Cosmos DB collection while using SQL API, a MongoDB collection while using MongoDB API, a table while using Cassandra or Table storage APIs or a graph while using Gremlin API.

** A Cosmos DB database maps to the following: a database while using SQL or MongoDB APIs, a keyspace while using Cassandra API or a database account while using Gremlin or Table storage APIs.

Elastically scaling reads and writes across the globe

You can add/remove Azure regions anywhere in the world to your Cosmos DB database account at any time. The throughput that you have configured for various Cosmos DB databases and containers is guaranteed to be reserved in each of the Azure regions associated with your Cosmos DB database account.

SSD-backed storage

Your data and index are durably stored on the SSD-backed storage and replicated (across one or more Azure regions associated with your Cosmos DB database account). In addition to the throughput that you provision every hour, you are also billed for each GB of storage that you actually consume for your data and index.

Azure Cosmos DB reserved capacity for additional savings

Reserved capacity based pricing of Cosmos DB offers even more cost savings (up to 65% discount), provides even more stringent availability SLAs (beyond the 99.999) and eases the burden of capacity planning away from you. For a one-time upfront fee, you can reserve provisioned throughput for one or three years at a significant discount. Any throughput that you provision in excess of your reserved capacity is billed at standard provisioned throughput rates. Reserved capacity can be shared for throughput provisioned across all regions, all APIs, all accounts and all subscriptions under a given enrollment. Reserved capacity starts at 20K RU/s. To purchase reserved capacity, go to the documentation page.

1 Year Reservation

3 Year Reservation

Throughput

Single region write

Multiple region write

Single region write

Multiple region write

Price/Savings

Price per 100 RU/s
(savings over PAYG)

Price per 100 RU/s
(savings over PAYG)

Price per 100 RU/s
(savings over PAYG)

Price per 100 RU/s
(savings over PAYG)

First 50K RU/s

$-

$-

$-

$-

$-

$-

$-

$-

Next 450K RU/s

$-

$-

$-

$-

$-

$-

$-

$-

Next 2.5M RU/s

$-

$-

$-

$-

$-

$-

$-

$-

Over 3M RU/s

$-

$-

$-

$-

$-

$-

$-

$-

Try Azure Cosmos DB for Free

Azure Cosmos DB Local (Downloadable Version):Download the free Azure Cosmos DB Local to develop and test applications using Azure Cosmos DB from your local machine. Once you are satisfied with how your application works, you can deploy it by just changing your configuration to point to an Azure Cosmos DB instance in the cloud.

Learn more about TCO savings with Cosmos DB over on-prem and IaaS-hosted NoSQL databases in the cloud.

Where do I learn about the regional presence of Azure Cosmos DB?

Azure Cosmos DB is available in all Azure regions including public, government and DoD clouds. To learn more, please visit the Azure services availability by region page.

Support & SLA

We provide technical support for all Azure services released to General Availability, including Azure Cosmos DB, through Azure Support, starting at $29/month. Billing and subscription management support is provided at no cost.

FAQ

In Azure Cosmos DB you reserve throughput (on either a database or a container) and pay only for the reserved throughput for a given hour. The benefit of the provisioned throughput-based model to the customers is that it provides guaranteed performance and elasticity at any scale. The provisioned throughput model allows Cosmos DB to offer high availability, guaranteed low latency, in addition to guaranteed throughput at the 99th percentile in a scale-independent manner. The reserved throughput is specified in terms of Request Units (RU) per second. Each operation in Azure Cosmos DB, including writes, updates, reads and queries and updating a document, consumes CPU, memory and IOPs. That is, each operation incurs a request charge, which is expressed in request units (RUs). To learn more please visit Request Units in Azure Cosmos DB page.

You are billed based on the provisioned throughput expressed in request units per second (RU/s) that has been reserved for your Azure Cosmos DB database or container based on an hourly rate for the time it was provisioned.

Provisioned throughput for an individual container:

If you create an Azure Cosmos DB database account in East US 2 with two containers with provisioned throughput of 500 RU/s and 700 RU/s, respectively, you would have a total provisioned throughput of 1,200 RU/s. You would thus be charged 12 x $- = $-/hour.

If your throughput needs changed and you have increased each container’s capacity by 500 RU/s while also creating a new container using 20,000 RU/s, your overall provisioned capacity would be 22,200 RU/s (1000 RU/s + 1200 RU/s + 20,000RU/s). Your bill would then change to: $- x 222 = $-/hour.

If you create an account in East US 2 with two Cosmos DB databases (with a set of collections under each) with provisioned throughput of 50K RU/s and 70K RU/s, respectively, you would have a total provisioned throughput of 120K RU/s. You would thus be charged 1200 x $- = $-/hour.

When you choose to make a Cosmos account (with databases and containers) span across geographic regions, you are billed for the throughput and storage for each container in every region and the data transfer between regions. As an example, let us assume you have a container in West US provisioned with throughput 10K RU/s and store 1TB of data this month. Let us assume you add 3 regions: East US, North Europe and East Asia, each with the same storage and throughput. Your total monthly bill will be (assuming 31 days in a month):

Item

Usage (Month)

Rate

Monthly Cost

Throughput bill for container in West US

10K RU/s * 24 * 31

$- per 100 RU/s per hour

$-

Throughput bill for 3 additional regions - East US, North Europe and East Asia

3 * 10K RU/s * 24 * 31

$- per 100 RU/s per hour

$-

Storage bill for container in West US

1 TB

$-/GB

$-

Storage bill for 3 additional regions - East US, North Europe and East Asia

3 * 1TB

$-/GB

$-

Total

$-

Let us also assume that you egress 100GB of data every month from the container in West US to replicate data into East US, North Europe and East Asia. You are billed for egress as per data transfer rates.

When you choose to operate containers that span across multiple geographic regions, you are billed for the provisioned throughput and storage for each container in every region and the data transfer between regions. You will be billed for the provisioned throughput.

Multiple region write

Let us assume you have a container in West US provisioned with throughput 10K RU/s and store 1TB of data this month. Let us assume you add 3 regions - East US, North Europe and East Asia, each with the same storage and throughput and you want the ability to write to the containers in all four regions from your globally distributed app. Your total monthly bill will be (assuming 31 days in a month):

Storage bill for 3 additional regions - East US, North Europe and East Asia

3 * 1TB

$-/GB

$-

Total

$-

For the above example, let us also assume that you egress 100GB of data every month from the container in West US to replicate data into East US, North Europe and East Asia. You are billed for egress as per data transfer rates.

Storage capacity is billed in units of the maximum hourly amount of data stored, in GB, over a monthly period. For example, if you utilised 100 GB of storage for half of the month and 50 GB for the second half of the month, you would be billed for an equivalent of 75 GB of storage during that month.

You are billed for each hour the container or database exists, regardless of usage or if the container or database is active for less than an hour. For example, if you create a container or database and delete it 5 minutes later, your bill will reflect a 1 hour.

You are charged for the maximum provisioned throughput for any given hour.

For instance, if you increase provisioned throughput at 9:30 AM from 400 RU/s to 1000 RU/s and then lower provisioned throughput at 10:45 AM back to 400 RU/s, you will be charged for two hours of 1000 RU/s.

If you increase provisioned throughput for a container or a set of containers at 9:30 AM from 100K RU/s to 200K RU/s and then lower provisioned throughput at 10:45 AM back to 100K RU/s, you will be charged for two hours of 200K RU/s.

You can scale up or scale down the provisioned throughput (i.e., Request Units per second) for each container or a database by using the Azure Portal, one of the supported SDKs or the REST API.

Azure Cosmos DB reserved capacity helps you save money by pre-paying for one-year or three-years of Cosmos DB provisioned throughput capacity allowing you to get a discount on the Cosmos DB provisioned throughput for databases and containers (tables/collections/graphs). Azure Cosmos DB reserved capacity can significantly reduce your Cosmos DB costs on regular prices with one-year or three-year upfront commitment. Reserved capacity provides a billing discount and does not affect the runtime state of your Cosmos DB resources. You can buy a reserved capacity for Cosmos DB in the Azure portal. To learn more about reserved capacity, read the Cosmos DB documentation.