Azure elastic pool: Can I create as many databases as I want

azureazure-sql-database

I am sitting here trying to figure out what the elastic pool in Azure gives me. I have a customer that wants a guess on pricing if they move to Azure. They have 3 databases, on a server. The server has 96 GBs of RAM and a 3.4 Ghz processor. That is all I know. The three databases are sharing these specs, and each database has it own area of expertise:

  1. one database handles all the CMS data
  2. the second database handles all the commerce data
  3. the third database is a database that stores user info, etc – all data that doesn't fit the two others

I think the usage pattern is pretty diverse, so sometimes the commerce DB is using a lot of RAM and CPU, other times it is the CMS DB etc.

I don't think they fit well into a single database, because they are going to need three big databases then, and almost all of them are going to be under-utilized all the time. So I thought about elastic pools.

The description of elastic pools fits the above very well: all databases share eDTUs. Perfect! But one thing the docs don't describe is: do I pay for the elastic pool AND per database? Or do I just create databases on the fly, and all of them share, that is: the databases are free, but you pay for the eDTU?

I have read this https://docs.microsoft.com/en-us/azure/sql-database/sql-database-elastic-pool – but it doesn't describe my situation.

Hope someone can give me some more info.

EDIT
They are going to update the docs: https://github.com/MicrosoftDocs/azure-docs/issues/49201#issuecomment-593579476. I created an issue for this asking for clarification.

Best Answer

When under the eDTU model you can create databases as you see fit and calculate your cost with the pricing calculator. This shows that you pay per pool, the amount of databases do not matter.

You do have a maximum amount of databases you can create. This is based on your service tier (basic, standard, premium) & performance level (eDTUs & storage).

enter image description here

Also found in the docs

enter image description here

The vCore elastic pool maximum amount of databases per pool are noted here.

A small example for a subset of Gen5 General Purpose elastic pool:

enter image description here


As a side note since you only have 3 databases to be added in your elastic pool, to be cost effective remember that:

If the aggregate amount of resources for single databases is more than 1.5x the resources needed for the pool, then an elastic pool is more cost effective.

Source