Author : MD TAREQ HASSAN | Updated : 2021/01/22
What is Azure SQL Database
- Fully managed SQL Database (single database or pool of databases) in Azure cloud
- PaaS - Fully managed platform-as-a-service
- Always running the latest version of SQL Server
- Flexible pricing model
- vCores
- DTU’s
- Single database or Elastic Pool
- Automatic scaling
- Service tiers for different workloads
- Standard (general purpose)
- Premium (for applications with high transaction rates)
- Hyper-scale (very large transactional databases)
- https://docs.microsoft.com/en-us/azure/azure-sql/database/sql-database-paas-overview
- https://docs.microsoft.com/en-us/azure/azure-sql/database/elastic-pool-overview
When to use?
- When syncing on-premise database is needed to sync to Azure
- syncing: one-way (on-premise -> Azure) or two-way (on-premise <-> Azure)
- Cloud migration where both on-premise and Azure needs data during migration phase
- Modern apllications (for which single database is ok)
- Multi-tenancy
- For applications, in which each user requires thier seperate database
- Although ‘each user requires thier seperate database’ but still a silgle database is required for one user
- So, there will be pool of “Single SQL Databases” (one database for each user) where databases is isolated from each other
Concepts
- Server: Microsoft SQL server
- When creating Azure SQL Database, you must create server first on which SQL database will run
- When using “Azure SQL Database” template in Azure portal, you will get a Server and a Database
- Database: Single SQL server database
- Elastic pool: Pool of SQL server databases
Elastic Pool
What is it?
- SQL Database elastic pool is a shared resource model that enables higher resource utilisation efficiency, with all the databases within an elastic pool sharing predefined resources within the same pool
- The workload pattern is well defined and is highly cost-effective in multitenant scenarios
- Elastic pools in Azure SQL Database enable SaaS developers to optimize the price performance for a group of databases
- See: https://docs.microsoft.com/en-us/azure/azure-sql/database/elastic-pool-overview
When to use?
- Multi-tenant apllications
- Elastic databases are useful when you have several databases and you want to monitor and manage all the databases at the same time