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.
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.
80 vCores, 408 GB Memory (Gen 5)
408 GB (Gen 5)
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.
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:
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:
1-2 milliseconds disk latency @ 200,000 IOPS for Logs
1-2 milliseconds disk latency @ 200,000 IOPS for Data
This brings in more transparency to the pricing models and more control in individual resource allocation.
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.
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!
Azure SQL Service Tiers
Comments are closed.