In today’s article we will examine Azure SQL Database and Architecture.
Azure SQL Database is a highly scalable and multi-leasable highly available Platformas-a-Service (PaaS) or Database-as-a-Service (DBaaS) database service from Microsoft.
Microsoft; operating system, disk management, network, virtualization, version transitions, server installation and maintenance work for us. We only use the database.
Azure SQL Database has the following deployment options.
Azure SQL Database allows its users to focus solely on managing data and works on four layers to provide users with relational database functionality.
The Client Layer acts as the interface for applications to access a SQL database. It can be in an On-Prem environment or on Azure.
SQL Server communicates with applications using Tabular Data Stream (TDS – application layer protocol created to transfer data between a database server and a client).
These applications can be .NET, ODBC, ADO.NET. It can be connected to Azure SQL Database without any additional requirements or installation in Java.
The service layer acts as a gateway between the client and platform layers and is responsible for the following operations.
Creating the SQL Database.
Controlling Access to SQL Database
Providing SQL Firewall service and enforcing security
Generating invoice for SQL database based on usage amount
Routing connections between the client and Azure SQL
The platform tier consists of physical servers hosting SQL databases in data centers.
Each SQL database is stored on a single physical server and multiplexed on two different physical servers for high availability.
Together with the created database server, it creates three different physical servers (You can see in Picture1. The platform layer has two components.
Azure Fabric: Responsible for load management and controls automatic failover of SQL databases between servers.
Management Services: It deals with the health status of a single server, patch updates.
The infrastructure layer is responsible for managing the physical hardware and operating system.
Azure SQL Database Request Flow
The application sends a TDS – Tabular Data Stream – request to the SQL Database (Login, DDL, DML operations etc.) TDS validates the request at the service layer to the network layer before sending the request to the platform layer and then forwards it to the platform layer.
If the incoming request was forwarded directly to the platform layer by TDS, login and firewall controls would not have been achieved, and perhaps you would have been subject to a dDos attack.
As shown in Picture2, the Platform layer has three nodes. Each node has a primary copy of an sql database and a secondary copy of two different physical servers, two different sql databases.