Azure Single Database vs Elastic Pool Databases

3.6k views Asked by At

I have created an azure SQL single database "w3s_singledb" with no elastic pool and SQL server named "singledb2022dec". After logging into "singledb2022dec.database.windows.net" I executed "create database w3s_seconddb" and it was created.

Next, I created Azure Elastic Pool "elasticpool2022dec" and SQL server named "elasticpool2022dec.database.windows.net". After logging into "elasticpool2022dec.database.windows.net" I executed "create database testdb1" and "create database testdb2". Both were created.

I changed all the databases pricing to basic DTU.

enter image description here enter image description here enter image description here

I was trying to understand the basic difference between Single Database and Elastic Pool Databases.?

I know Single Database will be used for "When Application needs a Single Database to work on". And Elastic Pool will be used for "When Application needs multiple databases to work on and need to share Common Resources like CPU and RAM".

I was trying to understand more elaborately.

2

There are 2 answers

1
Shiraz Bhaiji On

The basic idea with an Elastic pool is that you can share resources among databases that need resources at different times. Thereby avoiding paying for idle resources.

Example:

  • 3 databases, set up as 3 single database instance, costs 3X
  • 3 databases, set up as an elastic pool with total resources comparable to 2 single databases, costs 2X
0
Alberto Morillo On

Azure SQL databases are throttled, once you’ve reached the limit of the database resources, additional requests will be timed out.

With an elastic pool, you create a shared resource group for your databases. This can be much more cost efficient, especially when your database infrastructure requires multiple databases or multi-tenancy.

If your database resource usage displays a typical pattern with peaks in performance every now and then, an Elastic Pool might be suited for you.

If your database usage requires large amounts of resources for a longer period of time, it might be a better idea to have a dedicated resource tier for your database.

If you want to change the service tier or compute size of an Elastic Pool, keep in mind that all databases within the pool are affected, briefly. But there will certainly be some kind of downtime during the scaling process. If you need to scale out a dedicated database tier, only that database is affected.