Top 10 Best Practices for Microsoft SQL Server 2008 Analysis Services

Slides:



Advertisements
Similar presentations
MIX 09 4/15/ :14 PM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Advertisements

demo Default WANGPSLookup Default WANGPS.
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
Implementing Business Analytics with MDX Chris Webb London September 29th.
Markus Raatz General Manager ixto GmbH Session Code: DAT302.
Session 1.
Built by Developers for Developers…. © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
Feature: Customer Combiner and Modifier © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are.
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or.
demo Instance AInstance B Read “7” Write “8”

customer.
demo © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
demo Demo.
demo QueryForeign KeyInstance /sm:body()/x:Order/x:Delivery/y:TrackingId1Z
Thavash Govender Senior BI Consultant iSolve Business Solutions BIN307.
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks.
Alyson Powell Erwin Sr. Program Manager Microsoft BIN307.
© 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or.
Sara Ford Program Manager Microsoft Corporation DPR301.

Patrick Ortiz Global SQL Solution Architect Dell Inc. BIN209.
Luke Hoban Senior Program Manager Microsoft Session Code: DTL319.
Scott Morrison Program Manager Microsoft Corporation Session Code: WUX308.
Tech·Ed North America /6/2018 2:20 AM
6/12/ :53 PM DEV311 Deep Dive into Microsoft Visual Studio Team Foundation Server 2010 Reporting Steven Borg, Principal ALM Consultant Northwest.
6/16/2018 © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks.
6/19/2018 © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks.
6/26/2018 9:02 PM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Treasures for Microsoft Business Intelligence, Found on CodePlex
Julie Strauss Senior Program Manager Microsoft
9/11/2018 5:53 PM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
TechEd /13/2018 7:46 PM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
Tech·Ed North America /14/2018 7:13 PM
Tech·Ed North America /15/2018 3:31 AM
Optimizing Microsoft SQL Server 2008 Applications Using Table Valued Parameters, XML, and MERGE
Enriching your BI Semantic Models with Data Analysis Expressions (DAX)
Sysinternals Tutorials
TechEd /24/2018 6:19 AM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered.
Jason Zander Unplugged
Brian Keller Sr. Technical Evangelist Microsoft Session Code: DEV310
12/5/2018 3:24 PM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Tech·Ed North America /7/2018 2:51 PM
Ben Robb MVP, SharePoint Server cScape Ltd Session Code: OFS207
12/27/ :01 PM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Data Driven ASP.NET Web Forms Applications Deep Dive
Tech·Ed North America /17/2019 1:47 AM
1/17/2019 9:05 PM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Tech·Ed North America /17/2019 6:01 PM
Brian Keller Sr. Technical Evangelist Microsoft Session Code: DEV310
Peter Provost Sr. Program Manager Microsoft Session Code: DEV312
Building Silverlight Apps with RIA Services
8/04/2019 9:13 PM © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Windows 8 Security Internals
Виктор Хаджийски Катедра “Металургия на желязото и металолеене”
TechEd /28/2019 7:58 AM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
Enriching your BI Semantic Models with Data Analysis Expressions (DAX)
2010 Microsoft BI Conference
Tech·Ed North America /25/ :53 PM
Hack-proofing your Clients using Windows 7 Security!
Шитманов Дархан Қаражанұлы Тарих пәнінің
Lap Around the Windows Azure Platform
Code First Development in Microsoft ADO.NET Entity Framework 4.1
Building BI applications using PowerPivot for Excel
7/5/2019 © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks.
Tech·Ed North America /7/2019 2:30 PM
What’s New in Visual Studio 2012 for Web Developers
WCL425 App Compat for Nerds Chris Jackson.
Presentation transcript:

Top 10 Best Practices for Microsoft SQL Server 2008 Analysis Services Markus Raatz General Manager ixto GmbH Session Code: DAT302

A Brief History Of Best Practices For Analysis Services 2005, design hints were hard to find: Project REAL Microsoft Whitepapers Several blogs: Chris Webb, Mosha Pasumansky, Marco Russo, Darren Gosbell, Vidas Matelis, many many more Design best practices are built into Analysis Services 2008: AMO Design Warnings are part of the object model for creating and modifying cubes Reference Implementation, End-to-End, At Scale, Lots of Users http://www.microsoft.com/SQL/BI/ProjectREAL

Best Practices in Detail Some statistics on the 48 design warnings

User-Defined Hierarchies: Create attribute relationships between the levels Unfavorable (Default!): Beneficial: Day Day Month Month Quarter Quarter Year Year 1

