Azure SQL Database is a highly available and highly scalable multi-tenant Database-as-a-Service (DBaaS) offering from Microsoft.
There are four layers in Azure SQL Architecture:
- Client Layer
- Service Layer
- Platform Layer
- Infrastructure Layer
Client Layer
It’s the interface for the applications (SQL Server tools, ODBC, .NET, ADO.NET Java, PHP) to connect the SQL database. The Tabular Data Stream (TDS) transfers data between applications and SQL Database.
Service Layer (Gateway Layer)
The services layer provides the below functions:
- Provisioning the database.
- User login authentication and SQL database validation.
- Enforcing security constraints (Firewall rules and denial of service attacks)
- Billing and metering
- Routing connection
- Stores audit logs
When a request is made it dynamically determines where the database is located at the time of the request by looking up an internal mapping table and routes the connection to the Primary data server (dynamic routing).
The master database is a read only database handled in this layer.
Platform Layer
It’s the physical servers (data nodes) hosting SQL databases, each SQL database is stored in one physical server and is replicated across two different physical servers for high availability. When a database commit is issued against the primary replica, at least one of the other two secondary replicas must also confirm the commit operation before the transaction is considered committed. This is referred to as a quorum commit.
The SQL Database fabric is a distributed computing system composed of tightly integrated networks, servers, and storage. It enables automatic failover, load balancing, and automatic replication between physical servers.
Management services monitor the health of individual servers and enable automated installation of service upgrades and software patches.
Infrastructure Layer
Responsible for the administration of the OS and the physical hardware.
Comments
One response to “Azure SQL Database Architecture”
Great content! Keep up the good work!