Introduction à la B.I. Avec SQL Server 2008

Document Sample
Introduction à la B.I. Avec SQL Server 2008 Powered By Docstoc
					               Introduction à la B.I.
            Avec SQL Server 2008
                       Version 1.0




VALENTIN Pauline
2       Introduction à la B.I. avec SQL Server 2008



                                                                   Sommaire



    1      Présentation de la B.I. et SQL Server 2008 ...................................................................................... 3
        1.1       Présentation rapide de SQL Server 2008................................................................................. 3
        1.2       La B.I. : définition et apport à l’entreprise .............................................................................. 3
    2      Le datawarehouse ........................................................................................................................... 4
        2.1       Définition du datawarehouse .................................................................................................. 4
        2.2       Conception du datawarehouse ............................................................................................... 5
    3      Premières notions d’Integration Services ....................................................................................... 6
        3.1       L’ETL ......................................................................................................................................... 6
        3.2       Package : unité de travail de S.S.I.S. ........................................................................................ 6
        3.3       Tâches de S.S.I.S. ..................................................................................................................... 8
    4      Introduction à Analysis Services ...................................................................................................... 9
        4.1       L’infrastructure OLAP .............................................................................................................. 9
        4.2       Le data mining ....................................................................................................................... 11
    5      Qu’est ce que Reporting Services ? ............................................................................................... 12
    6      Conclusion ..................................................................................................................................... 13




                                             Dotnet France Association – Valentin Pauline
3    Introduction à la B.I. avec SQL Server 2008


    1 Présentation de la B.I. et SQL Server 2008

    1.1 Présentation rapide de SQL Server 2008

         Produit par Microsoft, SQL Server 2008 est un système de gestion de bases de données
    relationnelles. Le stockage, la manipulation et l’analyse de ces données se font au sein de son moteur
    de bases de données. Ce service permet la réalisation de nombreuses applications, requêtes, et
    transactions, notamment grâce au langage T-SQL (Transact-SQL). Pour plus de détails sur le moteur
    de SQL Server 2008, des cours sont disponibles dans la partie « SQL Server 2008 Implementation and
    Maintenance ».
         En plus de son moteur, SQL Server 2008 contient trois plateformes, indispensables pour réaliser
    un projet BI :
             o Integration Services, qui permet d’intégrer des données provenant de différentes
                  sources pour les ranger dans un entrepôt central ;
             o Analysis Services, qui permet d’analyser les données, agrégées lors de S.S.I.S., grâce à
                  des fonctions d’analyse multidimensionnelle ;
             o Reporting Services, qui permet de créer, gérer et publier des rapports résultant des
                  analyses réalisées lors de S.S.A.S. ;




      Moteur BD                        IS                           AS                       RS
                                                                                       SQL Server 2008

                                     Figure 1: Composants de SQL Server 2008

            Ces trois services seront expliqués en détails dans des chapitres complémentaires. Ce cours
    abordera néanmoins les notions générales pour appréhender au mieux ces plateformes. Pour
    commencer, il est important de comprendre la définition et l’utilité d’un projet BI au sein d’une
    entreprise.


    1.2 La B.I. : définition et apport à l’entreprise

          « L’informatique décisionnelle (ou BI pour Business Intelligence) désigne les moyens, les outils
    et les méthodes qui permettent de collecter, consolider, modéliser et restituer les données,
    matérielles ou immatérielles, d'une entreprise en vue d'offrir une aide à la décision et de permettre
    aux responsables de la stratégie d'entreprise d’avoir une vue d’ensemble de l’activité traitée. »
                                                                                         Source : wikipédia

    Voici la définition que l’on retrouve généralement lorsque l’on parle d’informatique décisionnelle.
    Une entreprise est généralement composée de plusieurs services tels que les ressources humaines,
    les services comptabilité, marketing, commercial, technique… Tous conservent des informations
    propres à leurs fonctions : listes des clients, des employés, chiffres, emplois du temps…
    L’accumulation de ces données nécessite donc leur sauvegarde dans le but d’une future exploitation.
    On constate ainsi régulièrement que chaque service possède son tableau de bord, ce qui lui permet
    de mesurer les indicateurs de performance de l’entreprise (chiffre d’affaire, calculs de bénéfices à
    l’année…). Cependant, chaque service a bien souvent sa façon de stocker ses informations (par
    exemple dans un fichier Excel, une base de données MySQL…), et sa manière de calculer les

                               Dotnet France Association – Valentin Pauline
