fbpx
August 10, 2020

Azure SQL Database vs SQL Server 2019

Azure SQL Database is a PaaS (Platform as a Service) offer, built on standardized hardware and software that is owned, hosted, and maintained by Microsoft. Getting help using Azure Managed Services, you will find out that the SQL Server 2019 can be hosted either on Azure Virtual Machines (VMs) which is an IaaS (Infrastructure as a Service) offer and allows you to run SQL Server inside a virtual machine in the cloud or on a physical machine. 



Features comparison: Azure SQL Database and Microsoft SQL Server 2019


Microsoft Azure SQL Database

Microsoft SQL Server

Technical documentation

Cloud-based only

Yes

No

Data scheme

Yes

Yes

Typing

Yes

Yes

XML support

Yes

Yes

Secondary indexes

Yes

Yes

SQL

Yes

Yes

APIs and other access methods

ADO.NET
JDBC
ODBC

ADO.NET
JDBC
ODBC
OLE DB
Tabular Data Stream (TDS)

Supported programming languages

.Net
C#
Java
JavaScript (Node.js)
PHP
Python
Ruby

C+
C++
Delphi
Go
Java
JavaScript (Node.js)
PHP
Python
R
Ruby
Visual Basic

Server-side scripts

Transact SQL

Transact SQL, .NET languages, R, Python and (with SQL Server 2019) Java

Triggers

DDL triggers - Database only

   DML triggers - Most

Yes

Partitioning methods


Tables can be distributed across several files (horizontal partitioning); sharding through federation

Replication methods

Yes, with always 3 replicas available

Yes, but depending on the SQL-Server Edition

MapReduce

No

No

Consistency concepts

Immediate Consistency

Immediate Consistency

Foreign keys

Yes

Yes

Transaction concepts

ACID

ACID

Concurrency

Yes

Yes

Durability

Yes

Yes

In-memory capabilities


Yes

User concepts

Fine grained access rights according to SQL-standard

Fine grained access rights according to SQL-standard

SQL Server 2019 Pricing

Microsoft has not changed the price of SQL Server since SQL Server 2012 and went to a core-based licensing model. Here's the retail pricing for SQL Server 2019:

 DTUs with different service tiers allow comparison of resources that power different Database performance levels
  • SQL Server Enterprise Edition: $7,128 per core
  • SQL Server Standard Edition: $1,859 per core
  • SQL Server Standard Edition Server Licensing: $931 plus $209 per named user client access license (CAL)

Please note that any virtual machine or physical machine cost for it must be included. Need help learning about Microsoft Azure Virtual Machines?


Azure SQL Database DTU vs Azure SQL vCore Model

Let’s have a look first on each of it using which we may do the Azure SQL sizing.


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 resources processing power.
  • CPU, memory, physical reads, and transaction log writes (IOPS)
  • DTUs with different service tier and compute size allow comparison of resources that power different Database performance levels i.e. Standard (General Purpose Tier), Premium (Business Critical Tier) etc.
Azure SQL vs SQL Server 2020

As you see from the screenshot from Azure portal, 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.

The main idea of the DTU concept is to offer a preconfigured resource configuration (deploy models) to clients so that it simplifies the scaling of the performance over a single metric. Such as, if we need more performance, we can slide the bar and increase the number of DTU in Azure SQL Database.


Azure SQL Cost Examples: DTU Pricing

Below we show DTU pricing for Azure SQL using the General Purpose/Standard service tier, for a Single Database deployment, in the West US 2 region.

Instance Type

DTUs

Maximum Storage Allowed*

Price for DTUs and Included Storage

S0

10

250 GB

$0.0202

S1

20

250 GB

$0.0404

S2

50

250 GB

$0.1009

S3

100

1 TB

$0.2017

S4

200

1 TB

$0.4033

S6

400

1 TB

$0.8066

S7

800

1 TB

$1.6130

S9

1600

1 TB

$3.2260

S12

3000

1 TB

$6.0488

* All options come with minimal Included Storage of 250GB


Additional data charges:

  • If you use extra data storage beyond the included storage, the price is $0.17 per GB-month.
  • If you need long-term retention of data using RA-GRS blob storage, the price is $0.05 per GB-month.


Presenting – vCores

With vCores, Microsoft takes a more contemporary approach. It is similar to sizing an Azure SQL Virtual Machine 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

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

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.


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.

Azure SQL Cost Examples: vCore Pricing

Below we show vCore pricing for Azure SQL using the General Purpose Tier/Standard service tier, for a Single Database deployment, in the West US 2 region.


Serverless Compute Option

If you choose serverless compute, you can dynamically select between 0.5 and 16 vCores, with between 2.02 GB and 48 GB of memory.

The price is $0.5218 per vCore hour and $0.115 per GB-month.


Additional data charges:

  • If you need point-in-time restore, you’ll pay $0.20 per GB-month for backup storage
  • If you need long-term retention, you’ll pay $0.05 per GB-month

Provisioned Compute Option

In the provisioned compute option, you need to select a number of vCores and your capacity and prices are determined accordingly.

There is a regular vCore price including the Microsoft software license, and a lower price for Azure Hybrid Benefit, in case you transfer your existing SQL Server licenses to your vCores. In this scenario, the Azure Hybrid Benefit discount is 40%.

vCores

Total Memory (GB)

Price Per Hour Including License

Price Per Hour with Azure Hybrid Benefit

2

10.2

$0.5044

$0.3045

4

20.4

$1.0088

$0.6089

6

30.6

$1.5131

$0.9134

8

40.8

$2.0175

$1.2178

10

51

$2.5219

$1.5222

12

61.2

$3.0262

$1.8267

14

71.4

$3.5306

$2.1311

16

81.6

$4.0350

$2.4355

18

91.8

$4.5393

$2.7400

20

102

$5.0437

$3.0444

24

122.4

$6.0524

$3.6533

32

163.2

$8.0699

$4.8710

40

204

$10.0874

$6.0887

80

396

$20.1747

$12.1774

Additional storage charges:

  • The vCore prices above only cover compute. You are charged separately for storage, using the Premium tier of the Azure Blob Storage service, at a cost of $0.115 per GB/month.
  • If you need long-term retention, you’ll pay $0.05 per GB-month.
  • If you need long-term retention, you’ll pay $0.05 per GB-month.

To calculate Azure SQL costs for your specific scenario, see the official Azure pricing calculator.


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.


Which would be the best Azure SQL Database Model option to choose?

The Basic, Standard S0, S1 and S2 service tiers provide less than one vCore (CPU). For CPU-intensive workloads, a service tier of S3 or greater is recommended.

Regarding data storage, the Basic, Standard S0, and S1 service tiers are placed on Standard Page Blobs. Standard Page Blobs use hard disk drive (HDD)-based storage media and are best suited for development, testing, and other infrequently accessed workloads that are less sensitive to performance variability.

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.

Our consultants love to help you choose the right plan – and are often able to offer additional discounts and promotions based on number of users. Book a meeting with us today if you need help.

(Last Updated On: April 14, 2021)

Last Updated 4 months ago

About the Author

Ateeb is a Microsoft Certified Solutions Associate. He aids clients in deployment, and management of Microsoft technologies - for both, on-premises and on the cloud environment. With significant experience in deploying stand-alone and enterprise solutions, Ateeb enjoys helping organizations with their digital transformation journey.

Ateeb Fayyaz

{"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}