introduction à la bi avec sql server 2008

13
Introduction à la B.I. Avec SQL Server 2008 Version 1.0 VALENTIN Pauline

Upload: aminmestari

Post on 10-Aug-2015

56 views

Category:

Documents


4 download

DESCRIPTION

une introduction pour savoir utiliser SQL Server 2008

TRANSCRIPT

Page 1: Introduction à la BI avec SQL Server 2008

Introduction à la B.I.

Avec SQL Server 2008 Version 1.0

VALENTIN Pauline

Page 2: Introduction à la BI avec SQL Server 2008

Dotnet France Association – 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

Page 3: Introduction à la BI avec SQL Server 2008

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. ;

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

Moteur BD IS AS RS

SQL Server 2008

Page 4: Introduction à la BI avec SQL Server 2008

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.

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.

Figure 3: Datawarehouse et Datamart

Solution BI

Réunir les données de

chaque service

Obtenir une évaluation de

mon entreprise

Analyser mes données agrégées

(indicateurs)

Datawarehouse

Datamart RH

Datamart service

technique

Datamart service

commercial

Page 5: Introduction à la BI avec SQL Server 2008

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.

Page 6: Introduction à la BI avec SQL Server 2008

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.).

Page 7: Introduction à la BI avec SQL Server 2008

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

Page 8: Introduction à la BI avec SQL Server 2008

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.

Page 9: Introduction à la BI avec SQL Server 2008

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).

Page 10: Introduction à la BI avec SQL Server 2008

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.

Page 11: Introduction à la BI avec SQL Server 2008

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.

Page 12: Introduction à la BI avec SQL Server 2008

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.

Page 13: Introduction à la BI avec SQL Server 2008

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.