4    Introduction à la B.I. avec SQL Server 2008


    indicateurs, avec sa vérité et ses critères. Ainsi, si l’on veut considérer les données de l’entreprise
    dans son ensemble, la tâche s’avère rude voire parfois impossible. Pourtant, cela constituerait une
    utilité évidente et un réel apport à la société. En effet, une mise en relation et une analyse de toutes
    les données permettraient de réaliser des études et des prévisions sur le comportement et la
    « santé » de l’entreprise.


                                                          Réunir les
                                                         données de
                                                           chaque
                                                           service




                                                        Solution
                                                           BI
                                 Analyser mes                                 Obtenir une
                                    données                                  évaluation de
                                   agrégées                                      mon
                                 (indicateurs)                                 entreprise


                                                   Figure 2: Solution BI

           Le but de la BI est d’apporter une vision globale des données de l’entreprise, afin de
    répondre aux problématiques de celle-ci, ou tout simplement, afin de l’évaluer. Pour y arriver, SQL
    Server 2008 met donc à disposition trois plateformes qui illustrent ce cheminement (cf. figure 2).
    Avant d’évoquer les bases de celles-ci, il est essentiel de connaitre le concept du datawarehouse.


    2 Le datawarehouse

    2.1 Définition du datawarehouse

         Comme expliqué précédemment, la première étape d’un projet BI est de créer un entrepôt
    central pour avoir une vision globale des données de chaque service. Cet entrepôt porte le nom de
    datawarehouse. On peut également parler de datamart, si seulement une catégorie de services ou
    métiers est concernée. Par définition, un datamart peut être contenu dans un datawarehouse, ou il
    peut être seulement issu de celui-ci.



                                                                 Datamart
                                                                  service
                                                 Datamart
                                                                commercial
                                                   service
                                                 technique


                                                             Datamart
                                                                RH




                                                 Datawarehouse
                                         Figure 3: Datawarehouse et Datamart


                               Dotnet France Association – Valentin Pauline
5    Introduction à la B.I. avec SQL Server 2008


           Un datawarehouse représente en fait une base de données, celles-ci étant intégrées (elles
    auront subi une sorte de nettoyage qui les normalisera), non volatiles (c'est-à-dire qu’une fois les
    données rentrées dans l’entrepôt, elles y restent pour de bon), et historisées (ou datées). C’est là la
    différence avec des sources de données transactionnelles (systèmes OLTP). Grâce à la plateforme
    SQL Server Integration Services, cet entrepôt central sera rempli. Mais avant, il est indispensable de
    définir sa structure.


    2.2 Conception du datawarehouse

       Avant de remplir le datawarehouse dans S.S.I.S., la conception de celui-ci s’impose. Viennent
    donc les notions de table de fait et tables de dimensions :




                                             Figure 4: Schéma en étoile

             Une table de dimension contient des colonnes, chaque colonne correspondant à un attribut.
    Une dimension organise ainsi les données contenues dans la table en fonction d’un domaine
    d’intérêt. Exemples de dimension : le temps, le lieu, le type de produit… Les colonnes d’une table de
    faits représentent les faits ou les mesures. Ses données sont généralement numériques, quantifiables
    et agrégeables. Exemples : un montant, une quantité de produits… Les mesures sont en fait les
    critères ou indicateurs que l’on veut étudier en fonction de différents axes ou dimensions.
             Une table de faits contient donc les mesures dont on a besoin, mais aussi les identifiants qui
    font références aux tables de dimensions situées tout autour de la table de fait. On parle alors de
    schéma en étoile, et parfois de schéma en flocon de neige quand le schéma s’étend encore plus. On
    peut en effet inclure des dimensions hiérarchiques, par exemple, si l’on choisit d’admettre une
    dimension temps qui concernerait des années, celle-ci peut être « décomposée » en semestre, puis
    en trimestre… Une fois les dimensions et les faits identifiés, on crée les tables directement sur SQL
    Server, en tant que simples tables. Pour les différencier, on peut spécifier dans le nom s’il s’agit d’une
    table de faits ou de dimension. Le schéma du datawarehouse est, en fait, une simple base de
    données avec nos tables de fait et de dimensions.
            Cette partie de conception demande une connaissance pointue des besoins et attentes de
    l’entreprise concernée. Il faut tout prendre en compte et poser les bonnes questions : Arrivera t-il
    que les dirigeants de l’entreprise changent d’avis sur la périodicité des rapports de leur
    activité (toutes les semaines au lieu de tous les mois par exemple) ? Au lieu d’avoir un compte rendu
    statique, basé sur des critères fixes, le but ici est d’apporter une plus grande liberté qui reposerait sur
    les désirs et les besoins des dirigeants.
            Après la conception du datawarehouse, vient son « remplissage » avec Integration Services.




                                Dotnet France Association – Valentin Pauline
