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).
SSAS 2012 : Multidimensionnel et tabulaire au banc d'essai
1. SSAS 2012 :
Multidimensionnel et
Tabulaire au Romuald Coutaud
François Jehl – banc d’essai
Consultants BI
Infinite Square
2. INFINITE SQUARE
STAND 44 ESPACE WINDOWS 8 & EXPÉRIENCES NUMÉRIQUES
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.
GOLD Certified Partner
sur 4 domaines de compétences.
Agréé CIR.
Centre de formation agréé.
Infinite Square aux TechDays 2013
4. Améliorer Analysis Services
Se baser sur les forces et le
Ajouter au mode
succès de la plateforme,
multidimensionnel un
tout en lui permettant
mode relationnel, plus
d’atteindre une base plus
connu des développeurs
grande d’utilisateurs
Fournir ces deux possibilités
dans une seule et même Disposer d’une
plateforme, permettant de plateforme pouvant servir
réunir les points forts des de base à toute
deux mondes. application décisionnelle.
5. BI SEMANTIC MODEL?
Outils Clients
Ad-hoc, Rapports, Scorecards,
Dashboards, Applications…
BI Semantic Model
Modèle de conception
BI Personnelle BI d’Equipe BI d’Entreprise
PowerPivot pour
Logique métier PowerPivot pour
Excel SharePoint
Analysis Services
Stockage des données
Sources de données
Bases de données, OData,Excel, CSV…
5
6. Power Applications Reporting SharePoint
View Excel PowerPivot
Tierces Services Insights
Support du DAX MDX
DAX dans MD
avec CTP
Bases de
données
LOB Fichiers OData SQL Azure BI Semantic Model
6
8. Mode tabulaire
• 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
10. Mode multidimensionnel
• 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…)
11. Points forts / points faibles
• 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
12. 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
14. Démo
• DAX, un langage relationnel
• SCOPE, où comment tout faire en
multidimensionnel
15. Lequel va le plus loin?
FONCTIONNALITÉS AVANCÉES
16. Fonctionnalités avancées
• 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…
17. Traductions
• 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…
18. Actions
• 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!
22. Sécurité du modèle multidimensionnel
• MD gère tous les scénarios de sécurité
– Cell Security ”In the presence of cell
• Peu utilisé… security a lot of optimizations
are turned off!”
Mosha Pasumansky-26/11/2006
– Dimension Security
• En statique avec assistants graphiques
• En dynamique avec UserName() ou CustomData()
23. Sécurité du modèle multidimensionnel
• 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()
24. Sécurité du modèle tabulaire : Statique
• 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
25. Sécurité du modèle tabulaire : Dynamique
• Données de sécurité stockées en base
• Fonction DAX USERNAME()
• Fonction DAX LOOKUPVALUE()
LOOKUPVALUE(
<result_columnName>,
<search_columnName>,
<search_value>
[,<search_columnName>,<search_value>]…
)
28. Déploiement
• 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
29. BISM Normalizer
• 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
32. DAX for Multidimensional Models CTP
• 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
33. Tableau Croisé Dynamique d’Excel
• Reporting Ad-Hoc
• sur bases Tabulaires et
Multidimensionnelles
• Excel 2007, 2010, 2013
• Génère du MDX
34. Power View
• Reporting pour utilisateurs
non techniques
• Dans Excel 2013 ou
Sharepoint 2010/2013
• Export PowerPoint
dynamique depuis
Sharepoint
• Génère du DAX
35. Reporting Services
• 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
36. DAX for Multidimensional Models CTP
CSDL Metadata
MDX / DAX Parser
MDX DAX
Formula Formula
Engine Engine
MOLAP Storage Engine xVelocity Storage Engine
• Architecture générale
37. DAX for Multidimensional Models CTP
• 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…
41. Références
• 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…
42. Deux moteurs complémentaires
• 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
43. Wishlist – Côté tabulaire
• 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
44. Wishlist – Côté multidimensionnel
• 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?
46. 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