ROLAP partitioning in MS SQL Server 2016

Slides:



Advertisements
Similar presentations
SQL Server Accelerator for Business Intelligence (SSABI)
Advertisements

OLAP Services Business Intelligence Solutions. Agenda Definition of OLAP Types of OLAP Definition of Cube Definition of DMR Differences between Cube and.
SOFTWARE PRESENTATION ODMS (OPEN SOURCE DOCUMENT MANAGEMENT SYSTEM)
Calendar Browser is a groupware used for booking all kinds of resources within an organization. Calendar Browser is installed on a file server and in a.
Real-Time Business Intelligence with SQL Server 2005 Analysis Services.
Analysis Services 101 Dave Fackler, MCDBA, MCSE, MCT Director, Business Intelligence Practice Intellinet Corporation.
Performance Tuning Cubes and Queries in Analysis Services 2008 Chris Webb
Crystal And Elliott Edward M. Kwang President. Crystal Version Standard - $145 Professional - $350 Developer - $450.
IMS 6217: Data Warehousing / Business Intelligence Part 3 1 Dr. Lawrence West, Management Dept., University of Central Florida Analysis.
MSBI online training. MSBI Online Training Course Content : What Is Microsoft BI? Core concept – BI is the cube or UDM Example cube as seen using Excel.
Physical Database Design & Performance. Optimizing for Query Performance For DBs with high retrieval traffic as compared to maintenance traffic, optimizing.
Administrator – Employee Overview September, 2011.
IS 221: DATABASE ADMINISTRATION Lecture 6:Create Users & Manage Users. Information Systems Department 1.
Database Unit Test MSSQL 2008 & VS 2010 Aung Kyaw Myo.
BI Terminologies.
Crystal And Elliott Edward M. Kwang President. Objective A brief demo of Crystal Report to entice you –People spend thousand of dollars to attend Crystal.
Designing Aggregations. Performance Fundamentals - Aggregations Pre-calculated summaries of data Intersections of levels from each dimension Tradeoff.
An Alternative Plan Virgil Bierschwale. Redesign Effort? In the “Outline of Redesign Effort” proposal that I received from Scott Henson, we find a massive.
SSMS SQL Server Management System. SQL Server Microsoft SQL Server is a Relational Database Management System (RDBMS) Relational Database Management System.
MSBI ONLINE TRAINING Techverze. Introduction to MSBI Microsoft Business Intelligence delivers quality data and analyst can measure, manage and improve.
Diving into Query Execution Plans ED POLLACK AUTOTASK CORPORATION DATABASE OPTIMIZATION ENGINEER.
Upgrade on Windows 7. DownloadSoftware Download Software from link provided in Webliography: e/
PROJECT ORIENTED ONLINE TRAINING ON MSBI (IS,AS,RS)
SQL IMPLEMENTATION & ADMINISTRATION Indexing & Views.
Data Mining & OLAP What is Data Mining? Data Mining is the set of activities used to find new, hidden, or unexpected patterns in data.
Extending and Creating Dynamics AX OLAP Cubes
Review DirectQuery in SSAS 2016, best practices and use cases
3 A Guide to MySQL.
SQL Server Analysis Services Fundamentals
DBMS Programs MS SQL Server & MySQL
How to Start SQL Server and SSDT BI in Local
SQL Backups for Beginners by Mark Gordon
Visual Basic 2010 How to Program
Effective T-SQL Solutions
Performance Data Collection and Reporting (PDCR)
Using a Gateway to Leverage On-Premises Data in Power BI
Introduction to SQL Server Analysis Services
- for the SSASMD Developer
6/12/2018 2:19 PM BRK3245 DirectQuery in Analysis Services: best practices, performance, and use cases Marco Russo SQLBI © Microsoft Corporation. All rights.
Report Builder as Self Service BI Solution
6/19/2018 © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks.
Data Virtualization Tutorial… Semijoin Optimization
22-INTEGRATION HUB
Deploying and Configuring SSIS Packages
Installation and database instance essentials
Excel-to-PowerPoint Document Automation
TechEd /13/2018 7:46 PM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
Using a Gateway to Leverage On-Premises Data in Power BI
1Z0-477 VCE Questions
Download Free Verified Microsoft Study Material Exam Dumps Realexamdumps.com
AlwaysOn Availability Groups 101
Buy Valid Microsoft Exam Study Guide Dumps Questions Answers Realexamdumps.com
SQL Backups for Beginners by Mark Gordon
SQL Server Analysis Services Fundamentals
SQL Server Analysis Services Fundamentals
Getting Your DB Schema Under Control With SSDT
Downloading and Installing SQLExpress
TechEd /24/2018 6:19 AM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered.
Welcome to SQL Saturday Denmark
Module 12: Implementing an Analysis Services Tabular Data Model
Table Partitioning Intro and make that a sliding window too!
SSDT and Database Project Basics
Table Partitioning Intro and make that a sliding window too!
Table Partitioning Intro and make that a sliding window too!
Diving into Query Execution Plans
PlanUW Implementation
Take-off Products and Solutions for Public Information Providers
Analysis Services Analysis Services vs. the Data Warehouse vs. OLTP DB
Michelle Haarhues Keeping up with SSMS.
Ch 10. Maintaining and Automating SQL Server
Presentation transcript:

ROLAP partitioning in MS SQL Server 2016 Proof of concept with change queries, sample DB and VS project

What is included in this presentation .rar file on 6th slide with Visual Studio project and SQL, MDX and XMLA queries to see how MOLAP and ROLAP partitions work .rar has Sample OLTP working database .rar contains Steps.txt file with steps how to configure permissions for SSAS service account used by Cubes to get data and retrieve notification about changes in OLTP Dimension partitioning Defining slices for cube partitions

