SSAS 2012 : Multidimensionnel et tabulaire au banc d'essai

46
SSAS 2012 : Multidimensionnel et Tabulaire au banc d’essai François Jehl – Romuald Coutaud Consultants BI Infinite Square

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

Page 1: 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

Page 2: SSAS 2012 : Multidimensionnel et tabulaire au banc d'essai

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.

Page 3: SSAS 2012 : Multidimensionnel et tabulaire au banc d'essai

PRESENTATION DE SSAS 2012

Page 4: SSAS 2012 : Multidimensionnel et tabulaire au banc d'essai

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

Page 5: SSAS 2012 : Multidimensionnel et tabulaire au banc d'essai

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

Page 6: SSAS 2012 : Multidimensionnel et tabulaire au banc d'essai

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

Page 7: SSAS 2012 : Multidimensionnel et tabulaire au banc d'essai

COMPARAISON DES MOTEURS

Page 8: SSAS 2012 : Multidimensionnel et tabulaire au banc d'essai

• 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

Page 9: SSAS 2012 : Multidimensionnel et tabulaire au banc d'essai

Principe de la compression en colonnes

Page 10: SSAS 2012 : Multidimensionnel et tabulaire au banc d'essai

• 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

Page 11: SSAS 2012 : Multidimensionnel et tabulaire au banc d'essai

• 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

Page 12: SSAS 2012 : Multidimensionnel et tabulaire au banc d'essai

• 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

Page 13: SSAS 2012 : Multidimensionnel et tabulaire au banc d'essai

demoCOMPARAISON DES MOTEURS

Page 14: SSAS 2012 : Multidimensionnel et tabulaire au banc d'essai

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

multidimensionnel

Démo

Page 15: SSAS 2012 : Multidimensionnel et tabulaire au banc d'essai

FONCTIONNALITÉS AVANCÉESLequel va le plus loin?

Page 16: SSAS 2012 : Multidimensionnel et tabulaire au banc d'essai

• 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

Page 17: SSAS 2012 : Multidimensionnel et tabulaire au banc d'essai

• 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

Page 18: SSAS 2012 : Multidimensionnel et tabulaire au banc d'essai

• 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

Page 19: SSAS 2012 : Multidimensionnel et tabulaire au banc d'essai

demoFONCTIONNALITÉS AVANCÉES

Page 20: SSAS 2012 : Multidimensionnel et tabulaire au banc d'essai

• Création d’AttributeTranslation en XMLA

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

Démo

Page 21: SSAS 2012 : Multidimensionnel et tabulaire au banc d'essai

SCÉNARIOS AVANCÉS DE SÉCURITÉ

Page 22: SSAS 2012 : Multidimensionnel et tabulaire au banc d'essai

• 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

Page 23: SSAS 2012 : Multidimensionnel et tabulaire au banc d'essai

• 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

Page 24: SSAS 2012 : Multidimensionnel et tabulaire au banc d'essai

• 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

Page 25: SSAS 2012 : Multidimensionnel et tabulaire au banc d'essai

• 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>]…)

Page 26: SSAS 2012 : Multidimensionnel et tabulaire au banc d'essai

demoSÉCURITÉ DYNAMIQUE

Page 27: SSAS 2012 : Multidimensionnel et tabulaire au banc d'essai

MAINTENANCE

Page 28: SSAS 2012 : Multidimensionnel et tabulaire au banc d'essai

• 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

Page 29: SSAS 2012 : Multidimensionnel et tabulaire au banc d'essai

• 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

Page 30: SSAS 2012 : Multidimensionnel et tabulaire au banc d'essai

demoBISM NORMALIZER

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

Page 31: SSAS 2012 : Multidimensionnel et tabulaire au banc d'essai

DAX FOR MULTIDIMENSIONAL MODELS

Cumuler les avantages des deux modèles…

Page 32: SSAS 2012 : Multidimensionnel et tabulaire au banc d'essai

• 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

Page 33: SSAS 2012 : Multidimensionnel et tabulaire au banc d'essai

• Reporting Ad-Hoc • sur bases Tabulaires

et Multidimensionnelles

• Excel 2007, 2010, 2013

• Génère du MDX

Tableau Croisé Dynamique d’Excel

Page 34: SSAS 2012 : Multidimensionnel et tabulaire au banc d'essai

• Reporting pour utilisateurs non techniques

• Dans Excel 2013 ou Sharepoint 2010/2013

• Export PowerPoint dynamique depuis Sharepoint

• Génère du DAX

Power View

Page 35: SSAS 2012 : Multidimensionnel et tabulaire au banc d'essai

• 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

Page 36: SSAS 2012 : Multidimensionnel et tabulaire au banc d'essai

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

Page 37: SSAS 2012 : Multidimensionnel et tabulaire au banc d'essai

• 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

Page 38: SSAS 2012 : Multidimensionnel et tabulaire au banc d'essai

demoCUMULER LES AVANTAGES DES DEUX MODELES AVEC DAXMD

Page 39: SSAS 2012 : Multidimensionnel et tabulaire au banc d'essai

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

Démo

Page 40: SSAS 2012 : Multidimensionnel et tabulaire au banc d'essai

CONCLUSION

Page 41: SSAS 2012 : Multidimensionnel et tabulaire au banc d'essai

• 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

Page 42: SSAS 2012 : Multidimensionnel et tabulaire au banc d'essai

• 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

Page 43: SSAS 2012 : Multidimensionnel et tabulaire au banc d'essai

• 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

Page 44: SSAS 2012 : Multidimensionnel et tabulaire au banc d'essai

• 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

Page 45: SSAS 2012 : Multidimensionnel et tabulaire au banc d'essai

Et vous?

Page 46: SSAS 2012 : Multidimensionnel et tabulaire au banc d'essai

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