6    Introduction à la B.I. avec SQL Server 2008


    3 Premières notions d’Integration Services


        SQL Server Integration Services est donc la première plateforme à aborder. Dans cette partie
    seront expliquées les notions propres à I.S. : l’ETL, les packages et les tâches d’intégration.


    3.1 L’ETL

            Une fois la structure du datawarehouse définie, les données doivent être insérées. L’outil qui
    va permettre le remplissage de notre base est l’ETL (Extract-Transform-Loading). Comme son nom
    l’indique, il commence par extraire les données provenant de différentes sources (Excel, MySQL…),
    les transforme si besoin est, puis les charge dans le datawarehouse.




                       …




                                             Figure 5: Principe de l'ETL

    Ce processus se déroule donc en trois étapes :
            o Extraction des données à partir d’une ou plusieurs sources de données telles que fichier
                plat, fichier brut, OLE DB (source relationnelles telles que SQL Server, Access…), Excel… ;
            o Transformation des données agrégées ;
            o Chargement des données dans la banque de données de destination (datawarehouse).
    La phase d’ETL est ici incontournable car elle conditionne et influence la qualité du projet par la suite.


    3.2 Package : unité de travail de S.S.I.S.

             Dans Integration Services, on appelle package l’environnement dans lequel on travaille. On
    peut construire plusieurs packages Integration Services, et cela sous l’interface « Business
    Intelligence Development Studio » (B.I.D.S.).




                                Dotnet France Association – Valentin Pauline
7    Introduction à la B.I. avec SQL Server 2008




                                       Figure 6: Interface d'un package SSIS

             Chaque package contient toutes les tâches d’intégration et fonctionne grâce au principe du
    « glisser-déposer », ce qui facilite son utilisation. L’enchainement des tâches d’un package est
    orchestré par le flux de contrôle (Control Flow). Lorsqu’une tâche a pour objectif d’assurer la
    transformation des données, elle est nommée « tâche de flux de données ». A l’intérieur de cette
    tâche se trouve un flux de données (Data Flow) contenant au minimum une source, une
    transformation et une destination (cf. figure 7).




                                         Figure 7: Contenu d'un package

            On remarque également qu’un package contient un onglet « Event Handlers » (cf. figure 6), il
    permet de gérer des évènements qui peuvent survenir durant les étapes d’un package. Quant à
    l’onglet « Package Explorer », il décrit, de façon arborescente, tous les éléments qui composent le
    package. On retient donc qu’un package S.S.I.S. se compose d’un flux de contrôle et, éventuellement,
    d’un ou plusieurs flux de données. La création et la gestion des packages sont maitrisées grâce à des
    assistants et outils fournis par S.S.I.S. Exemples : assistant configuration de packages, assistant
    importation et exportation, concepteur S.S.I.S (outil graphique pour la création de packages)…




                               Dotnet France Association – Valentin Pauline
