SQL Server Analysis Services Introduction to Tabular Mode and BISM Josh Fennessy • BI Architect – BlueGranite, Inc (http://www.blue-granite.com) Agenda • • • • • Analysis Services – before today The BI Semantic Model Tabular Mode Architecture Demonstration Review / questions / comments A brief history SQL SERVER ANALYSIS SERVICES SSAS’ story • Based on OLAP technology purchased by MSFT from Panorama Software in ’96 • Officially released in ’98 as ‘OLAP Services’ in SQL 7.0 • Renamed in SQL 2000 to SSAS • Many new features delivered in SSAS 2005 – Data mining – UDM ANALYSIS SERVICES TODAY Broad adoption “Customers in the Magic Quadrant survey report that their Microsoft average deployment sizes are now larger than any other vendor in the survey in terms of users.” “Use of OLAP functionality by Microsoft customers is more than double that for the rest of the survey respondents.” Source: Gartner Magic Quadrant for BI Platforms, 2011 Large ecosystem "Wide availability of skills is among the top reasons customers select Microsoft over competing vendors.” Source: Gartner Magic Quadrant for BI Platforms, 2011 Highest rated infrastructure and development tools “Microsoft customers rate its BI platform infrastructure and development tools among the highest compared to other vendors, and a higher percentage of customers use them extensively.” Source: Gartner Magic Quadrant for BI Platforms, 2011 ANALYSIS SERVICES TOMORROW Build on the strengths and success of Analysis Services and expand its reach to a much broader user base Bring together the relational and multidimensional models under a single unified BI platform – best of both worlds! Embrace the relational data model – well understood by developers and IT Pros Provide flexibility in the platform to suit the diverse needs of BI applications Business Intelligence Semantic Model BI SEMANTIC MODEL One Model for all End User Experiences Client Tools Analytics, Reports, Scorecards, Dashboards, Custom Apps BI Semantic Model Data model Business logic and queries Data access Data Sources Databases, LOB Applications, OData Feeds, Spreadsheets, Text Files Personal BI PowerPivot for Excel Team BI Organizational BI PowerPivot for SharePoint Analysis Services BI Semantic Model What about existing Analysis Services applications? Existing applications Existing applications New applications Based on Unified Dimensional Model Every UDM becomes a BI Semantic Model New technology options After RTM “Denali” BISM ARCHITECTURE Third-party applications Reporting Services Excel SharePoint Insights PowerPivot BI Semantic Model Data model Multidimensional Tabular MDX DAX Business logic and queries Data access Databases LOB Applications ROLAP Files MOLAP OData Feeds VertiPaq Direct Query Cloud Services BISM FEATURES Flexibility Richness • Multi-dimensional and tabular modeling experiences • Rich data modeling capabilities • MDX and DAX for business logic and queries • Sophisticated business logic using MDX and DAX • Cached and passthrough storage modes • Fine-grained security – row/cell level • Choice of end-user BI tools • Enterprise capabilities – multi-language and perspectives Scalability • VertiPaq for high performance, MOLAP for mission critical scale • DirectQuery and ROLAP for real-time access to data sources • State-of-the-art compression algorithms • Scales to largest enterprise servers SCENARIO: EXCEL OVER SALES MODEL End User SQL Server Dynamics CRM Model Developer WHAT DOES BISM DO FOR ME? Quiz time! Pick which one is a Tabular Model. SSAS DATA ACCESS & STORAGE In-memory column store… typical 10x compression Brute force memory scans… high performance by default… no tuning required Basic paging support… data volume mostly limited to physical memory Passes through DAX queries & calculations… fully exploits backend database capabilities No support for MDX queries… no support for data sources other than SQL Server (in Denali) Disk based store… typical 3x compression Disk scans with in-memory subcube caching… aggregation tuning required Extensive paging support… data volumes can scale to multiple terabytes Passes through fact table requests… not recommended for large dimension tables Supports most relational data sources… no support for aggregations except SQL Server indexed views CUSTOM CALCULATIONS DAX Based on Excel formulas and relational concepts – easy to get started Complex solutions require steeper learning curve – row/filter context, Calculate, etc. Calculated columns enable new scenarios, however no named sets or calc members MDX Based on understanding of multidimensional concepts – higher initial learning curve Complex solutions require steeper learning curve – CurrentMember, overwrite semantics, etc. Ideally suited for apps that need the power of multidimensional calculations – scopes, assignments, calc members HOW SHOULD I BUILD MY SSAS SOLUTION? Two Visual Studio (BIDS) project types in Denali Multidimensional project – with MDX and MOLAP/ROLAP Tabular project – with DAX and VertiPaq/DirectQuery Some Considerations Favors Tabular/DAX Favors Multi-dim/MDX • • • • • • • • Cube write-back needed? Parent/Child needed? 4/4/5 Fiscal Calendars Excessive Many to Many Extreme data volumes Large MD investment? Large RAM footprint a negative? Financial models (budgeting/forecasting) • • • • • • • Real-time (Direct Query) Counting what’s not present Excel-based Modeling Attractive? Non-relational data sources? In-memory performance benefit Lower learning curve desirable? Simpler models (Sales, OLTP transaction analysis, etc.) OTHER THOUGHTS… Multidimensional isn’t dead DAX doesn’t address some common modeling requirements Vertipaq has more limited storage (models must fit in RAM) Many simple data modeling tasks are easier in DAX; many complex ones are easier in MDX As DAX/BISM evolves it will close the gap, but not for a couple years At RTM Power View is a Tabular-only technology This will probably force a decision to tabular in some scenarios Business Analytics is complex no matter what expression language is used DAX isn’t a silver bullet, but it probably is easier to learn to implement basic/intermediate calculations than MDX for those new to OLAP Should I port my Multidimensional cube to Tabular during migration? If calculations aren’t complex and all necessary features are available in Tabular Mode/DAX, you should consider doing so to achieve better performance and Power view support If the existing calculations and installed OTHER THOUGHTS… Process for Multidimensional to Tabular migration Evaluate features in the gap Many-to-many (can be done in calculations however) Parent/Child Cube writeback Calculated members Etc. How difficult to rewrite calculations in DAX? Is the data too large for Tabular mode? (terabytes+) Will the server have enough RAM? Existing application impact? Does Tabular/DAX solve unmet needs? Multi-select issues in calculations Counting what’s not there needs Performance issues (ad-hoc w/o aggregation issues) Demo REVIEW • BISM is designed to make USER experience smoother • Complexity still exists in data modeling • Multi-dimensional is not gone • DAX is still complex THANK YOU! Questions? Email me - jfennessy@blue-granite.com