SSAS 2012 : Multidimensionnel et tabulaire au banc d'essai

Post on 20-Jun-2015

2.049 views 1 download

description

SQL Server Analysis Services dans sa version 2012 a introduit la notion de BI Semantic Model, BISM, qui se décline soit en modèle Multidimensionnel, soit en modèle Tabulaire. Les besoins adressés par ces deux modes sont pour une grande part communs, mais les prérequis nécessaires à leur implémentation diffèrent sur de nombreux points qu'il est important de connaître avant de se lancer dans un projet. Durant cette session nous comparerons ces deux modes sur de nombreux critères, qu'ils concernent les administrateurs (infrastructures à mettre en place, maintenabilité, sécurité), les architectes (modélisations relationnelles sous-jacentes et frontaux supportés), les développeurs (techniques d'implémentation, performance des requêtes) et les chefs de projet qu'ils soient techniques ou fonctionnels (cas métier adressés, facilité de mise en place).

Transcript of SSAS 2012 : Multidimensionnel et tabulaire au banc d'essai

SSAS 2012 : Multidimensionnel et

Tabulaire au banc d’essai

François Jehl – Romuald CoutaudConsultants BIInfinite Square

INFINITE SQUARESTAND 44 ESPACE WINDOWS 8 & EXPÉRIENCES NUMÉRIQUES

GOLD Certified Partnersur 4 domaines de compétences.

Agréé CIR.

Centre de formation agréé.

Infinite Square aux TechDays 2013

Société de conseil, d’expertise, de réalisation et de formation exclusivement sur les technologies de développement et la plateforme applicative Microsoft.

30 collaborateurs spécialisés sur les techno MS, dont 10 MVP.

PRESENTATION DE SSAS 2012

Améliorer Analysis Services

Se baser sur les forces et le succès de la plateforme, tout en lui permettant d’atteindre une base plus grande d’utilisateurs

Ajouter au mode multidimensionnel un mode relationnel, plus connu des développeurs

Fournir ces deux possibilités dans une seule et même plateforme, permettant de réunir les points forts des deux mondes.

Disposer d’une plateforme pouvant servir de base à toute application décisionnelle.

Objectifs d’Analysis Services à long

termeBI Semantic Model

BI SEMANTIC MODEL?

5

Outils ClientsAd-hoc, Rapports, Scorecards,

Dashboards, Applications…

Sources de donnéesBases de données, OData,Excel, CSV…

BI d’EquipePowerPivot pour

SharePoint

BI PersonnellePowerPivot pour

Excel

BI d’EntrepriseAnalysis Services

BI Semantic Model

Modèle de conception

Logique métier

Stockage des données

6

BI Semantic Model

DAX MDX

Déploiement

Stockage des Données

Logique métier

Outil de développement

Mode de conception

Type de projet PowerPivot Tabular Multidimensionnel

Excel

DAX

In-MemoryN/A

SharePoint / Analysis Services

PowerPivot

Tabulaire

SSDT

DAX

In-MemoryDirectQuery

Analysis ServicesTabulaire

Tabulaire

SSDT

MDX

MOLAPROLAP

Analysis ServicesMultidimensionnel

Multidimensionnel

Applications Tierces

ReportingServices Excel PowerPivot

SharePointInsights

PowerView

LOB Fichiers OData SQL Azure

Bases dedonnées

BI Semantic Model

Support du DAX dans MD

avec CTP

COMPARAISON DES MOTEURS

• Moteur xVelocity (ex-VertiPaq)– Technologie sous jacente de PowerPivot et du

ColumnStore Index• Compression en colonnes

– Un modèle tabulaire peut être vu comme un index ColumnStore couvrant • Intégralement en mémoire• Dont les relations sont explicitées par un

méta-modèle

Mode tabulaire

Principe de la compression en colonnes

• Moteur MOLAP / UDM– Technologie OLAP

• Stockage nativement multidimensionnel (i.e. tableau à n dimensions à accès hiérarchisé)

• Gestion d’un buffer cache au niveau FE et SE • Gestion de pré-agrégations (Aggregations)

– Scripting très puissant• Possibilité de redéfinir le contenu du cube de

manière dynamique (SCOPE, CustomRollup…)

Mode multidimensionnel

• Tabular Peu de tuning possible, performance optimale dès la mise en production• Ex: DistinctCount

Rapidité au niveau fin Moteur relativement jeune, possibilités de calculs limitées • Pas de SCOPE, pas de membres calculés

Limité à des volumétries tenant en mémoire

Points forts / points faibles

• Multidimensional Performances optimales au niveau agrégé, sur des volumétries de centaines de Go

• MOLAP et Agrégations Puissance du scripting Performances parfois calamiteuses au niveau fin Nécessite de bonnes compétences pour un tuning parfait

• ♫Attribute Relationships… ♫ Ad Lib

Points forts / points faibles

demoCOMPARAISON DES MOTEURS

• DAX, un langage relationnel• SCOPE, où comment tout faire en

multidimensionnel

Démo

FONCTIONNALITÉS AVANCÉESLequel va le plus loin?

• Les deux modèles permettent de définir des perspectives– Vue limitée des cubes par domaine métier

(≠sécurité)

• Mais Multidimensional garde encore une longueur d’avance…

Fonctionnalités avancées

• Les traductions sont de deux types dans SSAS Multidimensionnel– Traductions structurelles (via

<Translations><Caption>)– Traductions de contenu (via NameColumn localisées)

• Aucune des deux n’est officiellement supportée par Tabular

• Mais la XSL du XMLA est la même pour les deux modèles…

Traductions

• Sur le même modèle que les traductions, une part du XMLA non exploité par Tabular– Et donc non supporté là encore– XMLA bien plus complexe cette fois ci…

• Mais les développeurs de BIDS Helper ont la solution!

Actions

demoFONCTIONNALITÉS AVANCÉES

• Création d’AttributeTranslation en XMLA

• Création d’une URL Action avec BIDS Helper

Démo

SCÉNARIOS AVANCÉS DE SÉCURITÉ

• MD gère tous les scénarios de sécurité– Cell Security • Peu utilisé…

– Dimension Security• En statique avec assistants graphiques• En dynamique avec UserName() ou

CustomData()

Sécurité du modèle multidimensionnel

 ”In the presence of cell security a lot of

optimizations are turned off!”

Mosha Pasumansky-26/11/2006

• MD gère tous les scénarios de sécurité– Cell Security – Dimension Security• En statique avec assistants graphiques• En dynamique avec UserName() ou

CustomData()

Sécurité du modèle multidimensionnel

• Membres– Windows User– Windows Groups

• Rôles cumulatifs pour les users membres de plusieurs rôles

• Permissions: – Read, Read & Process, – Process– Administrator

• Expressions DAX par table

Sécurité du modèle tabulaire : Statique

• Données de sécurité stockées en base• Fonction DAX USERNAME()• Fonction DAX LOOKUPVALUE()

Sécurité du modèle tabulaire : Dynamique

LOOKUPVALUE(<result_columnName>,<search_columnName>,<search_value>

[,<search_columnName>,<search_value>]…)

demoSÉCURITÉ DYNAMIQUE

MAINTENANCE

• Assistant de déploiement qui permet de scripter une base OLAP

• Pas d’équivalent pour le modèle Tabulaire pour le moment dans SQL Server……Sauf à utiliser l’utilitaire gratuit BISM Normalizer

Déploiement

• Comparaison de Base SSAS• Réutilisation d’objets tabulaires• Conservation des partitions existantes• Fusion de plusieurs classeurs Power Pivot

vers une base tabulaire• Scripting, déploiement et rapport sur

les modifications entre modèle

BISM Normalizer

demoBISM NORMALIZER

Scripter et déployer une modification d’un modèle Tabulaire

DAX FOR MULTIDIMENSIONAL MODELS

Cumuler les avantages des deux modèles…

• Disponible depuis novembre 2012– Faculté d’interroger les modèles

Multidimensionnels en DAX, et donc depuis PowerView

– Seul le contraire était possible (MDX sur DAX)– Ce qui permettait d’utiliser Excel et tout autre

client compatible avec les modèles tabulaires

DAX for Multidimensional Models CTP

• Reporting Ad-Hoc • sur bases Tabulaires

et Multidimensionnelles

• Excel 2007, 2010, 2013

• Génère du MDX

Tableau Croisé Dynamique d’Excel

• Reporting pour utilisateurs non techniques

• Dans Excel 2013 ou Sharepoint 2010/2013

• Export PowerPoint dynamique depuis Sharepoint

• Génère du DAX

Power View

• Reporting de masse• Intégration forte avec SSAS pour le

MDX depuis la version 2005• Possibilité de requêter en DAX avec

support des paramètres en passant par le concepteur DMX

Reporting Services

xVelocity Storage EngineMOLAP Storage Engine

• Architecture générale

DAX for Multidimensional Models CTP

CSDL Metadata

MDX / DAX Parser

DAX Formul

a Engine

MDX Formul

a Engine

• Intérêts:– Utilisation de PowerView (pas encore pour

Excel )– Le DAX est plus performant sur les niveaux fins• Et ce peu importe le mode de storage• On peut donc imaginer des solutions

mixtes…

DAX for Multidimensional Models CTP

demoCUMULER LES AVANTAGES DES DEUX MODELES AVEC DAXMD

• CSDL Metadata• Power View• Comparaison de requêtes • Usage mixte de Reporting Services• Drill-through customisé avec DAX

Démo

CONCLUSION

• Les bloggeurs célèbres – M. Russo, A. Ferrari, C. Webb, G. Brueckl, T. Lachev…

• Quelques white papers– “Choosing a Tabular or Multidimensional Modeling

Experience in SQL Server 2012 Analysis Services”

• Et les livres de chevet– Performance / Operations Guide, Analysis Services

Unleashed, MDX Cookbook, PowerPivot for Excel, DAX Formulas for PowerPivot…

Références

• Multidimensional pour de la grosse volumétrie, du reporting agrégé, des fonctions analytiques poussées

• Tabular pour des scénarios plus relationnels, et des volumétries plus raisonnables

Deux moteurs complémentaires

• La gestion complète des traductions en tabulaire– Ainsi que des conversions de devises, des

actions…

• Une interprétation de SCOPE par les clients DAX, et la création de membres calculés

• Un mode DirectQuery utilisable

Wishlist – Côté tabulaire

• La sortie rapide de DaxMD– Avant SQL Server 12.0 ?

• Tirer partie du DAX Formula Engine dans la conception du cube– Drill-through?– Certaines typologies de requêtes?

Wishlist – Côté multidimensionnel

Et vous?

Donnez votre avis !Depuis votre smartphone, sur : http://notes.mstechdays.fr

De nombreux lots à gagner toutes les heures !!!

Claviers, souris et jeux Microsoft…

Merci de nous aider à améliorer les TechDays

http://notes.mstechdays.fr