8    Introduction à la B.I. avec SQL Server 2008


    3.3 Tâches de S.S.I.S.

           Les tâches S.S.I.S participent chacune à sa manière à l’élaboration de l’entrepôt de données.
    Comme expliqué précédemment, les tâches de flux de données aident à la transformation des
    données. Il existe de nombreuses autres tâches, qui concernent souvent soit la maintenance, soit le
    flux en lui-même. Elles se trouvent toutes dans la boîte à outil du Data Flow. En voici quelques unes :
    Exemples de tâches concernant le flux :
         o Tâche de service web : elle permet de lancer une méthode de service web, celui-ci
             permettant la communication et l'échange de données entre systèmes ou applications, par le
             protocole http ;
         o Tâches de transfert de bases de données, de connexions, de messages d’erreur, de
             procédures stockées, et d’objets SQL Server ;
         o Tâche de script : elle permet de créer des fonctions non disponibles directement dans les
             autres tâches de S.S.I.S. (en langage VB par exemple) ;
         o Tâches d’exécution de package, de processus, et de requêtes SQL ;
         o Tâche XML : elle permet de travailler avec des données XML ;
         o Tâche FTP : elle permet à un package de télécharger des fichiers de données depuis un
             serveur distant ;
         o Tâche « Envoyer un message » : elle permet l’envoi de messages notifiant le succès ou
             l’échec d’un évènement.
    Exemples de tâches concernant la maintenance :
         o Tâches de nettoyage d’historique ou de maintenance ;
         o Tâche « Mettre à jour les statistiques » d’une ou plusieurs bases de données ;
         o Tâche « Sauvegarder la base de données » ;
         o Tâche « Vérifier l’intégrité de la base de données ».

        Il est possible de regrouper certaines tâches entre elles dans ce qu’on appelle un conteneur.
    Chaque conteneur contient donc un ensemble de tâches liées entre elles par le même objectif. Il
    existe ainsi des conteneurs répétitifs qui permettent de créer une boucle qui exécutera leurs tâches
    un certain nombre de fois.




                               Dotnet France Association – Valentin Pauline
9    Introduction à la B.I. avec SQL Server 2008


    4 Introduction à Analysis Services


         SQL Server Analysis Services est la plateforme qui permet de créer et gérer des structures
    multidimensionnelles et des modèles d’exploration de données. Pour cela, Analysis Services fournit
    des fonctions OLAP (On Line Analytical Processing), et des applications d’exploration de données
    (data mining). La création des cubes OLAP et des modèles d’exploration se fait avec SQL Server
    Business Intelligence Development Studio, leur gestion avec SQL Server Management Studio. Ces
    analyses comprennent un traitement sur des bases de données volumineuses et permettent de
    comprendre les métriques et les éléments qui influent sur le fonctionnement de l’entreprise.


    4.1 L’infrastructure OLAP

           Les fonctions OLAP permettent, à partir des entrepôts de données, d’analyser l’activité de
    l’entreprise grâce à des statistiques : moyennes mobiles, coefficients de corrélation, valeurs
    cumulées… L’élément principal de l’infrastructure OLAP est le cube (ou hypercube). C’est en fait une
    base de données multidimensionnelle, qui permet l’analyse de ces données. Un cube reprend les
    mesures de la table de fait que l’on a pu établir lors de la conception du datawarehouse, et s’en sert
    pour effectuer des calculs, les mesures étant des données quantitatives. L’exemple de la figure 7
    montre un cube simple à trois dimensions : il présente le chiffre d’affaire que produit un magasin
    situé sur trois sites (Paris, Toulouse et Bordeaux), proposant trois catégories d’articles (vêtements,
    sacs et chaussures), ce chiffre étant calculé chaque trimestre. Ainsi, à l’intersection des trois axes se
    trouve le montant des bénéfices correspondant à la ville, à la période de temps et au type d’article
    choisis.




                                      Figure 8: Représentation d'un cube OLAP

            Les dimensions d’un cube peuvent être affinées par une représentation hiérarchique (cf.
    figure 8).




                                Dotnet France Association – Valentin Pauline
10    Introduction à la B.I. avec SQL Server 2008




                                   Figure 9: Cube OLAP avec hiérarchies de dimensions



              Une telle structure permet d’accéder à un niveau plus précis de données, on parle alors de
     « forage » : le drill down désigne le forage avant, c'est-à-dire le passage à un niveau plus détaillé (on
     zoome sur la dimension), et le drill up désigne le forage arrière (on réalise une jointure des
     composants qui détaillent la dimension). Ces forages sont utiles lors de la création de cubes. On
     réalise des « glisser-déposer » des dimensions choisis jusqu’à un tableau, qui ressemble d’ailleurs
     beaucoup aux tableaux croisés dynamiques que l’on trouve sur Excel. L’exemple ci-dessous (cf. figure
     9) présente le nombre de ventes réalisées par pays et types d’articles, puis par ville et modèles
     d’articles (après un drill down).




                                            Figure 10: Drill down et Drill up



             Grâce au signe , on peut effectuer un forage avant dans la hiérarchie des dimensions, et
     avec le signe , un forage arrière.

            Les mesures que contient un cube peuvent être déjà existantes dans la table de fait (mesures
     physiques), ou elles peuvent résulter d’un calcul (mesures calculées). On peut choisir de mettre plus
     d’une mesure à l’intersection des axes (cf. figure 9). Les croisements entre les différents axes nous
     permettent alors d’accéder à plusieurs indicateurs ou mesures.

                                 Dotnet France Association – Valentin Pauline
