2 exploiter ssas au maximum de son potentiel 10 février 2011 romuald coutaud et françois jehl...

52

Upload: estee-maury

Post on 04-Apr-2015

105 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: 2 Exploiter SSAS au maximum de son potentiel 10 février 2011 Romuald COUTAUD et François JEHL Consultants Access IT IDF
Page 2: 2 Exploiter SSAS au maximum de son potentiel 10 février 2011 Romuald COUTAUD et François JEHL Consultants Access IT IDF

2

Exploiter SSAS au maximum de son potentiel10 février 2011Romuald COUTAUD et François JEHLConsultantsAccess IT IDF

Page 3: 2 Exploiter SSAS au maximum de son potentiel 10 février 2011 Romuald COUTAUD et François JEHL Consultants Access IT IDF

3

Access It IdF en quelques mots…• Société de services, conseil / expertise, et formation,

exclusivement sur les technologies Microsoft• 20+ collaborateurs spécialisés sur les techno MS, dont 11

MVP

• Interventions en mode : Conseil, expertise, coaching et formation Réalisation, au forfait ou en Assistance Technique

.NET Plateforme Applicative

Framework et langages .Net, AZURE, Silverlight, WPF/Surface, VS/TFS, Windows Phone 7,…

SQL Server (SSIS, SQL, SSAS, SSRS), PowerPivot, SharePoint & on-line, Office 365,…

.NET Collab.

BI

Page 4: 2 Exploiter SSAS au maximum de son potentiel 10 février 2011 Romuald COUTAUD et François JEHL Consultants Access IT IDF

4

Introduction

• Cette session s’adresse :• Aux développeurs qui ont déjà une expérience sur

Analysis Services et veulent découvrir les fonctionnalités avancées permettant d’améliorer l’expérience des utilisateurs

• Aux administrateurs qui veulent exploiter les capacités méconnues du serveur OLAP en termes de sécurité et de supervision

• Mais ne s’adresse pas à la base:• A ceux qui pensent qu’Analysis Services n’apporte rien

par rapport aux couches de données sémantiques et à la BI sur le poste client…… mails ils peuvent changer d’avis après cette session

Page 5: 2 Exploiter SSAS au maximum de son potentiel 10 février 2011 Romuald COUTAUD et François JEHL Consultants Access IT IDF

5

Agenda

1. Couvrir plus de scenarii2. Embarquer de l’intelligence3. Améliorer l’expérience utilisateur4. Optimiser les performances5. Piloter et sécuriser le serveur

Page 6: 2 Exploiter SSAS au maximum de son potentiel 10 février 2011 Romuald COUTAUD et François JEHL Consultants Access IT IDF

6

1 – Couvrir plus de scénarii

Page 7: 2 Exploiter SSAS au maximum de son potentiel 10 février 2011 Romuald COUTAUD et François JEHL Consultants Access IT IDF

7

Une navigation hiérarchisée• Les dimensions contiennent souvent de nombreux

attributs qui risquent de perdre l’utilisateur lorsqu’il navigue dans le cube via un outil de reporting Ad-Hoc type Excel

• Le développeur doit alors mettre en place des hiérarchies à plusieurs niveaux pour structurer l’information et rendre la navigation intuitive

• S’il est courant de mettre en place des hiérarchies standards deux cas métiers particuliers sont aussi gérés dans Analysis Services :• Les hiérarchie parent-enfant• Les hiérarchie déséquilibrées

Page 8: 2 Exploiter SSAS au maximum de son potentiel 10 février 2011 Romuald COUTAUD et François JEHL Consultants Access IT IDF

8

Hiérarchies parent-enfant• Elles sont contre-performantes sur les grosses

volumétries (pas de stockage des agrégats pour les niveaux intermédiaires)…

• …Mais bien pratiques pour gérer certaines problématiques métiers (Plan de compte, hiérarchie Employés, nomenclature produit …)

• De plus elles simplifient la mise en place pour tous les membres• des Custom Rollup formula• des propriétés de membre

communes

IdEnfant IdParent Nom

1 1 Eva

2 1 Pablo

3 2 Florence

4 2 William

5 3 Erwan

Page 9: 2 Exploiter SSAS au maximum de son potentiel 10 février 2011 Romuald COUTAUD et François JEHL Consultants Access IT IDF

9

Hiérarchies déséquilibrées• Sont des hiérarchies utilisateurs standards dont

certains membres ne sont pas renseignés ou répétés sur 1 ou plusieurs niveaux intermédiaires

• Elles sont parfois utilisées pour remplacer les parent-enfant trop volumineuses

• Nécessite une mise à jour de la propriété HideMemberIf pour masquer les membres vides ou redondants

