Het BI Semantic Model en Analysis Services Tabular Mode
Toen Microsoft in SQL Server 2005 het UDM introduceerde (Unified Dimensional Model), was er veel verwarring over wat dat nu eigenlijk was. Hadden we geen relationele database meer nodig? Kon je een OLAP database querieën met SQL? L’histoire se répète zeggen de Fransen, want in SQL Server 2012 hebben we een nieuwe afkorting die tot verwarring leidt: het BISM oftewel het Business Intelligence Semantic Model. “Eén model voor alle eindgebruikers” belooft Microsoft. Een model wat je met alle eindgebruiker tools kunt gebruiken: Excel, Power View, noem maar op. Gebruik je liever DAX dan MDX? Jouw keuze. Maar wat is het BISM nu echt?
Eigenlijk kennen we het BISM al, tenminste, als je PowerPivot kent. Want eigenlijk bevatte PowerPivot onder water BISM versie 1. Het BISM wat nu geïntroduceerd wordt, is BISM versie 2. Het is gewoon Analysis Services dat is uitgebreid met extra mogelijkheden. We hebben nog steeds het ‘ouderwetse’ Analysis Services, een OLAP database die je met MDX kunt querieën en waar je als modelleur de keuze hebt om de data in een multidimensionale structuur op te slaan (MOLAP) of in de source database te laten staan waarbij de OLAP database alleen maar een logische, semantische laag is (ROLAP). Daar komt nu bij de Analysis Services variant zoals die in PowerPivot werd geïntroduceerd: de tabular mode variant, de Vertipaq in-memory, column store database met tabellen en relaties in plaats van kubussen en dimensies. Deze voor de server nieuwe variant is nog uitgebreid met een ROLAP tegenhanger: DirectQuery. Ook hierbij blijft de data in de source database staan en fungeert de tabular mode database als logische, semantische laag. Onderstaande figuur schetst het BISM (zie ook Cathy Dumas’s blog).
Nogmaals: het BISM is gewoon Analysis Services 2012, niet meer, niet minder. Als ontwikkelaar heb je daarin meer keuzes. Maak je een database op de ‘klassieke’ manier (en voor veel toepassingen nog steeds zeer relevante manier), of ga je voor de voordelen van de nieuwe Tabular Mode database. De grootste voordelen daarvan zijn snelheid, zowel in het bouwen als in het gebruik. Als gebruiker zou je van deze keuze niets moeten merken, want het BISM zou zowel MDX als DAX queries moeten ondersteunen. Zover is het echter nog niet, en dat draagt bij aan de verwarring. Het gloednieuwe Power View bijv. (bij velen misschien beter bekend als Project Crescent) genereert uitsluitend DAX queries en Analysis Services in multidimensional mode ondersteunt alleen MDX. Power View vereist dus een tabular mode database. Maar die tabular mode database kun je wél met alle bestaande tools gebruiken, omdat Analysis Services in tabular mode zowel DAX als MDX ondersteunt. Helaas wel weer met één uitzondering: wanneer je kiest voor DirectQuery, dan wordt alleen DAX ondersteund…
Het BISM is dus nog niet af. Maar als het af is (dit zal via een feature pack of iets dergelijks gebeuren na de release van SQL Server 2012), kun je als ontwikkelaar een Analysis Services database ontwerpen, dimensionaal of tabular, die met ieder willekeurig tool met DAX of MDX queries gebruikt kan worden. Dat is uiteindelijk het BISM. Gewoon Analysis Services 2012!