11    Introduction à la B.I. avec SQL Server 2008




                                    Figure 11: Cube OLAP avec groupes de mesures

             Le langage qui permet d’interroger les cubes OLAP est le langage MDX (Multidimensional
     Expressions). C’est aussi ce langage qui est utilisé par Analysis Services pour construire les cubes. La
     notion de procédures stockées est également prise en compte dans Analysis Services, elles
     permettent d’étoffer les fonctions basiques du langage MDX. Il est possible d’en écrire sous
     différents langages (VB, C++, C#...).
             Les analyses réalisées par les fonctions OLAP sont utilisées pour évaluer l’entreprise. Vient
     donc la notion de KPI. Les KPI (Key Performance Indicator) sont, comme leur nom l’indique, des
     indicateurs clés de performance qui montrent l’évolution de l’entreprise en matière de qualité et les
     objectifs à atteindre. Un KPI indique par une valeur ou une couleur (échelle prédéfinie) la tendance
     d’une mesure vis-à-vis des objectifs requis.


     4.2 Le data mining

            Le data mining est un processus de fouille de données, il permet d’extraire des connaissances
     à partir d'un volume de données (moins important que dans le cas d’OLAP). Une fois que le problème
     en termes de données est identifié, plusieurs étapes sont nécessaires :
         o On accède aux données sélectionnées ;
         o On les prépare en vue de leur future utilisation ;
         o On les modélise grâce à des analyses et algorithmes de fouille de données ;
         o On extrait et évalue les connaissances résultant de ces analyses ;
         o On déploie les connaissances en vue d’une utilisation effective.




                                Dotnet France Association – Valentin Pauline
12    Introduction à la B.I. avec SQL Server 2008




                                      Figure 12: Méthodologie du data mining



            Par cette méthodologie et à ses nombreux algorithmes, le data mining permet de concevoir
     des schémas et modèles d’exploration de données.

     Le data mining propose une série de tâches pour aider dans l’examen des données :
         o la classification en fonction de caractéristiques définies ;
         o la régression linéaire qui présente les relations entre les données ;
         o la segmentation qui permet la division d’une population en groupes homogènes ;
         o l’association qui examine le comportement de ces groupes ;
         o l’analyse de séquences qui identifie les chemins pris par les clients (sur un site web par
             exemple).


     5 Qu’est ce que Reporting Services ?

          SQL Server Reporting Services offre un ensemble d’outils et de services prêts à l’emploi pour
     définir, gérer et déployer des rapports. Il fournit également des interfaces de programmation
     d'application (API) qui permettent d’étendre les rapports sous d’autres environnements. Ces
     rapports peuvent ensuite être utilisés à l’intérieur de l’entreprise ou diffusés à l’extérieur
     (fournisseurs et clients) grâce à un portail web. Ils peuvent donc être :
         o Internes : administrables avec des conditions d’accès ;
         o Externes : disponibles via Internet ;
         o Embarqués : affichage général dans tous les services de l’entreprise;
         o Collaboratifs : échangés entre plusieurs entreprises.
     De nombreuses formes de restitution sont possibles tels que les formats interactif, tabulaire,
     graphique, matriciel ou libre.




                                Dotnet France Association – Valentin Pauline
13    Introduction à la B.I. avec SQL Server 2008


     6 Conclusion

          Pour conclure ce chapitre, il est important de se rendre compte de l’utilité de l’informatique
     décisionnelle. La BI est riche en solutions et concepts, et elle permet de mettre en place des projets
     pour les grandes entreprises d’aujourd’hui. Microsoft l’a compris en améliorant ses trois services sus
     SQL Server 2008.




                                Dotnet France Association – Valentin Pauline