• Sont enfin supportées dans Excel 2010 à condition de masquer par le basVille Dpt/Province Region/Etat Pays

Toulouse Haute-Garonne Midi-Pyrénées France

Andorre Andorre Andorre Andorre

Los Angeles Los Angeles Californie Etas-Unis

Page 10: 2 Exploiter SSAS au maximum de son potentiel 10 février 2011 Romuald COUTAUD et François JEHL Consultants Access IT IDF

10

Les types de relation

• Pour optimiser la conception des cubes Analysis services prend en charge plusieurs types de relation en plus de la simple relation un à plusieurs

• Les relations référencées permettent de factoriser la création d’attributs communs à plusieurs dimensions

• L’option « Matérialiser » optimise les performances des requêtes en stockant les informations nécessaires au moment du traitement des cubes

• Les relations plusieurs à plusieurs s'appuient directement sur les tables de relation de la base SQL et permettent de gérer les problématiques métiers fréquemment rencontrées (clients comptes bancaires)

Page 11: 2 Exploiter SSAS au maximum de son potentiel 10 février 2011 Romuald COUTAUD et François JEHL Consultants Access IT IDF

11

Relation référencées

DimensionGroupe de Mesures

Table de faits

Normale

Dimension

Référencé

Table de dimension

PK

FK

Table de dimension

PK

FK

Page 12: 2 Exploiter SSAS au maximum de son potentiel 10 février 2011 Romuald COUTAUD et François JEHL Consultants Access IT IDF

12

Relation Plusieurs à plusieurs

DimensionGroupe de Mesures

Table de faits

Normale

Table de dimension

PK

FK

DimensionGroupe de Mesures

Table de faits

Plusieurs à plusieurs

Table de dimension

PK

FK

Plusieurs à plusieurs

PK

FK

Page 13: 2 Exploiter SSAS au maximum de son potentiel 10 février 2011 Romuald COUTAUD et François JEHL Consultants Access IT IDF

13

Mesure semi-additive

• Analysis Services permet en outre de gérer nativement les problématiques de stock ou de moyenne prenant en compte la dimension Temps ce qui dépasse largement les fonctions d’agrégations standards (somme, compte…)

• Il dispose pour cela de fonctions d’agrégation semi-additives • LastChild• LastNonEmpty• FirstChild• FirstNonEmpty• AverageOfChildren

Page 14: 2 Exploiter SSAS au maximum de son potentiel 10 février 2011 Romuald COUTAUD et François JEHL Consultants Access IT IDF

14

Mesures semi-additives

Mesures

Produits

P1 P2 P3 Total…

Temps

Jan

Fév

Mar

Trim

1…

50 150 200

200

250

150

50

200 350

50

25

15

Ventes

Stocks

%Marge

Additive

Semi Additive

Non Additive

Page 15: 2 Exploiter SSAS au maximum de son potentiel 10 février 2011 Romuald COUTAUD et François JEHL Consultants Access IT IDF

15

DémoHiérarchie déséquilibréeRelation référencéeet mesure semi-additive

Page 16: 2 Exploiter SSAS au maximum de son potentiel 10 février 2011 Romuald COUTAUD et François JEHL Consultants Access IT IDF

16

2 - Embarquer de l’intelligence

Page 17: 2 Exploiter SSAS au maximum de son potentiel 10 février 2011 Romuald COUTAUD et François JEHL Consultants Access IT IDF

17

Membre calculé et jeu nommé• Le besoin d’ajouter des calculs métiers qui dépassent

les capacités des fonctions d’agrégations du moteur OLAP n’est pas une limite dans Analysis Services

• Le développeur pourra enrichir les cubes en ajoutant des membres calculés , des jeux nommées et développer les capacités d’analyses de l’utilisateur

• Pour leur mise, il bénéficie du langage MDX parfaitement adapté à la structure multidimensionnelle du cube

• Celui-ci facilite la mise en place de calculs souvent longs et complexes à écrire en SQL sur le Datamart

Page 18: 2 Exploiter SSAS au maximum de son potentiel 10 février 2011 Romuald COUTAUD et François JEHL Consultants Access IT IDF

18

Membre calculé et jeu nommé• Les membres calculés sont le moyen d’ajouter

au cube des indicateurs complexes (%age de contribution par rapport au parent, cumul glissant début d’année / sur plusieurs périodes…)

• Les jeux nommés simplifient la mise en place de listes prédéfinies pour simplifier le travail de sélection des utilisateurs dans les outils clients

• Dans les deux cas le langage MDX permet de rendre ces expressions génériques pour tenir compte des sélections faites par l’utilisateur lorsqu’il navigue dans le cube en utilisant la fonction Axis

