Open In App

Microsoft Azure – Database Availability and Consistency For Azure SQL

When you or your company decides to move your database from your on-premise servers/computers to a cloud environment, consistency and availability are two important factors to consider.

Database consistency is much more intricate. It means that no matter how or where you access your data, the same query would give you the same data output.  It also means that your data stays intact in case of an application failure, natural disaster, and so on.  



In this article, we aim to simplify how Azure Database for MySQL achieves the objectives of data consistency and high availability, across different deployment options. We will get an overview of the following concepts:

Key Terminologies

Before getting started get yourself familiar with the following keywords:



Deployment Modes in Azure

Azure Database for MySQL is a PaaS (Platform as a service). This means that Azure provides you with an instance (or multiple instances) of the MYSQL server. Everything from patching to upgrades is handled by Azure. For this mode, there are 2 available deployment options-

  1. Single Server Deployment: This option is only recommended if you currently have an application/workload that is using a single server, and you wish to migrate it to the Azure cloud. A single server requires minimal user customization. It provided an SLA of 99.99% availability within a single region.  
  2. Flexible Server Deployment: This option is highly recommended for production workloads. It’s flexible, allowing you to choose availability zones, pricing tiers, cost optimizations, and more.  

So now that you have a basic understanding of the deployment nodes, let’s deep dive into availability and consistency for these 2 modes.  

Availability and Consistency

For Single-Server Deployment

Planned downtime: As an example, suppose you start out with 4 virtual cores on your Azure Database instance. As you add more and more applications, your database load increases. To handle this, you might need to increase your virtual cores. This is an instance of planned downtime. As you can see in the architecture, Azure Database for MySQL is built out of separate components like

 

For Flexible Server Deployment:

 There are 2 primary modes of design:

Azure Database for MYSQL has a comprehensive set of services that ensure data availability and consistency. There are various options for you to choose between different servers, architectures and pay only for the services you use. 

Article Tags :