Are you looking for a solution that handles unpredictable workloads in the Azure SQL Database? Is your cost going high in managing databases? In this blog, we are going to learn how to estimate your workloads against budget constraints and bring about cost efficiencies that allows you to maintain control over price and performance across a group of databases.
Most of the workloads are unpredictable; especially it’s challenging for SaaS based environments. This is primarily because they have millions of workloads in the environment as per their business requirements. To overcome these hurdles, the ideal way would be not overprovisioning resources to meet demand, but a cost effective and scalable solution.
Azure provides a solution in order to manage the performance across the database within your budget to let hundreds or thousands of databases leverage resources. Elastic pools in Azure SQL Database enable SaaS developers to optimize the price performance for a group of databases within a prescribed budget while delivering performance elasticity for each database.
Why we use Elastic Pools
- The customer has their own database
- Every customer (database) has unpredictable resource requirements for memory, IO, and CPU
Elastic pools solve this problem by ensuring that databases get the performance resources when they need it. They provide a simple resource allocation mechanism within a predictable budget.
What are DTUs and eDTUs
A Database Transaction Unit (DTU) is a unit, of the resources that are guaranteed to be available to a single Azure SQL database (fixed allocated database per server not shared)
An Elastic DTU (eDTU) is a unit, and set of resources (DTUs) that can be shared between a set of databases on an Azure SQL server – called an elastic pool.
For More information regarding DTUs and eDTUs
What is Elastic Pool: As the name suggests it is a pool of SQL Azure DBs.Each elastic pool contains sets to SQL Azure DBs.
- Elastic pool has shared capacity among SQL Azure DBs.
- Elastic pool ensures best use of capacity and resource.
- It is very much cost effective.
- Best option for dealing with unexpected DB load and at the same time remaining cost effective.
- While creating elastic pool, Azure provides suggestion about which DB to include in the pool and about min max eDTU, bases on eDTU usages of Dbs.
Example: you have purchased 100 DTUs for you 10 Azure SQL Database only 50 DTUs are in utilization rest 50 DTUs are not in usage but you need to pay for total 100 DTUs which is over cost for yourcompany.
If your using elastic pools eDTUs you can only purchase 60 eDTUs for 10 Azure SQL Database and you can share at the time of overloaded.
Additional eDTUs can be added to an existing pool with no database downtime, Databases with elastic pools which are not active all the time and can share eDTUs to other overloaded databases.
Below 1st image you can see all databases are in normal status.
In 2nd image If DB utilization is more, then the performance will be impact due to shortage of resources. If we create Elastic pool and add databases, the resources will be shared as per the usage.
This article is just a starting point to help with your decision whether or not an elastic pool is a good fit into your technology strategy. Remember that you should continually monitor historical resource usage and constantly reassess the performance levels of all your databases.
For better resource as per the usage we have options in Azure as Basic, Standard, and Premium Service Tiers.
To know more about price details click on below link
Let us walk you through the steps involved to enable the eDTU:Steps to Create Elastic Pool Databases
Select the SQL Server from Azure Portal
Select the server from the list
Click on Add Pool
From the new pop-up window (Elastic Database pool) > Click Add Databases > another pop-up window will open here and you would need to select the databases that needs to be added under elastic database pool. You can check and un-check the databases with selecting option.
After selecting the databases now it will show 28 databases added, to configure the DTU click on Configure performance
You can configure the DTU as per the database usage and the price.
Now with all set, you can access the whole Database elastic pool.
You can see the utilization of each database eDTU
You can view the utilization from the Azure portal and you can set up alerts to warn you when maximum capacity has reached.
You can read more about this at https://azure.microsoft.com/sv-se/documentation/articles/sql-database-elastic-pool-manage-portal/
Latest posts by Srinivasan Suresh (see all)
- How to optimize multiple Azure database performance cost effectively? - January 23, 2017