Last updated: May 2026
Azure Databases
Beginner
AZ-104
⏱ 10 min read
Choosing the Right Azure Database
Azure offers over a dozen database services — and choosing the wrong one costs time, money, and can require a painful migration later. The right choice depends on your data model (relational vs NoSQL), your application's consistency and latency requirements, your team's existing skills, and whether you need to migrate an existing workload or build something new. This guide walks through the decision.
What you'll learn
Relational vs NoSQL — when each fits · All Azure database services mapped · Decision tree for common scenarios · Managed PaaS vs IaaS (SQL on VM) trade-offs · Migration scenarios · Performance tier decisions
Relational vs NoSQL
| Relational (SQL) | NoSQL |
| Data model | Tables with rows and columns, fixed schema | Documents, key-value, graph, column-family — flexible schema |
| Query language | SQL — powerful JOIN, aggregation | Varies — API-based, limited joins |
| Consistency | ACID transactions — strong consistency | Eventual or configurable consistency |
| Scale | Vertical (scale up) + limited horizontal | Horizontal scale-out designed in |
| Best for | Structured data with relationships, financial systems, ERP | High-volume reads/writes, globally distributed, flexible data |
Azure Database Services Map
| Service | Type | Engine | Best For |
| Azure SQL Database | Relational PaaS | SQL Server | New cloud-native apps, SQL Server migration |
| Azure SQL Managed Instance | Relational PaaS | SQL Server (near-full) | Lift-and-shift SQL Server with full compatibility |
| SQL Server on VM | Relational IaaS | SQL Server | Full control, legacy features, specific versions |
| Azure Database for MySQL | Relational PaaS | MySQL | LAMP stack, WordPress, existing MySQL apps |
| Azure Database for PostgreSQL | Relational PaaS | PostgreSQL | Complex queries, geospatial, advanced SQL |
| Azure Cosmos DB | NoSQL PaaS | Multi-model | Globally distributed, low latency, multi-model |
| Azure Cache for Redis | Cache/NoSQL | Redis | Caching, session state, leaderboards, pub/sub |
| Azure Synapse Analytics | Analytics | Dedicated SQL pool | Data warehousing, big data analytics |
| Azure Table Storage | NoSQL | Key-value | Simple structured data, cheap storage |
Decision Tree
Start with: Is your data structured (tables with relationships)?
| Scenario | Recommended Service |
| New app, SQL Server skills, cloud-native | Azure SQL Database |
| Lift-and-shift existing SQL Server, need SQL Agent, linked servers | Azure SQL Managed Instance |
| Need specific SQL Server version, full OS access, legacy features | SQL Server on VM |
| Existing MySQL app, LAMP stack, WordPress | Azure Database for MySQL |
| PostgreSQL app, geospatial queries, advanced SQL | Azure Database for PostgreSQL |
| Globally distributed app, need <10ms latency worldwide, flexible schema | Azure Cosmos DB |
| Need a cache to reduce database load, session storage | Azure Cache for Redis |
| Data warehousing, petabyte-scale analytics | Azure Synapse Analytics |
| Simple key-value lookups, extremely cheap storage | Azure Table Storage |
Managed PaaS vs SQL on VM
| Factor | PaaS (SQL Database / MI) | IaaS (SQL on VM) |
| OS management | Microsoft manages | You manage |
| SQL patching | Automatic | Manual |
| Backup | Automatic | Manual / Azure Backup |
| HA | Built-in | Must configure Always On, FCI |
| SQL Server features | Most features (SQL Database), near-all (MI) | All features — no restrictions |
| Licensing | Included or BYOL (Hybrid Benefit) | PAYG or BYOL |
| Choose when | Want less management overhead | Need specific version, full control, legacy features |
Migration Scenarios
| From | To | Tool |
| On-premises SQL Server | Azure SQL Database | Azure Database Migration Service, BACPAC |
| On-premises SQL Server | Azure SQL Managed Instance | Azure Database Migration Service (online) |
| On-premises MySQL | Azure Database for MySQL | Azure Database Migration Service, mysqldump |
| On-premises PostgreSQL | Azure Database for PostgreSQL | Azure Database Migration Service, pg_dump |
| Any relational database | Azure Cosmos DB | Custom ETL, Azure Data Factory |
💡
AZ-104 Exam Tip
Know the key differences: SQL Database (cloud-native, limited SQL Server features) vs SQL Managed Instance (near-full SQL Server, lift-and-shift). Know Cosmos DB for globally distributed, multi-model scenarios. Know Redis for caching. Know Synapse for data warehousing.
Click an option to check your answer.
Q1. A company wants to migrate their on-premises SQL Server to Azure with minimal changes — they use SQL Server Agent, linked servers, and CLR integration. Which service should they use?
A — Azure SQL Database
B — Azure SQL Managed Instance
C — Azure Cosmos DB
D — Azure Database for MySQL
Q2. A startup is building a globally distributed mobile app that needs sub-10ms reads from any region worldwide. Which database is the best fit?
A — Azure SQL Database
B — Azure Cosmos DB
C — Azure Cache for Redis
D — Azure Synapse Analytics
Q3. What is the main advantage of PaaS database services (like Azure SQL Database) over SQL Server on a VM?
A — PaaS offers all SQL Server features without restrictions
B — Microsoft manages patching, backups, and HA automatically — reduced operational overhead
C — PaaS is always cheaper than SQL on VM
D — PaaS provides full OS access for custom configurations
Q4. Which Azure service is specifically designed for petabyte-scale data warehousing and analytics?
A — Azure SQL Database
B — Azure Cosmos DB
C — Azure Synapse Analytics
D — Azure Cache for Redis
Q5. A web application uses a database for user sessions and frequently accessed data to reduce load on the primary database. Which service is ideal?
A — Azure SQL Managed Instance
B — Azure Database for PostgreSQL
C — Azure Cache for Redis
D — Azure Synapse Analytics
Disclaimer: RedKite Cloud is an independent educational resource and is not affiliated with Microsoft Corporation.