Michel
Michel

Reputation: 23615

How to set the RU/s for my CosmosDb container lower than 400?

I've read pricing for a CosmosDb and the docs (https://azure.microsoft.com/en-us/pricing/details/cosmos-db/) say ~$5.84/month for the simplest configuration (no redundancy etc) for 100 RU/s.

Now I tried to set my number of RU's for my container to 100, but it only let me set 400 or more, in which case my bill is ~$23/month, which looks a lot to me, for a database which gets 1 document per 5 minutes.

Is the 100 RU/s not possible?

Upvotes: 4

Views: 6040

Answers (3)

Paul
Paul

Reputation: 637

It looks like the new autopilot mode (currently in public preview) will allow you to pay for less than 400 RU/s assuming your collection has very low activity.

You could for instance, set your collection to a 1000 RU maximum using autopilot, and autopilot will automatically scale this to as low as 10% of the maximum if the utilization is very low, and you only get charged for what you actually use. The cost per RU is about 50% more using autopilot, but the overall cost would be significantly lower assuming it scales you down to 10% of your maximum allocation.

https://learn.microsoft.com/en-us/azure/cosmos-db/provision-throughput-autopilot

https://azure.microsoft.com/en-us/pricing/details/cosmos-db/

Upvotes: 2

Bob Ash
Bob Ash

Reputation: 887

From billing perspective, the minimum amount we have to pay for a single cosmos database is for 400 RU/s throughput. (It does not matter whether we have single container or multiple containers within that database).

In Cosmos DB, We can provision throughput either
1) at database level (This throughput is shared across all the containers in the database - it could be one or more containers).
(Or)
2) at container level (This throughput provisioned on an Azure Cosmos container is exclusively reserved for that container).

If the throughput is provisioned at database level (minimum required is 400 RU/s), then individual containers within that database can be configured to a dedicated throughput at a minimum of 100 RU/s.

If the throughput is NOT provisioned at database level, then individual containers within that database has to be configured for a minimum throughput of 400 RU/s.

Upvotes: 2

4c74356b41
4c74356b41

Reputation: 72171

No, this is not possible. You can set a container on a shared database to 100 RU/s, but the database would be set to a 1000 400 RU/s minimum.

Upvotes: 1

Related Questions