Exploiter SSAS au maximum de son potentiel

Slides:



Advertisements
Présentations similaires
ORTHOGRAM PM 3 ou 4 Ecrire: « a » ou « à » Référentiel page 6
Advertisements

1. Résumé 2 Présentation du créateur 3 Présentation du projet 4.
Les technologies décisionnelles et le portail
Licence pro MPCQ : Cours
Distance inter-locuteur
Nouveautés pour les développeurs Office System Scott Burmester Responsable des programmes PSPS.
ACubeOLAP Client Olap en ACube.
Les systèmes d’informations documentaires et les ENT Éléments de cahier des charges pour les projets nouveaux.
Projet extranet My.Eolas
Les numéros
Les identités remarquables
19 septembre 2006 Tendances Logicielles IBM Rational Data Architect Un outil complet de modélisation et de conception pour SGBD Isabelle Claverie-Berge.
Cours MIAGE « Architectures Orientées Services » Henry Boccon-Gibod 1 Architectures Orientées Services Composants de Service Exemple pratique de développement.
Autorisations Utilisation eCATT
User management pour les entreprises et les organisations Auteur / section: Gestion des accès.
1 7 Langues niveaux débutant à avancé. 2 Allemand.
Mr: Lamloum Med LES NOMBRES PREMIERS ET COMPOSÉS Mr: Lamloum Med.
1 5 octobre 2011 / paw Présentation du 7 octobre 2011.
Les requêtes La Requête est une méthode pour afficher les enregistrements qui répondent à des conditions spécifiques. La requête est donc un filtre.
Développement d’applications web
Amélioration de la sécurité des données à l'aide de SQL Server 2005
Synchronisation et communication entre processus
Serveurs Partagés Oracle
Gérard Gasganias Ingénieur Avant-Vente Microsoft France
1 Guide de lenseignant-concepteur Vincent Riff 27 mai 2003.
Aurélien Koppel Manager Bios Consulting
Titre : Implémentation des éléments finis sous Matlab
Projet poker 1/56. Introduction Présentation de léquipe Cadre du projet Enjeux Choix du sujet 2.
F Copyright © Oracle Corporation, Tous droits réservés. Créer des programmes avec Procedure Builder.
LES NOMBRES PREMIERS ET COMPOSÉS
Logiciel gratuit à télécharger à cette adresse :
Connecteur Team Foundation Server Project Server
Visio 2010 : représentez et partagez encore plus simplement vos diagrammes et données
DUMP GAUCHE INTERFERENCES AVEC BOITIERS IFS D.G. – Le – 1/56.
1 INETOP
Projet de Master première année 2007 / 2008
22 Web Platform Installer pour faciliter la mise en œuvre de votre plateforme Web 9 Février 2010 Alban OlierLaurent Bonnet
SHA302 - Connectez vos données à SharePoint 2010 avec les Business Connectivity Services
Agenda de la journée 10h00 : La place d’ASP.NET dans la plate-forme Microsoft 10h30 : Développement rapide d’applications Web en ASP.NET 12h00 : Construire.
Office 365 Administration et supervision du service
Tout savoir sur la synchronisation des mails, contacts et calendrier sur Windows Phone Lire cette présentation en mode plein écran.
2 Développer, tester et déployer un site web avec WebMatrix (RIA101) Christine Dubois 9 février 2011.
P.A. MARQUES S.A.S Z.I. de la Moussière F DROUE Tél.: + 33 (0) Fax + 33 (0)
LA GESTION COLLABORATIVE DE PROJETS Grâce aux outils du Web /03/2011 Académie de Créteil - Nadine DUDRAGNE 1.
WPF 4 et MultiTouch Les doigts dans le code 8 février 2011
22 Intégrer Reporting Services SQL 2008 R2 à votre application 09/02/2010 Mathieu ROSPIDE – Winwise Julien TOURNADRE – Winwise.
22 Faut il repenser les systèmes décisionnels : vers l’analyse en libre service maîtrisée 9/02/2010 Lionel BILLON – Chef de produit SQL Server - Microsoft.
2 Industrialisation des développements sur SQL Server avec Visual Studio 2010 Mardi 8 Février – 17h30 Karim Zegour – Winwise Michel Perfetti – MVP VS.
JEE 5 F.Pfister 2 institut eerie JEE – Une plateforme serveur  Développement et exécution d'applications réparties.
‘‘Open Data base Connectivity‘‘
Visio. Copyright© 2012 Microsoft CorporationConfidentiel Les défis pour l'entreprise Environnement complexe Explosion du volume de données Un monde plus.
1/65 微距摄影 美丽的微距摄影 Encore une belle leçon de Macrophotographies venant du Soleil Levant Louis.
Introduction.
Marc Bouissou, Guillaume Torrente, EDF
Guide de paramétrage RRDI pour CLM v3
Outil de gestion des cartes grises
Votre espace Web Entreprises Article 39 Démonstration.
KIWAPP IS A B2B FULL-STACK APP-MANAGEMENT TOOL KIWAPP EN QUELQUES ETAPES Octobre 2014.
Création d’un serveur de mise à jour
22 Visual Studio Tools et Office 2010 Thomas LEBRUN Architecte Access It Sebastien BOVO Application Dev Consultant Microsoft France
1 Formation à l’usage éco-performant de votre pc 1 ère Partie.
Guide n° 1 Formation initiale Primaire
Présente Conception d’un petit site Web. 2 4-nov-03© Préambule Cette présentation fait suite à celle intitulée « Imaginer, concevoir, mettre.
Tirer le meilleur parti d’Office /10/ Vincent Bippus IT/OIS 07 octobre 2014.
Introduction à l’informatique en gestion 1 Plan de la leçon Compagnon office Sections et Mise en page En-têtes et pieds de page Notes de bas.
Réalisé par : Mr IRZIM Hédi Mr JRAD Firas
Ceci est une session expert Cette session est déconseillée aux novices des moteurs Analysis Services 2000 ou 2005 La session « Découverte de Analysis.
Améliorer la performance des organisations en apportant à toutes les équipes la meilleure compréhension de leur activité pour des décisions plus rapides.
Séminaire LINCOLN – MICROSOFT
Les outils Multidimensionnels SAS ® 9 Atelier Technique SAS ® Eric WOLFF Jeudi 2 juin 2005.
Transcription de la présentation:

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

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,… Collab. BI

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 

