Book Image

SQL Server Analysis Services 2012 Cube Development Cookbook

Book Image

SQL Server Analysis Services 2012 Cube Development Cookbook

Overview of this book

Microsoft SQL Server is a relational database management system. As a database, it is a software product whose primary function is to store and retrieve data as requested by other software applications. SQL Server Analysis Services adds OLAP and data mining capabilities for SQL Server databases. OLAP (online analytical processing) is a technique for analyzing business data for effective business intelligence. This practical guide teaches you how to build business intelligence solutions using Microsoft’s core product – SQL Server Analysis Services. The book covers the traditional multi-dimensional model which has been around for over a decade as well as the tabular model introduced with SQL Server 2012. Starting with comparing MultiDimensional and tabular models – discussing the values and limitations of each, you will then cover the essential techniques for building dimensions and cubes. Following on from this, you will be introduced to more advanced topics, such as designing partitions and aggregations, implementing security, and synchronizing databases for solutions serving many users. The book also covers administrative material, such as database backups, server configuration options, and monitoring and tuning performance. We also provide a primer on MultiDimensional eXpressions (MDX) as well as Data Analysis expressions (DAX) languages. This book provides you with data cube development techniques, and also the ongoing monitoring and tuning for Analysis Services.
Table of Contents (19 chapters)
SQL Server Analysis Services 2012 Cube Development Cookbook
Credits
About the Authors
About the Reviewers
www.PacktPub.com
Preface
Index

Performance considerations for many-to-many dimension relationships


As you learned in Chapter 3, Creating Analysis Services Cubes, many-to-many dimension relationships allow modeling complex business requirements, but this design option should not be abused because it is associated with a performance penalty. When your query involves many-to-many dimension relationships, Analysis Services retrieves data from both measure groups (data measure group and intermediate measure group) as well as the intermediate dimension; subsequently SSAS joins the results of these queries in memory before deriving the result set returned to the requesting application. Since, we cannot materialize many-to-many relationships, we must try to minimize their usage and look for opportunities to tune performance using other methods. The best way to optimize many-to-many relationships is to minimize the size of the intermediary measure group, thereby reducing the footprint required for retrieving intermediary measure group's data into memory, as well as the time it takes to join results to the primary measure group's data. Additionally, you can build suitable partitions and aggregations on data and intermediate measure groups to further reduce the size of data sets that will be joined during the query execution time.

Microsoft has published a white paper documenting the recommended practices for tuning many-to-many query performance. You can download the white paper from http://www.microsoft.com/en-us/download/details.aspx?id=137.