Azure Logo

Microsoft Docs

Azure SQL Database Architecture

Understanding the architecture of Azure SQL Database is crucial for designing, deploying, and managing your relational data effectively in the cloud.

High-Level Architecture Overview

Azure SQL Database High-Level Architecture

Figure 1: Azure SQL Database High-Level Architecture

Core Components

Azure SQL Database is built on a distributed architecture that separates compute and storage, allowing for independent scaling and high availability. The architecture consists of several key layers:

1. Service Layer

This layer handles external connections, authentication, and request routing. It's responsible for directing incoming queries to the appropriate compute resource. This layer is also responsible for load balancing and failover management.

2. Compute Layer

This layer consists of virtual machines that host the SQL Server engine. Each compute node is dedicated to a specific database or a group of databases. Azure SQL Database employs a scale-out architecture where multiple compute nodes can serve different workloads, ensuring performance and availability.

3. Storage Layer

The storage layer is highly available and durable, utilizing Azure's robust storage infrastructure. Data is replicated across multiple storage nodes to ensure data integrity and protect against hardware failures. Azure SQL Database supports various storage options to meet different performance and cost requirements.

4. Networking Layer

This layer manages network connectivity to the Azure SQL Database service, including firewalls, virtual networks, and private endpoints, ensuring secure and reliable access to your databases.

Deployment Models

Azure SQL Database offers different deployment models to suit various needs:

Key Architectural Concepts

a. Shared Infrastructure

Azure SQL Database runs on shared infrastructure. A single logical server can host multiple databases, and these databases share underlying compute and storage resources managed by Azure. This allows for efficient resource utilization and cost savings.

b. Service Tiers and Hardware Generations

Azure SQL Database offers different service tiers (e.g., General Purpose, Business Critical, Hyperscale) and hardware generations, each providing varying levels of performance, I/O, and availability. Choosing the right tier is essential for meeting your application's performance and SLA requirements.

c. High Availability and Disaster Recovery (HADR)

Azure SQL Database is designed for high availability. It uses built-in redundancy and replication mechanisms to ensure that your data is always accessible, even in the event of hardware failures or datacenter outages. Features like Always On Availability Groups (for Managed Instance) and geo-replication provide robust disaster recovery capabilities.

Note: Azure SQL Database provides a PaaS (Platform as a Service) offering, abstracting away much of the underlying infrastructure management. This means you focus on your data and applications, while Azure handles patching, backups, and high availability.

Understanding the Azure SQL Database Ecosystem

Beyond the core architecture, it's important to understand how Azure SQL Database integrates with other Azure services:

Tip: Regularly review your database performance metrics and adjust service tiers or configurations as needed to optimize costs and performance.

By understanding these architectural principles, you can leverage the power and scalability of Azure SQL Database to build robust and high-performing cloud applications.