Page 19: 2 Exploiter SSAS au maximum de son potentiel 10 février 2011 Romuald COUTAUD et François JEHL Consultants Access IT IDF

19

Démo• Pourcentage de contribution par

rapport au parent• Liste des produits qui représentent

80% des ventes

Page 20: 2 Exploiter SSAS au maximum de son potentiel 10 février 2011 Romuald COUTAUD et François JEHL Consultants Access IT IDF

20

3 - Améliorer l’expérience utilisateur

Page 21: 2 Exploiter SSAS au maximum de son potentiel 10 février 2011 Romuald COUTAUD et François JEHL Consultants Access IT IDF

21

Une base internationalisée

• La première étape d’une bonne expérience pour l’utilisateur est de comprendre la base qu’il utilise• Sur un projet international ce n’est pas

forcément gagné…• Heureusement, les objets d’une base SSAS

peuvent disposer de plusieurs libellés selon la culture de l’utilisateur connecté• C’est la fonctionnalité de Traduction d’Analysis

Services

Page 22: 2 Exploiter SSAS au maximum de son potentiel 10 février 2011 Romuald COUTAUD et François JEHL Consultants Access IT IDF

22

Une base internationalisée

• Le développeur n’étant pas forcément le meilleur traducteur au monde, il est possible d’importer facilement des traductions • Effectuées par exemple par un sous-traitant

• En utilisant AMO (Analysis Management Objects est le successeur de DSO)• Cette API en .NET permet d’accéder à toutes les

propriétés des objets du serveur dont évidemment les traductions

Analysis Services

Application .NET

AMO

Page 23: 2 Exploiter SSAS au maximum de son potentiel 10 février 2011 Romuald COUTAUD et François JEHL Consultants Access IT IDF

23

DémoUtilisation de AMO pour l’import/export de traductions dans le cube depuis SSIS

Page 24: 2 Exploiter SSAS au maximum de son potentiel 10 février 2011 Romuald COUTAUD et François JEHL Consultants Access IT IDF

24

Des actions contextuelles

• Une autre manière de rendre la navigation dans un cube plus agréable est d’y ajouter de l’interactivité

• C’est le principe des actions d’Analysis Services qui permettent de lancer via un menu contextuel• Un DrillThrough• Un rapport SSRS• Une page web• Une commande personnalisée renvoyant des

données• Le cube devient le hub d’entrée du système

décisionnel

Page 25: 2 Exploiter SSAS au maximum de son potentiel 10 février 2011 Romuald COUTAUD et François JEHL Consultants Access IT IDF

25

DémoMise en place de différentes actions et utilisation depuis Excel 2010

Page 26: 2 Exploiter SSAS au maximum de son potentiel 10 février 2011 Romuald COUTAUD et François JEHL Consultants Access IT IDF

26

Insérer des données dans le cube• SSAS va plus loin qu’un simple moteur OLAP dans

Un autre domaine : il permet à l’utilisateur de saisir des données dans le cube

• Il est par exemple possible d’effectuer des simulations, d’affecter des objectifs à une équipe…

• Et ce nativement depuis Excel 2010

Analysis Services

Page 27: 2 Exploiter SSAS au maximum de son potentiel 10 février 2011 Romuald COUTAUD et François JEHL Consultants Access IT IDF

27

Insérer des données dans le cube• Cette fonctionnalité qui s’active au niveau de la

partition est appellée WriteBack• Elle utilise en arrière plan le MDX UPDATE CUBE

pour changer les données du cube et stocker ces changements en ROLAP ou en MOLAP

• L’affectation aux niveaux fins peut être égale sur tous les axes ou pondérée par une expression MDX

• Les changements sont toujours détaillés dans une table SQL

• A noter qu’il est aussi possible d’effectuer du WriteBack dans des dimensions

Page 28: 2 Exploiter SSAS au maximum de son potentiel 10 février 2011 Romuald COUTAUD et François JEHL Consultants Access IT IDF

28

DémoEcriture pondérée dans le cube avec le WriteBack depuis Excel 2010

Page 29: 2 Exploiter SSAS au maximum de son potentiel 10 février 2011 Romuald COUTAUD et François JEHL Consultants Access IT IDF

29

4 - Optimiser les performances

Page 30: 2 Exploiter SSAS au maximum de son potentiel 10 février 2011 Romuald COUTAUD et François JEHL Consultants Access IT IDF

30

Le partitionnement

• De nombreux projets décisionnels nécessitent la prise en charge de gros volume de données

• Cela nécessite la mise en place d’un partitionnement des tables dans les bases SQL

