Creating HIGH PERFORMANCE TABULAR MODELS

Slides:



Advertisements
Similar presentations
Framework Manager and Transformer Tips
Advertisements

Adam Jorgensen Pragmatic Works Performance Optimization in SQL Server Analysis Services 2008.
Cubes for Flat Table Land
SQL SERVER 2012 XVELOCITY COLUMNSTORE INDEX Conor Cunningham Principal Architect SQL Server Engine.
Dos and don’ts of Columnstore indexes The basis of xVelocity in-memory technology What’s it all about The compression methods (RLE / Dictionary encoding)
Microsoft Access vs. Microsoft Powerpivot
Albert van Dok SQL Zaterdag 12 november Background Life Before BISM What is BISM BISM Positioning Questions.
Performance Tuning Cubes and Queries in Analysis Services 2008 Chris Webb
The 20-Minute Tabular Model Bill Anton Prime Data Intelligence.
BI Terminologies.
The 20-Minute Tabular Model Bill Anton Prime Data Intelligence.
Sales Dim Date Dim Customers Dim Products Dim Categories Dim Geography The data warehouse is a simple and standard one, after all we.
Data Management Conference Performance & Scalability Simon Sabin London September 29th.
SQL Server Analysis Services Understanding Unified Dimension Model (UDM)
BISM Introduction Marco Russo
--A Gem of SQL Server 2012, particularly for Data Warehousing-- Present By Steven Wang.
OM. Platinum Level Sponsors Gold Level Sponsors Pre Conference Sponsor Venue Sponsor Key Note Sponsor.
Or How I Learned to Love the Cube…. Alexander P. Nykolaiszyn BLOG:
Getting Started with Tabular July 11, Phillip Labry  Sr. BI Engineer  IT development for over 25 years  Developer, DBA, Business Intelligence.
Doing fast! Optimizing Query performance with ColumnStore Indexes in SQL Server 2012 Margarita Naumova | SQL Master Academy.
Extending and Creating Dynamics AX OLAP Cubes
Performance Monitoring for SQL Server Analysis Services Stan Geiger #506 | Baltimore BI 2016.
Review DirectQuery in SSAS 2016, best practices and use cases
John Tran Business Program Manager, The Suddath Companies
Serve as Director Funded by the Louisiana Department of Transportation and Development Developed LaCrash application to electronically capture crash.
Creating Database Objects
45 Minutes to Your First Tabular Model
Building Tabular Models
45 Minutes to Your First Tabular Model
Let’s Build a Tabular Model in Azure
Still a Toddler but growing fast
What’s new in SQL Server 2017 for BI?
Frontline Analytics | Brett Powell
Power BI Performance Tips & Tricks
- 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.
ABC! Always Be…. Coding (calculated measures)
Database Performance Tuning and Query Optimization
Modeling and Analytics Features Coming in Analysis Services vNext
SSAS Tabular Toolbelt Sergiy Lunyakin.
Introduction to SQL Server Analysis Services
Blazing-Fast Performance:
Analysis Services for the Absolute Beginner
Toolkit for DAX Optimization
Power BI Performance …Tips and Techniques.
Introduction to tabular models
Introduction to tabular models
The Key to the Database Engine
SQL Server Analysis Services Fundamentals
Agenda Database Development – Best Practices Why Performance Matters ?
Welcome! Power BI User Group (PUG)
Steve Hood SimpleSQLServer.com
Power BI for large databases
Data Types & File Size Calculations
In Memory OLTP Not Just for OLTP.
Data Modeling and Prototyping
Clustered Columnstore Indexes (SQL Server 2014)
Power BI with Analysis Services
Chapter 11 Database Performance Tuning and Query Optimization
Let’s Build a Tabular Model in Azure
In Memory OLTP Not Just for OLTP.
Applying Data Warehouse Techniques
Let’s Build a Tabular Model in Azure
Dashboard in an Hour Using Power BI
Using Columnstore indexes in Azure DevOps Services. Lessons learned
Creating Database Objects
Using Columnstore indexes in Azure DevOps Services. Lessons learned
Processing Tabular Models
Dax for most data professionals
Data Modeling and Prototyping
Presentation transcript:

Creating HIGH PERFORMANCE TABULAR MODELS James BERESFORD DIRECTOR AGILE BI SYDNEY, AUSTRALIA

Creating High Performance Tabular Models Thinking Tabular Compression Snowflaking and Stars Complexity Loading Performance Security Server stuff 2 | 11/21/201811/21/2018

A little about me www.bimonkey.com @BI_Monkey www.agilebi.com.au 3 | 11/21/201811/21/2018

