I have a pretty large (250gb) Azure SQL database which is mostly used for a multi-tenant transactional point of sale system.
We have a lot of business reports which are essentially stored procedures sitting behind a reporting framework (Telerik Reports). This is however getting quite slow for some reports.
What is the best option for reporting databases, and does Azure have any tech that would work well for this. My initial thoughts are a traditional data warehouse and an ETL process across denormalised data, but what are peoples experiences?
2
Answers
Azure now has Microsoft Fabric, which amongst other things contains a data warehouse. See: https://learn.microsoft.com/en-us/fabric/data-warehouse/data-warehousing
But if you go that way you may end up rewriting the reports. So as mentioned in the comment, check you indexes first.
My suggestion is to make use of the Read Scale Out feature and use read-only replicas to offload read-only query workloads. In the Premium and Business Critical service tiers, applications could gain performance benefits using this additional capacity at no extra cost.
In addition to using read-only replicas, please consider examining query plans of the queries with worst performance. Query Store and Azure Portal can help you identify them. Make sure indexes needed are in-place, and update statistics during maintenance window.