As of May 10th 2017,
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. 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 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’s 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 DocumentDB SQL (document), MongoDB (document), Azure Table Storage (key-value), and Gremlin (graph) are all natively supported.
Today we are pleased to announce that partitioned collections have an entry point 75% cheaper than before. Instead of provisioning 10,100 RU/sec as a minimum, you can now provision a partitioned collection at 2,500 RU/sec and scale in increments of 100 RU/sec. Partitioned collections enable you to dynamically scale your provisioning from as low as 2,500 RU/sec to millions of RU/sec with no limit on storage consumption.
DocumentDB billing model
The current Azure DocumentDB billing model gives far more granularity, elasticity, and scale than what S1, S2, and S3 performance levels provided. You no longer need to jump your throughput provisioning from 1,000 RU/sec to 2,500 RU/sec when you just need 1,200 RU/sec. Our goal is to make sure you have full flexibility in optimizing the utilization of your provisioned capacity.
The Azure DocumentDB billing model is very simple:
- You pay for the provisioned capacity in increments of 100 request units/second (RU/sec). Each provisioned capacity of 100 RU/sec is billed at an hourly rate.
- You pay a flat rate for the storage you consume.
- The entry point for DocumentDB is at 400 RU/sec for a single partition. For a free use in a dev/test environment, we recommend the use of the DocumentDB emulator.
Single Partition or Partitioned Collection
You can start with a single partition if you expect your storage needs to be below 10 GB or your throughput needs not to exceed 10K RU/sec. Later on, you can always change to partitioned collections by using the migration tool. For more information about migrating from single-partition to partitioned collections, see Migrating from single-partition to partitioned collections.
However, if you expect a large amount of volume or performance needs, you should start with a partitioned collection. The following table provides an overview of single partition versus partitioned collections.
Performance type |
Details |
Throughput |
Storage |
Single partition |
User sets throughput in units of 100 RU/sec |
400 – 10,000 RU/sec |
10 GB |
Partitioned collection |
User sets throughput in units of 100 RU/sec |
2,500 RU/sec – Unlimited |
Unlimited |
Decreasing your provisioned throughput for partitioned collections
If you already have a partitioned collection, but don’t need the 10,100 RU/sec throughput, you can lower your provisioning through the Azure portal or the SDK. Here is an example to adjust the provisioning level to 2,500 RU/sec.
Through the Azure portal
From your DocumentDB account, click Scale, choose your collection, and then adjust your throughput value.
If you have additional questions about partitioned collections or going planet-scale with DocumentDB, please reach out to us on the developer forums on Stack Overflow. Also, stay up-to-date on the latest DocumentDB news and features by following us on Twitter @DocumentDB.