• Dans Analysis Services le développeur peut gérer cette volumétrie en partitionnant les cubes

Page 31: 2 Exploiter SSAS au maximum de son potentiel 10 février 2011 Romuald COUTAUD et François JEHL Consultants Access IT IDF

31

Le partitionnement

• Cela nécessite une mise place manuelle dans BIDS ou SSMS…

• … qui peut être automatisée via la génération de script XMLA ou l’utilisation une application .Net via l’API AMO

Application .NET

AMO

Page 32: 2 Exploiter SSAS au maximum de son potentiel 10 février 2011 Romuald COUTAUD et François JEHL Consultants Access IT IDF

32

Les agrégations

• Sont définies via le schéma d’agrégation associé à la partition

• Sont calculées lors du traitement du cube puis stockées sous forme de fichiers de données en plus des Faits

• Permettent d’améliorer les performances des requêtes sur les cubes en évitant les calculs à la volée

• Doivent être redéfinies et optimisées en fonction des requêtes utilisateurs

Page 33: 2 Exploiter SSAS au maximum de son potentiel 10 février 2011 Romuald COUTAUD et François JEHL Consultants Access IT IDF

33

Les modes de traitement

• Une fois la conception du cube terminée, il faut aussi prendre en compte la structure de celui-ci pour l’alimenter de manière intelligente

• Les modes de traitement doivent être choisis pour éviter un recalcul systématique de toutes les données du cube

• Le développeur pourra alors d’optimiser les temps de chargement en ne traitant que les partitions nécessaires

• Mais aussi en choisissant les modes de traitement adaptés

Traitement Data + Index < Traitement Complet

Page 34: 2 Exploiter SSAS au maximum de son potentiel 10 février 2011 Romuald COUTAUD et François JEHL Consultants Access IT IDF

34

DémoCréation et mise à jour automatisées de partitions avec AMO dans SSIS

Page 35: 2 Exploiter SSAS au maximum de son potentiel 10 février 2011 Romuald COUTAUD et François JEHL Consultants Access IT IDF

35

Optimiser les requêtes

• Management Studio ne fournit pas autant d’informations sur le MDX que le SQL…

• Pour l’optimisation des requêtes, utiliser Perfmon + Profiler ou mieux: MDX Studio de Mosha Pasumanski• Extraction des compteurs utiles• Exécution sur cache chaud / froid et

comparaison• Analyses et suggestions d’amélioration…

Formula Engine Storage EnginePartition

Data

MDXQuery

Cache Cache

Page 36: 2 Exploiter SSAS au maximum de son potentiel 10 février 2011 Romuald COUTAUD et François JEHL Consultants Access IT IDF

36

Optimiser les requêtes

• Quelques pistes…• Limiter les Cells Calculated

i.e. les cellules utilisées pour le calcul

• Limiter les Calc Covers et les Sonar Subcubes i.e. passer en Block Computation

• Une fois le MDX optimisé, ne restent que:• Le caching• Le partitionnement• Les agrégations

Page 37: 2 Exploiter SSAS au maximum de son potentiel 10 février 2011 Romuald COUTAUD et François JEHL Consultants Access IT IDF

37

DémoOptimisation d’une requête MDX avec MDX Studio 0.4.14

Page 38: 2 Exploiter SSAS au maximum de son potentiel 10 février 2011 Romuald COUTAUD et François JEHL Consultants Access IT IDF

38

5 - Piloter et sécuriser le serveur SSAS

Page 39: 2 Exploiter SSAS au maximum de son potentiel 10 février 2011 Romuald COUTAUD et François JEHL Consultants Access IT IDF

39

Un pilotage facilité

• Un serveur doit fournir à ses administrateurs des protocoles et interfaces permettant de le piloter

• SSAS se commande à l’aide d’XMLA• XML for Analysis est une norme basée sur

SOAP• Le XMLA Council regroupe Microsoft, SAS,

Hyperion-Oracle et SAP• Il est possible de communiquer directement en

XMLA• Ex: ASCMD, disponible dans les samples de

SSAS• Ou d’utiliser AMO…

Page 40: 2 Exploiter SSAS au maximum de son potentiel 10 février 2011 Romuald COUTAUD et François JEHL Consultants Access IT IDF

40

Un pilotage facilité

• La présence d’une telle librairie facilite le développement de back-offices en .NET comme vu précédemment

• Mais pour l’administrateur qui dispose de PowerShell…• (Interface en ligne de commande permettant

réaliser des scripts utilisant des librairies .NET)

• Cela permet aussi de développer des scripts plus puissants et plus maintenables que des exécutions de code XMLA brut.

