We have an Azure SQL DB (DTU based, Standard 3, 50 GB). Business requirement is that the size of the DB might grow till 10 TB. We are considering moving to elastic pool to save cost. Hyperscale (Gen5) is another option under consideration. While analyzing, following points have been identified. Kindly suggest taking a right decision.
- Storage: Hyperscale can be scaled up to 100 TB. Elastic Pool 8 TB. (Hyperscale takes lead) (Hope that the 8 TB is for the entire pool, not for each DB.)
- Storage Cost: It is included for elastic pool. Storage cost is separated in Hyperscale. (EP takes lead)
- Total Cost: For 4 TB, Hyperscale costs around USD 1050/month (with 4 vcore, 1 year reserved, compute + storage cost). EP costs around USD 5,500/month for Standard and USD 21,900/month. (Hyperscale takes clear lead)
- Cross DB CRUD: Though cross DB CRUD operation achievable in EP, setting it up in EP for multiple DBs is cumbersome and time consuming (with elastic query and sp_execute_remote). ETL jobs need to read-write in all DBs. But in Hyperscale, it is simple and straight forward as it is a single DB. (Hyperscale takes lead)
- Switching Tier: It not possible to come out of Hyperscale. But EP can be changed to another tier/purchasing model. (EP takes lead)
- Elastic pool is not supported in Hyperscale.
- Geo-replication is not an issue.
Seems Hyperscale is better option. Kindly suggest if I have missed any.