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 modelThe currentAzure 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 100request 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 theDocumentDB emulator. Single Partition or Partitioned CollectionYou 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 collectionsIf 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 portalFrom your DocumentDB account, click Scale, choose your collection, and then adjust your throughput value.

Through the SDK //Fetch the resource to be updated
Offer offer = client.CreateOfferQuery()
.Where(r => r.ResourceLink == collection.SelfLink)
.AsEnumerable()
.SingleOrDefault();
// Set the throughput to 2,500 request units per second
offer = new OfferV2(offer, 2500);
//Now persist these changes to the database by replacing the original resource
await client.ReplaceOfferAsync(offer);
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 .