Thinking Tabular Tabular and OLAP are different Tabular and SQL are different I will guide you to new thinking! 4 | 11/21/201811/21/2018

Compression #1 – How it works A few clever things going on but… Dictionary Compression is the one that matters the most 5 | 11/21/201811/21/2018

Compression #1 – Dictionary Compression Values are translated to Keys Value Key Bob Smith 1 Fred Gorilla 2 Jane Chimp 3 Single Byte Many Bytes 6 | 11/21/201811/21/2018

Compression #1 – Dictionary Compression Value Key Amount Bob Smith 1 23.50 Fred Gorilla 2 10.99 Jane Chimp 3 11.99 23.78 22.98 1.05 7.66 What you see is not what the engine is storing Displayed but not stored 7 | 11/21/201811/21/2018

Compression #2 – Not all Data is equal Some data compresses better than others, or is more efficient generally Good OK Bad Repeated Text Date Unique Text Integers Decimals (less dp the better) DateTime Boolean Currency Floats 8 | 11/21/201811/21/2018

Compression #3 - Repetition Repetition is ok Repetition is ok 9 | 11/21/201811/21/2018

Compression #3 - Repetition Many rows of data is often better than many columns vs 10 | 11/21/201811/21/2018

Compression #4 – Digging in SSAS DMV DISCOVER_OBJECT_MEMORY_USAGE 11 | 11/21/201811/21/2018

Compression #4 – Digging in Handily, I built an explorer http://www.bimonkey.com/2014/12/exploring- memory-usage-in-tabular-models/ 12 | 11/21/201811/21/2018

Compression #4 – Digging in Demo! Not all data is equal Rows vs Columns User Experience 13 | 11/21/201811/21/2018

Relationships are expensive Snowflaking Relationships are expensive 14 | 11/21/201811/21/2018

Snowflaking Flatten Everything 15 | 11/21/201811/21/2018

Snowflaking – OLAP style Animal Gorilla Orang Utang Grey Hippo Dwarf Hippo Zebra Normal Horse This Graffe That Giraffe Great White Etc… Animal SubCategory Great Apes Regular Apes Hippopotamuses Horses Giraffes Sharks Freshwater Eels Animal Category Apes Ungulates Fish 16 | 11/21/201811/21/2018

Snowflaking – Tabular style Animal Category SubCategory Apes Great Apes Gorilla Regular Apes Orang Utang Ungulates Hippopotamuses Grey Hippo Dwarf Hippo Horses Zebra Normal Horse Giraffes This Graffe That Giraffe Fish Sharks Great White Etc… 17 | 11/21/201811/21/2018

Snowflaking – Tabular style Demo! Hierarchies User Experience 18 | 11/21/201811/21/2018

Snowflaking – Tabular style Need to flatten to get hierarchies anyway Relationships cost Repetition is ok 19 | 11/21/201811/21/2018

Stars Simple stars are ok! Use Integer Keys* There is a cardinality limit around 2m keys per query * This needs validating 20 | 11/21/201811/21/2018

Complexity Complex stars are less ok Many to Many handling is not great But it does work… The more relationships to navigate, the more likely it is to break After a point the processing kills the model 21 | 11/21/201811/21/2018

Loading – what can you control? Compresses Reads Data Row Calculations Processing Complete Builds Relationships 22 | 11/21/201811/21/2018

ETL is more efficient than Cube Use Columnstores Use Views to abstract Loading ETL is more efficient than Cube Use Columnstores Use Views to abstract Reduce the work involved in processing just to compression and building relationships 23 | 11/21/201811/21/2018

Learn to love DAX Studio Performance Storage Engine Good Formula Engine Bad Learn to love DAX Studio 24 | 11/21/201811/21/2018

Performing – Storage Engine Brute force scanning of memory Fast, sub second responses over vast data Storage – Brute Scanning Simple but Fast 25 | 11/21/201811/21/2018

Performing – Formula Engine Single Threaded calculations Biggest Bottleneck Formula – CPU Calculations Complex but Slow 26 | 11/21/201811/21/2018

Badly written security slows everything down Same rules apply to security as to all other calculations 27 | 11/21/201811/21/2018

Demo: Hierarchy walking approaches Security Demo: Hierarchy walking approaches 28 | 11/21/201811/21/2018

25GB/s - $9/GB 1GB/s - $0.03/GB Server Stuff Memory overhead = 3x Cube size Caches Query Execution NEVER RUN OUT OF MEMORY!! 25GB/s - $9/GB 1GB/s - $0.03/GB 29 | 11/21/201811/21/2018

More, faster RAM Faster CPU NUMA issues Server Stuff 30 | 11/21/201811/21/2018

A Big Thanks to our Sponsors