1
votes

I'm trying to figure out the pricing model for Azure SQL databases. Comparing vCore to DTU on the defaults, 20 DTUs worth of server would cost an estimated £27.96 a month while vCore would cost £326.34 a month.

Why the disparity? I looked up what DTUs are and I'm happy with the overall concept of them being based on maths based on CPU, etc., but I can't figure out if each database transaction would add up so I could eventually "use up" the 20 DTU and so will get charged for another set of 20 or whether the database will only run as fast as "20" based on the calculations.

This isn't a question about the DTU calculator, I'm happy with all that, this is a question about why there is such a significant difference between the two values.

2

2 Answers

1
votes

The reason for the difference is that the vCore model provides a dedicated core for your database and can be scaled independent of storage. In the DTU model you are basically paying for a share of CPU, Memory and storage (including io). When you choose a larger DTU all the specs move up together.

This article provides some detail: https://docs.microsoft.com/en-us/azure/sql-database/sql-database-service-tiers-vcore

1
votes

https://docs.microsoft.com/en-us/azure/sql-database/sql-database-service-tiers-vcore#choosing-service-tier-compute-memory-storage-and-io-resources

If you decide to convert from the DTU-model to vCore-model, you should select the performance level using the following rule of thumb: each 100 DTU in Standard tier requires at least 1 vCore in General Purpose tier; each 125 DTU in Premium tier requires at least 1 vCore in Business Critical tier.

https://docs.microsoft.com/en-us/azure/sql-database/sql-database-vcore-resource-limits#what-happens-when-database-and-elastic-pool-resource-limits-are-reached

The maximum number of sessions and workers are determined by the service tier and performance level. New requests are rejected when session or worker limits are reached, and clients receive an error message.