This blog post is co-authored with Ellis Hiroki Butterfield, Program Manager for SQL DW and Josh Caplan, Program Manager for Azure Analysis Services.
Azure SQL Data Warehouse is Microsoft’s SQL analytics platform, the backbone of your Enterprise Data Warehouse. The service is designed to allow customers to elastically (and independently) scale compute and storage with massively parallel processing. SQL DW integrates seamlessly with big data stores and acts as a hub to your data marts and cubes for an optimized and tailored performance of your EDW. Azure SQL DW offers guaranteed 99.9% high availability, compliance, advanced security, and tight integration with upstream and downstream services so you can build a data warehouse that fits your needs. Azure SQL DW is the first and only service enabling enterprises to replicate their data everywhere with global availability in more than 30 regions. Today, we will show you how to push data quickly into Azure Analysis Services for optimized performance.
Benefits of using Azure Analysis Service with SQL DW
Several great benefits exist when leveraging Azure Analysis Services (AAS) with SQL DW:
- Fewer to no queued queries while increasing the overall solution concurrency
- Improved short query read performance with AAS as a caching layer
- Reduce overall solution cost by lowering DWU levels for SQL DW with query offloading
Below is an example of a customer with an optimal DWU level but still had ~3-4% of its queries queued due to a variety of query types competing for concurrency on the data warehouse. Azure Analysis Services can offload small read queries from the dashboard and data wrangling tool. The effect on lowering queued queries is very visible.
Figure 1 - Time continuity not representative
~6.5% of queries queued |
~0.3% of queries queued |
Create an Analysis Services cube from SQL DW in 2 minutes!
Creating a model from SQL DW is extremely easy and can be done through Azure portal. In this example, we have a SQL Data Warehouse instance. In this example, we have selected an S0 pricing tier. You can always upgrade later on or even pause your Azure Analysis Services instance. You can achieve high concurrency and performance for your BI dashboards. You will be able to offload the provisioned capacity for SQL DW and lower your overall data warehouse cost.
Step 1 - Open the Web Designer from an Azure Analysis instance created
Step 2 - Select the server you need and in the model section, Click on + Add
Step 3 - Add Name, Select Azure SQL Data Warehouse, Select the Server, Username/Password and Database name
Step 4 - Select the Tables you want to push and click Create
Step 5 - Click Model and then Edit Relationships to establish connections between your tables
Step 6 - In this example, we connect the subscription ID from the customer database to the table with many subscription IDs with consumption and then save
You can now further develop your model using Visual Studio! With Power BI Desktop and EXCEL you can query the model.
Refresh quickly your data in Azure Analysis Services Use automated partition management
Large datasets normally require table partitioning to accelerate and optimize the data-load process. Partitioning enables incremental loads, increases parallelization, and reduces memory consumption. While we plan to integrate an intuitive UI to decide how you want your model to be updated (e.g. add new partitions, remove old partitions), in the meantime, we recommend visiting the documentation page to implement incremental updates with Azure Analysis Services.
If you need our help for a POC, contact us directly by clicking here. Stay up-to-date on the latest Azure SQL DW news and features by following us on Twitter @AzureSQLDW.