Agenda Couvrir plus de scenarii Embarquer de l’intelligence Améliorer l’expérience utilisateur Optimiser les performances Piloter et sécuriser le serveur

1 – Couvrir plus de scénarii

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

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 Eva 2 Pablo 3 Florence 4 William 5 Erwan

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 bas Ville Dpt/Province Region/Etat Pays Toulouse Haute-Garonne Midi-Pyrénées France Andorre Los Angeles Californie Etas-Unis

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)

Relation référencées Groupe de Mesures Dimension Normale Référencé PK Présentation des relations de type Referenced. Table de faits PK FK PK FK Table de dimension Table de dimension

Relation Plusieurs à plusieurs Groupe de Mesures Dimension Groupe de Mesures Dimension Normale Plusieurs à plusieurs Présentation des relations de type Many-to-Many. Table de faits Table de faits PK FK PK FK PK FK Table de dimension Table de dimension

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

Mesures semi-additives Temps Jan Fév Mar Trim 1 … Ventes Additive Stocks Mesures 50 250 Semi Additive %Marge 50 200 Non Additive 15 50 150 200 Illustration de la notion d’additivité avec 3 mesures : Ventes (additive) Stocks (semi additive) %Marge (non additive) 150 25 200 350 Produits P1 P2 P3 Total …

Hiérarchie déséquilibrée Relation référencée et mesure semi-additive Démo Hiérarchie déséquilibrée Relation référencée et mesure semi-additive

2 - Embarquer de l’intelligence

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

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

Démo Pourcentage de contribution par rapport au parent Liste des produits qui représentent 80% des ventes

3 - Améliorer l’expérience utilisateur

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

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

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

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

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

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

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

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

4 - Optimiser les performances

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

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

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

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

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

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… MDX Query Formula Engine Storage Engine Partition Data Cache Cache

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

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

5 - Piloter et sécuriser le serveur SSAS

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… date

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

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

Démo AMO et PowerShell Exemples de DMV usuelles Utilisation des DMV dans Reporting Services

Accessible partout Analysis Services 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) Application IIS Analysis Services

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: Copier le contenu du dossier bin/isapi dans un dossier, et créer un répertoire virtuel dans IIS Affecter à cette application un AppPool en .NET Classic (IIS 7) en 32 ou 64 bit Ajouter une Script Map à l’application pour *.dll associée à MsMdPump.dll Configurer l'authentification (Anonyme, Basic, Intégrée)

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!

Authentification Basic sur HTTP Sécurisation dynamique de dimension Démo Authentification Basic sur HTTP Sécurisation dynamique de dimension

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

Livres Blancs date

Ouvrages

MSDN et TechNet : l’essentiel des ressources techniques à portée de clic Portail administration et infrastructure pour informaticiens Portail de ressources technique pour développeurs http://technet.com http://msdn.com

Questions / Réponses