Azure Cosmos DB Pricing

Azure Cosmos DB is a globally distributed, multi-model database service. Understand the pricing models to best suit your application's needs. Pricing is based on provisioned throughput, storage consumed, and the regions you deploy to.

Core Pricing Components

Provisioned Throughput (RU/s)

  • Request Units (RUs) are the currency of throughput in Cosmos DB.
  • The cost depends on the number of RUs provisioned per second.
  • Can be provisioned manually or autoscale.
  • Higher throughput means higher cost.
  • Available for various APIs (SQL, MongoDB, Cassandra, Gremlin, Table).
$0.000008 per RU/s/hour (example)
Learn More

Storage

  • Cost is based on the amount of data stored in GB.
  • Includes data and index storage.
  • Rates vary by region.
  • Minimum storage charges may apply.
$0.00018 per GB/month (example)
Learn More

Multi-Region Writes

  • Additional cost for enabling writes across multiple regions.
  • Ensures high availability and low latency for global applications.
  • Charged based on provisioned throughput in each write region.
Varies based on RUs in each write region
Learn More

Throughput Options

Choose between manual throughput for predictable workloads or autoscale for dynamic needs.

Manual Throughput

  • You explicitly set the RU/s for your containers or database.
  • Cost-effective for predictable, stable workloads.
  • Requires careful capacity planning.
Standard RU/s rates
Details

Autoscale Throughput

  • Automatically scales RU/s up and down based on actual usage.
  • Handles unpredictable traffic spikes efficiently.
  • Can be more cost-effective for variable workloads.
  • Maximum RU/s is configurable.
Slightly higher RU/s rate than manual
Details

Region-Specific Pricing

Costs vary slightly depending on the Azure region where your Cosmos DB account is deployed. Refer to the Azure pricing calculator for precise regional rates.

Example regions:

Azure Pricing Calculator

Understanding Request Units (RUs)

A Request Unit (RU) is a normalized measure of throughput. Different database operations consume different numbers of RUs.

// Example: Reading a document
const readRU = 1;

// Example: Writing a document
const writeRU = 5;

// Example: Querying a document
const queryRU = 10;
                

The total RUs consumed for an operation are the sum of the RUs for reading data, writing data, and indexing.

Free Tier and Discounts

Azure Cosmos DB offers a Free Tier for development and testing, providing a limited amount of free RUs and storage per subscription. Volume discounts and Azure Hybrid Benefit may also be applicable.