Azure SQL Database Hyperscale (or Hyperscale for short) takes your database to the next level by removing size and query limitations typically found in cloud databases. Your database can scale up to 100 TB in size and handle more queries than ever before. All of that is done without requiring any change to your applications using the database!
There are myriad ways to migrate to Hyperscale and we will cover some of them in future posts. In this post we will look at how to create a new Hyperscale database on Azure.
Creating a new Hyperscale database on Azure
In the Azure portal, click ‘Create a resource’ and choose ‘SQL Database’. If you do not see ‘SQL Database’ in the list, use the search bar at the top of this screen.
In the next screen, choose the subscription and resource group you want to use. Next, specify a database name and a server. If you do not have a resource group or a server you can create them from this screen.
Make sure to leave ‘Want to use SQL elastic pool?’ set to ‘No’ as it is not supported for Hyperscale.
Under ‘Compute + storage’ choose ‘Configure database’.
This screen might have changed since the last time you have seen it because we have introduced a new purchasing model based on vCores. The DTU based purchasing model and its service tiers (Basic, Standard Premium) are still available, but you might see the vCore purchasing model and its service tiers (General Purpose, Hyperscale, Business Critical) first.
In this screen select ‘Hyperscale’.
The warning that appears tells you that once your database is set up on Hyperscale it cannot be changed to another service tier. Read more about it in our documentation. Confirm that you have understood this warning by selecting the check box.
Next, you can choose the ‘Compute Generation’ – I recommend selecting ‘Gen5’ here, this is the latest hardware and provides scalability up to 80 vCores and 408 GB of memory compared to 24 vCores and 168 GB of memory for Gen4.
If you already have a SQL Server license you can apply the Azure Hybrid Benefit for SQL Server to save costs. If you do, you will have to confirm that by selecting the corresponding check box.
Then we get down to the final two settings, although you can always change these later:
- vCores: the number of virtual processor cores you want to allocate to your database. Default: 2 for Gen5 or 1 for Gen4.
- Secondary Replicas: the number of read-only compute nodes you want to create for your database. Default: 1. You can have up to 4 read-only compute nodes. By having at least 1 secondary replica you can improve the query performance by offloading read-only query workloads to the replica. You do not have to worry about keeping the primary (read/write) node and any replicas in sync – that is all taken care of.
Once you are happy with the settings you made (remember you can add / remove vCores and Secondary Replicas later) choose ‘Apply’:
Verify that the ‘Compute + storage’ setting now reflects the selections you made on the previous screen. You can click ‘Next: Additional settings >’ to fine-tune your settings further or click ‘Review + create’ to review the settings. Finally click ‘Create’ to create your database. This should take just a couple of moments.
Hyperscale – same but different
Connecting to your Hyperscale database is exactly the same as any other Azure SQL or SQL Server database – for example, you can use SQL Server Management Studio or Azure Data Studio. That is the exactly point. Hyperscale provides capabilities not found in other cloud databases such as scale and query performance, but it has no impact on your applications. If you do an in-place migration of a SQL database that is already on another service tier to Hyperscale, the connection string would not even change. Your application does not have to be changed and it will benefit from bigger scale and improved query performance. And who does not like the extra scale and query performance?
Try it out
I invite you to try Azure SQL Database Hyperscale today! I am curious to see what amazing things you will build!
Jeroen (AKA Dutch Data Dude)