Azure Cosmos DB pricing

Fully managed globally distributed, multi-model database service

Start your Azure free account and get a $200 credit for 30 days, plus get 12 months of free access to Azure Cosmos DB.

Develop real-time, always on applications at any scale with Azure Cosmos DB, a fully managed globally distributed, multi-model database service with 99.999 percent high availability and single-digit millisecond read and write latencies anywhere in the world, backed by comprehensive SLAs. Simplify app development and boost developer productivity with built-in, cloud-native capabilities including five consistency models, automatic indexing, and multiple data models and APIs.

Easily migrate existing data from MongoDB, Gremlin, and Cassandra and Etcd databases without changing your application, and run real-time operational analytics with Apache Spark connector and Jupyter Notebooks (preview) natively built-in to Azure Cosmos DB. Pay only for what you need, by elastically and instantly scaling throughput and storage without limits.

Pricing

Azure Cosmos DB bills for provisioned throughput and consumed storage by the hour.

Provisioned throughput is expressed in Request Units per second (RU/s), which can be used for various database operations (e.g., inserts, reads, replaces, upserts, deletes, queries, etc.). Your database account can be configured to accept writes in multiple regions (multi-master) or a single region (single-master). Significant savings on provisioned throughput can be enjoyed with Azure Cosmos DB reserved capacity with a one- or three-year commitment.

Storage is billed for each GB used for your SSD-backed data and index.

Provisioned Throughput

The minimum provisioned throughput for a container or database is 400 RU/s, which corresponds to 1 billion reads per month. You can provision throughput and elastically scale in increments of 100 RU/s (equivalent to 267.8 million reads per month) and elastically scale up to hundreds of millions of RU/s at any time while maintaining the SLAs. You will be billed an hourly rate for the maximum throughput provisioned on your container or database. Your account can be configured to accept writes in multiple regions (multi-master) or a single region (single-master).

Manually configuring provisioned throughput

Provisioned throughput can be manually configured on your Cosmos container or database either using Azure portal or programmatically using an API.

Provisioned Throughput - Unit (100 RU/s per hour) Price
100 RU/s single-region account 1 x $-
100 RU/s multi-region, single master account (N = number of selected Azure regions) N regions x $-, where N > 1
100 RU/s multi-region, multi-master account (N = number of selected Azure regions)* (N regions +1) x $-, where N > 1

Standard data transfer rates apply. Monthly price estimates are based on 730 hours per month.

Cosmos containers and databases require a minimum of provisioned throughput 400 RU/s.

*Most recommended for production, mission critical workloads.

You can estimate your provisioned throughput needs by using the Azure Cosmos DB capacity planner (i.e., RU calculator).

Automatically configuring provisioned throughput with Autopilot Preview

With Autopilot mode, your containers and databases will automatically scale provisioned throughput based on workload patterns, maintaining SLAs, without requiring you to manually manage capacity or handle rate-limiting. This is best for unpredictable, infrequent or bursty workloads. As your application makes requests to your Cosmos container or database, Autopilot mode will automatically and instantaneously adjust provisioned throughput based on the needs of the workload.

Autopilot Throughput – Unit (100 RU/s per hour) Price
100 Autopilot RU/s $-

For more information, see documentation page.

Reserved capacity for provisioned throughput

Enjoy cost savings of up to 65-percent off and enhanced availability SLAs, while reducing the burden of capacity planning or management with Azure Cosmos DB reserved capacity pricing. Reserve provisioned throughput for one or three years with a one-time payment, and share the reserved provisioned throughput across all regions, APIs, accounts, and subscriptions under a given enrollment. For more information, see 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 $- $- $- $- $- $- $- $-

Any throughput that you provision in excess of your reserved capacity is billed at standard provisioned throughput rates.

Consumed Storage

Azure Cosmos DB offers unlimited transactional and analytical (preview) storage. Storage is billed as GBs of local SSD-backed logical storage used by your data and indexes across all the regions where you are using Azure Cosmos DB. For example, if you replicate an Azure Cosmos DB account across three regions, you will pay for the total storage cost in each of those three regions.

Your data is managed in two distinct storage tiers, transactional and analytical (preview), with workloads operating on the same logical data without interfering with each other. While transactional storage is always enabled by default, you must explicitly enable analytical (preview) storage on your Cosmos container.

To estimate your storage requirement, use the capacity planner tool.

Consumed Storage Price
1 GB of consumed transactional storage (row-oriented) $-/month
1 GB of consumed analytical storage (column-oriented) - preview $-/month

For transactional storage, there is no additional charge for IOPS (input/output operations per second). For analytical (preview) storage, storage transactions are billed as below:

Analytical storage transactions Preview

Transactions Price
Write Operations (per 10,000 operations) $-
Read Operations (per 10,000 operations) $-

Multiple Regions and availability zones

