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.

FeatureDTU (Database Throughput Unit)vCores
Vertical ScalingDTU LevelCompute + Memory + IOPS
CostsDTU & Backups for StorageLRS, ZRS & RA-GRS
Geo-Replication (Always-On)YesYes
ATPYesYes
SLA99.999%99.999%
Service TiersBasic, Standard, Premium, & PremiumRS (Preview)Gen 4, & Gen 5
Max Compute4000 DTUs24 vCores, 168 GB memory (Gen 4)

80 vCores, 408 GB Memory (Gen 5)

Max MemoryN/A168 GB (Gen 4)

408 GB (Gen 5)

Max Database Size Support4 TB4 TB

DTUs – Database Throughput Unit

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

  • Measured in (DTUs) or Database Throughput Units
  • DTU = Unit of measurement for compute processing power.

It comprises of the following:

  • CPU, memory, physical reads, and transaction log writes (IOPS)
  • DTUs with different service tiers allow comparison of resources that power different Database performance levels

See the screenshot below:

Azure SQL Database vCores vs DTU Feature Comparison

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:

  • Flexibility to increase or decrease a single resource type. For example, if there is a memory bottleneck, you will not be able to raise it individually. You will have to allocate more DTUs instead.
  • Paying for more resource type, even if you are not fully utilized.
  • Pay for more storage, whereas you need more compute power for a relatively smaller DB.

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 PurposeHyperscaleBusiness Critical
7000 IOPS Max200,00 IOPS Max200,000 IOPS Max
5-10 milliseconds disk latency5-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:

  • DB size and memory can be increased individually. IOPS is service tier dependent, see table above.
  • 7GB or 5.5GB of memory is allocated to each vCores (Service Tier Dependent)
  • Pay separately for compute capacity, number of IOPS, DB backup, log storage, and database size
  • If you already own an On-Premises SQL License with Software Assurance (SA), you can save up to 55% with a BYOL license.

DTU to vCore Conversion

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

  • 1 vCore of General Purpose = 100 DTUs Standard
  • 1 vCore of Business Critical = 125 DTUs Premium
  • 80 vCores = 8000 DTUs *

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

Disclaimer: The Questions and Answers provided on https://www.gigxp.com are for general information purposes only. We make no representations or warranties of any kind, express or implied, about the completeness, accuracy, reliability, suitability or availability with respect to the website or the information, products, services, or related graphics contained on the website for any purpose.