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.
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.
Quelle: Azure
Published by