Gig XP

Azure SQL Database vCores vs DTU Feature Comparison

Azure SQL Database vCores vs DTU Feature Comparison

In this article, we are going to compare Azure SQL Database vCores vs DTU pricing models. While DTU was perfect for small to medium deployment, the concept of DTU created a sense of ambiguity in some of our minds.

To offer more predictability in what hardware specs are being provided for a specific instance of Azure SQL, Microsoft introduced the vCore model. This, of course, comes at an additional cost which also justified the extra performance improvements. To know more on this, read along to get into the details.

Azure SQL Database vCores vs DTU

First, let us look at the pricing model comparison side by side. As you can see below, there are similarities and differences between the pricing models.

Feature DTU (Database Throughput Unit) vCores
Vertical Scaling DTU Level Compute + Memory + IOPS
Costs DTU & Backups for Storage LRS, ZRS & RA-GRS
Geo-Replication (Always-On) Yes Yes
ATP Yes Yes
SLA 99.999% 99.999%
Service Tiers Basic, Standard, Premium, & PremiumRS (Preview) Gen 4, & Gen 5
Max Compute 4000 DTUs 24 vCores, 168 GB memory (Gen 4)

80 vCores, 408 GB Memory (Gen 5)

Max Memory N/A 168 GB (Gen 4)

408 GB (Gen 5)

Max Database Size Support 4 TB 4 TB

DTUs – Database Throughput Unit

The performance levels of DTUs are measured using the following metric:

It comprises of the following:

See the screenshot below:

As you see from the screenshot, your max database size is dependent on the amount of DTUs that you allocate. Microsoft provides linear scalability for these databases and can be scaled up or down based on estimated loads.

Microsoft has created the Azure SQL Database Benchmark or ASDB to estimate how much performance improvement is offered with every increase in DTUs.

When the users of these DBs face frequent timeouts, it means that you are hitting the upper-performance limits of the database and it needs to scale up. So on paper, it looks pretty reasonable and straightforward.

Downsides of using DTUs

Over the last couple of years, DTUs has been the de facto standard for Azure SQL Database performance levels. But it had its disadvantages and any existing or potentially new customers highlighted these issues. They are as follows:

Presenting – vCores

With vCores, Microsoft takes a more contemporary approach. It is similar to sizing an Azure SQL VM for running database workloads. Even though it is a managed database, Microsoft gives you more flexibility in configuring the CPU-cores and database size independent of each other. As far as IOPS is concerned, they are fixed and dependent on the vCore service tier. See below:

General Purpose Hyperscale Business Critical
7000 IOPS Max 200,00 IOPS Max 200,000 IOPS Max
5-10 milliseconds disk latency 5-10 milliseconds disk latency @ 7000 IOPS for Logs

1-2 milliseconds disk latency @ 200,000 IOPS for Logs

5-10 milliseconds disk latency

1-2 milliseconds disk latency @ 200,000 IOPS for Data

1-2 milliseconds disk latency @ 200,000 IOPS for Logs

This brings in more transparency to the pricing models and more control in individual resource allocation.

So, here are the vCore model highlights:

DTU to vCore Conversion

In simplistic terms, here is a quick comparison with vCores vs DTU:

A maximum of 4000 DTUs are supported at the time of writing this article.

Conclusion

You should only consider moving to the new vCore model if your DTU usage somehow exceeds 300 or more. However, you can also choose vCores if you want to allocate more memory and less CPU or vice versa.

I hope this article helped understand the critical differences between vCores vs DTU. Do drop us your comments or suggestions in the comment box down below. Thanks for visiting!

Online Official Resources:

Azure SQL Service Tiers