Azure Cosmos DB is a fully managed database service with turnkey global distribution and transparent multi-master replication. You can add and remove regions to your Azure Cosmos account at any time. The throughput that you configure for various Azure Cosmos databases and containers is reserved in each region associated with your Cosmos account.

In addition to multi-region configuration, you can now enable zone redundancy, when selecting a region to associate with your Azure Cosmos database. Zone redundancy provides additional redundancy within a given region by replicating data across multiple zones in that region. Availability zones redundancy is available for single region accounts, and multi-region accounts with multi-region writes enabled.

Throughput – Unit (100 RU/s per hour) Price
100 RU/s, single region account 1 x $-
100 RU/s, N>1 regions, single writeable region N x $-
100 RU/s, N>1 regions, all regions writeable (N + 1) x $-
100 RU/s, N>1 regions, all regions writeable, with availability zones enabled (N + 1) x $-

Try Azure Cosmos DB for Free

Develop and test production-ready apps from your local machine with Azure Cosmos DB local emulator Download the free Azure Cosmos DB emulator from your local Windows machine. Once you’re satisfied with your database, you can deploy it by pointing to an Azure Cosmos DB instance in the cloud.
New to Azure and want to test a pre-production app? Try out Azure Cosmos DB and other Azure services with Azure Free Account Try Azure Cosmos DB and other Azure services as a part of a 12-month Azure Free Account. Get $200 credit for 30 days and enjoy 400 RU/s of provisioned throughput and 5 GBs of storage per month for a year.)
Create and run a global, commitment-free Azure Cosmos DB database for 30 days with Try Azure Cosmos DB for Free. Enjoy a time-limited, globally distributed Azure Cosmos DB experience free of charge and without an Azure subscription with Try Azure Cosmos DB for Free. You can renew any number of times.

Support & SLA

  • Technical support is available through Azure Support, starting at $29/month. Billing and subscription management support is provided at no cost.
  • 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.
  • SLA—We guarantee at least 99.99-percent availability for single-region databases and 99.999-percent availability for multi-region databases to successfully process requests and perform operations in Azure Cosmos DB. In addition, we offer other comprehensive SLA’s covering latency, throughput, consistency and high availability. To learn more, please visit the SLA page.

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're 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’ve 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 (1,000 RU/s + 1,200 RU/s + 20,000RU/s). Your bill would then change to: $- x 222 = $-/hour.

    In a month of 720 hours, if for 500 hours provisioned throughput was 1,200 RU/s and for the remaining 220 hours provisioned throughput was 22,200 RU/s, your monthly bill will show: 500 x $-/hour + 220 x $-/hour = $-/month.

    Provisioned throughput for a database (a set of containers):

    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.

    If your throughput needs changed and you increased each database’s provisioned throughput by 10K RU/s each, your overall provisioned capacity would be 140K RU/s (60K RU/s + 80K RU/s). Your bill would then change to: 1400 * $- = $-/hour.

    In a month of 720 hours, if for 500 hours provisioned throughput was 120K RU/s and for the remaining 220 hours provisioned throughput was 140K RU/s, your monthly bill will show: 500 x $-/hour + 220 x $-/hour = $- + $- = $-/month.

  • With autopilot (currently in preview), you will be billed hourly for the base price of your selected tier and the maximum provisioned throughput in autopilot mode allocated hourly based on your workload patterns. Provisioned throughput is expressed in request units per second (RU/s).
  • 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’s assume you have a container in West US provisioned with throughput 10K RU/s and store 1TB of data this month. Let’s 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’s 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’s assume you have a container in West US provisioned with throughput 10K RU/s and store 1TB of data this month. Let’s 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):

    Item Usage (Month) Rate Monthly Cost
    Throughput bill for container in West US (multiple regions write) 10K RU/s * 24 * 31 $- per 100 RU/s per hour $-
    Throughput bill for 3 additional regions - East US, North Europe, and East Asia (multiple regions write) (3 + 1) * 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 $-

    For the above example, let’s 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.

    Until November 30, 2019, new Azure Cosmos DB accounts will receive up to 33% off multi-region writes (multi-master) to select regions for the life of the account. Qualifying new accounts only. Accounts must be created between August 15, 2019 and November 30, 2019. Offer limited to accounts with both account locations and geo-redundancy only in North Europe, West Europe, South Central US, or North Central US regions, and applies only to multi-region writes in those same regions. Both Geo-Redundancy and Multi-region Writes must be enabled in account settings. Actual discount will vary based on number of qualifying regions selected.

  • Storage capacity is billed in units of the maximum hourly amount of data stored, in GB, over a monthly period. For example, if you utilized 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're 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 1,000 RU/s and then lower provisioned throughput at 10:45 AM back to 400 RU/s, you will be charged for two hours of 1,000 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.

Resources

Estimate your monthly costs for Azure services

Review Azure pricing frequently asked questions

Learn more about Azure Cosmos DB

Review technical tutorials, videos, and more resources

Added to estimate. Press 'v' to view on calculator

Learn and build with $200 in credit, and keep going for free