Content: Theory of partitioning and difference between ROLAP and MOLAP partitions in cube and dimension 2. Use case with part of WWI (World Wide Importers) on SQL Server 2016 and VS 2015 project Conclusion and other sources

Theory of partitioning and difference between ROLAP and MOLAP partitions in cubes To get fresh data in SSAS MOLAP cube processing is needed This could take significant amount of time. Negative impact is a lag in displayed data Solution – use ROLAP cube, which retrieves data directly from OLTP database without processing ROLAP cube is slower than MOLAP cube because data needs to go from OLTP to SSAS database. See picture on next slide. Partitions in cube could be separated into to MOLAP part and ROLAP part. MOLAP part needs to be processed go get fresh data while ROLAP part goes directly to OLTP database to get data. Such a cube, will take majority of data from MOLAP partition (like all years before) and last year takes from ROLAP partition. To get desired results, ROLAP have smaller portion of data than MOLAP. Result – Fast cube (slower than pure MOLAP) but with actual data (actual for last year)

Theory of partitioning and difference between ROLAP and MOLAP partitions in cubes

2. Use case with part of WWI (World Wide Importers) on SQL Server 2016 and VS 2015 project For demonstration of ROLAP partitioning use sample database in folder Databases + installation “Steps.txt” Be careful about permissions. To make ROLAP cube work is needed to setup correct permissions for SSAS Service account in OLTP Server with ALTER Trace permission. Without this, partition in cube will not get notification about changed data and will not know, that something changed in data.

2. Use case with part of WWI (World Wide Importers) on SQL Server 2016 and VS 2015 project ROLAP cubes have two partitions, divided according date dimension Two cubes “AmountROLAPtableBinding” and “AmountROLAPqueryBinding” have two partitions for each – one MOLAP (previous years) and one ROLAP (current year) Cube “AmountMOLAP” has one MOLAP partition See queries in folder /Queries. Run “Measure Change Queries.sql”. There are two inserts which write new sale of product with today’s date. Last select displays results, which should give MDX queries. MDX queries against ROLAP cubes give the same result as SQL query MDX query against MOLAP cube gives the same result after processing database by running XMLA script in “Process SSAS db.xmla” file. Run change query again and see difference

2. Use case with part of WWI (World Wide Importers) on SQL Server 2016 and VS 2015 project Two scenarios exist for splitting data into partitions Table binding – use separate views to get divided data Query binding – use one source and according SQL Query, SSAS divides data into partitions. A “Where” clause in SQL query is mandatory in this case See cube’s “AmountROLAPtableBinding” partitions and their sources. Click on three dots and will see “Table binding” setup. For cube “AmountROLAPqueryBinding” is option “Query binding” picked up and appropriate SQL Query is provided. See “Slice” property for every partition. There is MDX query, which tells to SSAS engine which partition to touch to get data. Appropriate ROLAP partition is identified in SSAS engine running MDX query and SQL query goes to OLTP to get data. This is not happening automatically – notification about data change needs to come into SSAS engine. ROLAP mode is kind of MOLAP mode with enabled “Proactive caching” with zero latency and enabled notifications.

2. Use case with part of WWI (World Wide Importers) on SQL Server 2016 and VS 2015 project If notifications are not setup properly (alter trace permission is not granted to Service account on Server level and “db_datareader” on DB level) ROLAP partition works as MOLAP partition Last setup for partitions is “Slice” property. Slice provides full control about partitions, which will be used for MDX queries, and full speed of the source of data. It is officially recommended as “Good practice” to define slice property for every partition. But, MDX query in this property has several restrictions. We cannot use “Generate” or range “:” to generate data, what restricts significantly MDX queries to define parts of data. List of members could be generated dynamically during object processing by SSIS job. In this example I use simple dividing by years and list all years of Time dimension

2. Use case with part of WWI (World Wide Importers) on SQL Server 2016 and VS 2015 project Same steps are needed as for Measure partitioning until one bug in VS. Go to dimension properties (not member properties), choose storage mode ROLAP and proactive caching “Real-time ROLAP”. But after successful deployment and processing of DB I get error in DB engine running MDX query in SSMS. There is one setting in property “Error Configuration”. After changing dimension mode to ROLAP, VS automatically changes dimension’s “Error Configuration” property to “Custom”. This causes errors during running MDX queries. Change this property “Default” and process. MDXs should run without error now. After this change I changed “Error Configuration” property back to “Custom” and it works also.

2. Use case with part of WWI (World Wide Importers) on SQL Server 2016 and VS 2015 project To test ROLAP functionality in dimension Customers us second query in file “Dimension Change Queries.sql”. Updates change CustomerID from 83 to 10000 in source database. MDXs use CustomerID = 83, so there will be no result This change proves, that dimension “Customers” is in ROLAP mode so change in OLTP reflects immediately Change influences also MOLAP cube, because use the same ROLAP dimension “Customers”

3. Conclusion and other sources Benefits – it is possible to have actual data from not processed cube This makes sense for large cubes, where processing take more time Cons - changes in OLTP which does not fall in basket of ROLAP partition are not reflected in these cubes until processing See article about how SSAS works with partitions and slice queries: http://sqljason.com/2012/01/set-slice-on-your-ssas-cube-partitions.html See link how to setup SSIS job to generate slice queries during cube processing https://msdn.microsoft.com/en-us/library/ms174764.aspx In case of interest about this area, help with configuration or comments please contact me via LinkedIn - “Andrej Zafka” or via email andrej.zafka@gmail.com Thank you for reading till end