Analysis Services

AMO XMLA

Page 41: 2 Exploiter SSAS au maximum de son potentiel 10 février 2011 Romuald COUTAUD et François JEHL Consultants Access IT IDF

41

Une supervision intuitive

• Cependant pour rechercher des informations il est souvent plus rapide de passer par des requêtes• Avant SQL Server 2008 avec des DISCOVER en

XMLA, retournant des résultats en XML• Depuis 2008 les Dynamic Management Views

ou DMV permettent de requêter et récupérer les données selon un formalisme SQL • Il s’agit en fait d’un élargissement à tout SSAS

du MODEL.CONTENT du DMX

Page 42: 2 Exploiter SSAS au maximum de son potentiel 10 février 2011 Romuald COUTAUD et François JEHL Consultants Access IT IDF

42

DémoAMO et PowerShellExemples de DMV usuellesUtilisation des DMV dans Reporting Services

Page 43: 2 Exploiter SSAS au maximum de son potentiel 10 février 2011 Romuald COUTAUD et François JEHL Consultants Access IT IDF

43

Accessible partout

• Les commandes XMLA passent classiquement sur du TCP, en authentification intégrée.

• Cependant pour gérer certains scénarios il est possible de passer par HTTP(S)

HTTP

TCP

Application

IIS

Analysis Services

Page 44: 2 Exploiter SSAS au maximum de son potentiel 10 février 2011 Romuald COUTAUD et François JEHL Consultants Access IT IDF

44

Accessible partout

• Le pont HTTP vers TCP est une DLL nommée MsMdPump.dll, située dans le dossier bin/isapi qui réécrit les paquets HTTP entrants en TCP

• Principe:1. Copier le contenu du dossier bin/isapi dans un

dossier, et créer un répertoire virtuel dans IIS2. Affecter à cette application un AppPool en .NET

Classic (IIS 7) en 32 ou 64 bit3. Ajouter une Script Map à l’application pour *.dll

associée à MsMdPump.dll4. Configurer l'authentification (Anonyme, Basic,

Intégrée)

Page 45: 2 Exploiter SSAS au maximum de son potentiel 10 février 2011 Romuald COUTAUD et François JEHL Consultants Access IT IDF

45

Et sécurisé au plus fin

• Sur le plan de la sécurité, celle d’Analysis Services est basée sur des Rôles• Le groupe des administrateurs du serveur doit

être réduit…• Chaque Rôle permet d’allouer un certain nombre

de permissions à un ensemble d’utilisateurs• Ces permissions permettent de sécuriser

jusqu’à la cellule de données, en statique (identique pour tout le rôle) ou en dynamique (en utilisant les fonctions UserName et CustomData) via des expressions MDX

• Attention aux performances!

Page 46: 2 Exploiter SSAS au maximum de son potentiel 10 février 2011 Romuald COUTAUD et François JEHL Consultants Access IT IDF

46

DémoAuthentification Basic sur HTTPSécurisation dynamique de dimension

Page 47: 2 Exploiter SSAS au maximum de son potentiel 10 février 2011 Romuald COUTAUD et François JEHL Consultants Access IT IDF

47

Conclusion

• Analysis Services est bien plus qu’un simple moteur OLAP• Il fournit au développeur les fonctionnalités lui

permettant de couvrir la majorité des problématiques métiers qui lui sont soumises

• Il offre à l’administrateur des interfaces de gestion et de supervision comparables à un SGBDR

• Il constitue la porte d’entrée du système décisionnel pour l’utilisateur final en offrant des possibilités d’analyses riches et intuitives

Page 48: 2 Exploiter SSAS au maximum de son potentiel 10 février 2011 Romuald COUTAUD et François JEHL Consultants Access IT IDF

48

Livres Blancs

Page 49: 2 Exploiter SSAS au maximum de son potentiel 10 février 2011 Romuald COUTAUD et François JEHL Consultants Access IT IDF

49

Ouvrages

Page 50: 2 Exploiter SSAS au maximum de son potentiel 10 février 2011 Romuald COUTAUD et François JEHL Consultants Access IT IDF

50

MSDN et TechNet : l’essentiel des ressources techniques à portée de clic

http://technet.com http://msdn.com

Portail administration et infrastructure pour informaticiens

Portail de ressources technique pour développeurs

Page 51: 2 Exploiter SSAS au maximum de son potentiel 10 février 2011 Romuald COUTAUD et François JEHL Consultants Access IT IDF

51

Questions / Réponses

Page 52: 2 Exploiter SSAS au maximum de son potentiel 10 février 2011 Romuald COUTAUD et François JEHL Consultants Access IT IDF