Design data storage solutions · Topic 1 of 5

Relational Data Storage and Service Tiers

AZ-305 relational design: choose Azure SQL Database, SQL Managed Instance, SQL on VMs or PostgreSQL and MySQL, and pick vCore tiers, serverless and Hyperscale.

  • 5 min
  • Includes a diagram
In a nutshell
  • SQL Database is the least managed overhead. Managed Instance gives near full SQL Server compatibility. A VM gives full control.
  • Tiers: General Purpose (remote storage), Business Critical (local SSD, readable secondary included) and Hyperscale (up to 128 TB, named replicas).
  • Serverless exists in General Purpose and Hyperscale, and auto pauses when idle.

What it is

Azure offers several ways to run a relational database, from fully managed platform services to a VM you control. Designing means choosing the service (how much compatibility and control you need) and the tier and compute model (how much performance, availability and cost you need). The decision is driven by compatibility, scale and operational effort.

Compatibility needSQL Server features?ServiceSQL Database, MI, VMTierGeneral Purpose, Business Critical, HyperscaleComputeprovisioned or serverless

How it works

Choosing the service

For a SQL Server workload, choose SQL Server on an Azure VM if it needs OS access. Otherwise choose SQL Managed Instance if it needs instance features such as SQL Agent, and Azure SQL Database if it does not.

OptionBest forNotes
Azure SQL DatabaseNew cloud apps, SaaS, modern PaaSSingle database or elastic pool. Most managed, no instance level features
Azure SQL Managed InstanceLift and shift of SQL Server with minimal changeNear 100 percent SQL Server compatibility: SQL Agent, cross database queries, Service Broker, linked servers
SQL Server on Azure VMsFull OS and SQL control, unsupported features, specific versionsYou manage patching and backups (with the SQL IaaS extension to help)
Azure Database for PostgreSQL flexible serverPostgreSQL appsZone redundant high availability, read replicas
Azure Database for MySQL flexible serverMySQL appsThe older single server deployment option is retired
Oracle Database@AzureOracle workloads needing Oracle featuresRuns Oracle infrastructure inside Azure datacenters

Decision shortcut: need instance level SQL Server features (SQL Agent, CLR, cross database transactions, linked servers) with little rework, choose Managed Instance. New app, want least admin, choose SQL Database. Need OS access or an unsupported feature, choose a VM.

Purchasing models and tiers for SQL Database

There are two models. vCore is the recommended one, with independent choices for compute and storage. DTU is a bundled older model with Basic, Standard and Premium tiers, and its elastic pools share eDTUs.

vCore tierCharacteristicsUse
General PurposeRemote storage (about 5 to 10 ms latency), the default and most economical, zone redundancy availableMost business apps
Business CriticalLocal SSD storage and a cluster of replicas (about 1 to 2 ms latency), a readable secondary included at no extra charge, roughly 2.7 times the General Purpose priceLow latency, high IOPS, fast failover, OLTP
HyperscaleStorage separated from compute, up to 128 TB, very fast backups and restores, up to 30 named read replicasVery large databases and rapid scale

Serverless compute is available in General Purpose and Hyperscale. It scales between a minimum and maximum vCore and auto pauses when idle, billing per second, which suits intermittent workloads. Provisioned compute bills a fixed hourly rate and suits steady load. A native Hyperscale database cannot move back to another tier, but a database converted to Hyperscale can reverse migrate to General Purpose within 45 days.

Elastic pools

An elastic pool shares compute among many databases with varying, unpredictable usage, which is cheaper than provisioning each database for its peak. Each database has a per database minimum and maximum. Good for SaaS with many tenant databases. Not suited when all databases peak at the same time. Pools exist in the vCore model and the DTU model.

Sizing and cost

  • Start by identifying IOPS, latency, size and availability requirements.
  • Reserved capacity and Azure Hybrid Benefit (use existing SQL Server licenses) lower cost for steady workloads.
  • Use auto pause on serverless for dev and test.
  • Hyperscale suits databases that outgrow General Purpose's size, or that need fast restore regardless of size.
  • For analytics on operational data, use read replicas instead of scaling the primary.

Choosing quickly

RequirementAnswer
Migrate an on premises SQL Server using SQL Agent jobs and cross database queriesSQL Managed Instance
400 small tenant databases with uneven loadAn elastic pool
Database that is idle at night and must cost littleServerless General Purpose
40 TB database with fast restoreHyperscale
Sub 2 ms latency and a free readable replicaBusiness Critical
OS level control for a third party packageSQL Server on an Azure VM

A worked scenario

A SaaS vendor has 300 tenant databases whose load varies by timezone, plus one 20 TB reporting database. The architect puts the tenants in a General Purpose elastic pool sized for the aggregate, and the reporting database on Hyperscale with named replicas for analysts. The vendor's older on premises accounting system needs SQL Agent and linked servers, so it moves to Managed Instance.

What to remember for the exam

  • SQL Database is the least managed overhead. Managed Instance gives near full SQL Server compatibility. A VM gives full control.
  • Tiers: General Purpose (remote storage), Business Critical (local SSD, readable secondary included) and Hyperscale (up to 128 TB, named replicas).
  • Serverless exists in General Purpose and Hyperscale, and auto pauses when idle.
  • Elastic pools suit many databases with unpredictable, non overlapping peaks.
  • Azure Hybrid Benefit and reserved capacity reduce cost.
Exam tip

"Minimal code and configuration change from SQL Server" points to Managed Instance.

How the exam asks about this

  • "Lift and shift a SQL Server with SQL Agent jobs." SQL Managed Instance.
  • "Intermittent workload, pay per second, pause when idle." Serverless compute.
  • "Database will grow beyond 4 TB to tens of terabytes, fast scale." Hyperscale.
  • "Many databases with different peak times." An elastic pool.

Common mistakes

Choosing Managed Instance for a new simple app. SQL Database is cheaper and simpler.

Using Business Critical just for size. Hyperscale handles size.

Serverless for a constantly busy database. Provisioned costs less.

Pools when every database peaks together.

Check yourself

  • Which service gives near full SQL Server compatibility as PaaS?

    Azure SQL Managed Instance.

  • Which tier has a readable secondary at no extra cost?

    Business Critical.

  • What is the maximum Hyperscale size?

    128 TB.

Topic 1 of 5 in Design data storage solutions

Test yourself on Design data storage solutions

The full Microsoft AZ-305 question bank has 755 questions, with timed practice exams and an explanation for every answer.

This study guide is independent and is not affiliated with, endorsed by, or sponsored by Microsoft. Vendor names, certification names and exam codes are trademarks of their respective owners and are used for identification only.