Azure DocumentDB: Entry point for partitioned collections now 75% cheaper

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