User-Defined Hierarchies: Avoid hierarchies without attribute relationships “Natural hierarchies” should always be supported by 1:n attribute relationships between every pair of adjacent levels “Reporting hierarchies” are built on the fly during queries Customers by Geography Customers by Demographics Country Marital State Gender City Customer Customer 1

Attributes and Attribute Relationships: Define attribute relationships as “Rigid” Rigid v/s flexible relationships (default is flexible) Customer -> City, Customer -> PhoneNo are flexible Customer -> BirthDate, City -> State are rigid When you ProcessUpdate a dimension with flexible attribute relationships, all aggregations are dropped and must be recreated using ProcessFull ProcessIndexes Process Affected Objects Lazy Processing 2

Attributes and Attribute Relationships: Use numeric key columns for attributes Makes your dimensions smaller and faster to query Will also speed up processing! Create Attributes Sparingly See the modified default behavior of the dimension wizard 3

Best Practices Hints for Attribute Relationships demo Best Practices Hints for Attribute Relationships Markus Raatz General Manager ixto GmbH

Dimensions: No more than 3 parent-child dimensions per database Employee Manager The Board <None> SteveB BillG JimAll PaulMa BobMu TodN DavidV PaulFle Parent-child dimensions don‘t use aggregations on intermediate levels Custom rollups, unary operators and semi-additive measures add to the complexity BOL: „to prevent poor query performance, those parent-child dimensions should only be used when necessary“ 4

Dimensions: Unary operators and custom rollups + Profit Account Dimension ID Name Parent Op Rollup 1 Profit (null) + 2 Income 3 Expense - 4 Taxes 5 Headcount ~ [Account].&[HC] + Income - Expense - Taxes ~ Headcount Unary operators can also be *, / and any numerical value Custom member formulas can contain any MDX statement 4

Dimensions: Avoid large parent-child dimensions Parent-child dimensions with more than 500.000 members are considered large Normalize them, create attributes and hierarchies If your client application supports it, create ragged hierarchies using the HideMemberIf-property of a level in the hierarchy No states! 5

ROLAP and MOLAP Storage: Don’t use ROLAP together with unary operators or custom rollups MOLAP is much faster than ROLAP in any case Main reason: data compression and indexing Caveat: requires cube processing ROLAP actually creates a SQL query against the source database Enables “real-time OLAP” Users can modify custom member formulas immediately Even with medium size data sets, it’s just too slow! 6

Parent-Child Dimensions with the Works demo Parent-Child Dimensions with the Works Markus Raatz General Manager ixto GmbH

Error Handling: Do not ignore duplicate key errors Duplicate, null, incorrect or missing keys are detected during processing Specify the ErrorConfiguration of the object in the project rather than in the processing task Default for KeyDuplicate is IgnoreError Use this only during prototyping! 7

Measures and Measure Groups: Avoid creating identical measure groups, restrict to 15 Mind the design alternatives: one cube for all, with many measure groups, or one cube per measure group connected via linked measure groups? Obvious reason for “split cubes”, besides performance: Standard Edition doesn’t have perspectives! „Virtual“ Company Cube Production Purchase Sales Company Cube Pro-duction Pur-chase Sales „split cubes“ 8

Cube Partitions: Too many partitions, not enough partitions A partition should have between 2 million and 20 million rows A partition should be between 50 MB and 250 MB in size Near real-time demands might require partitions that are often too small! 2007 2008 Week 48 Week 49 Week 50 Week 51 Week 52 Q3 Week 1 Week 2 Week 3 Week 4 Week 5 Q2 … … Q1 9

Aggregations: Design aggregations for partitions larger than 500,000 rows The default is 0% aggregations Don’t spend too much time in the new Aggregations Designer Check if your aggregations are really being used, in SQL Server Profiler 10

Summary Watch out for the „blue sqiggly“! Open your SSAS 2005 projects in BIDS 2008 Don‘t take it too seriously…. Analysis Services design hints don‘t cover everything: MDX calculations Hardware layout and configuration AggregationUsage for attributes Better keep reading blogs and good books!

question & answer

Resources Required Slide Speakers, www.microsoft.com/teched TechEd 2009 is not producing a DVD. Please announce that attendees can access session recordings at TechEd Online. Resources www.microsoft.com/teched Sessions On-Demand & Community www.microsoft.com/learning Microsoft Certification & Training Resources http://microsoft.com/technet Resources for IT Professionals http://microsoft.com/msdn Resources for Developers

Complete an evaluation on CommNet and enter to win an Xbox 360 Elite!

Required Slide © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.