Академический Документы
Профессиональный Документы
Культура Документы
-entrepôts de données
1
Plan
Introduction
Les entrepôts de données
Les datamart
Architecture
Modélisation
Alimentation
Les bases de données multidimensionnelles
Le marché du décisionnel
Démonstration
2
INTRODUCTION
Trois générations des SGBD ont déjà vu le jour :
1ère génération des années 70 : Modèles hiérarchiques et
réseau : IDS II, IMS , TOTAL et SOCRATE
Seconde génération des années 80 : Modèle Relationnel
conduit par les produits : ORACLE, DB2, Informix, SYBASE
(SQL SERVER)
3ème génération des années 90 : intégration de l’objet aux
systèmes relationnels et l’apparition des systèmes purs objets
tels que O2 ou Objet Store.
Solution décisionnelle :
Mettre en place un système d’information dédié aux
applications décisionnelles: un data warehouse
/ Les entrepôts de données 6
INFORMATIQUE DECISIONNELLE
ID ou BI (Business Intelligence) désigne les moyens, les
outils et les méthodes qui permettent de collecter ,
consolider, modéliser et restituer les données en vue d’offrir
une aide à la décision
Le but du ID / BI est d’apporter une vision globale des
données de l’entreprise afin de l’évaluer
Population cible : les décideurs (non informaticiens)
Extraction :
épuration, Analyse OLAP,
BD filtrage, fouille de
opérationnelle synthèse, Entrepôt de données données
(OLTP) transformation, (« data wharehouse ») (data mining)
fusion
Autre
source de
données
Chaîne de traitements
Extraction, transformation, chargement dans l’entrepôt
Outils ETL (Extraction, Transformation, Loading)
Analyses de données (intelligence d’affaire)
Agrégats multi-dimensionnels (OLAP)
Fouille de données (data mining)
9
ARCHITECTURE
10
Définition Classique d’un DW
Bill Inmon (1996):
« Le data Warehouse est une collection de
données orientées sujet, intégrées, non
volatiles et historisées, organisées pour le
support d’un processus d’aide à la décision »
Principe: mettre en place une base de
données utilisée à des fins d’analyse
11
Les 4 caractéristiques des data warehouse
1. Données orientées autour des sujets majeurs de
l’entreprise pour disposer de l’ensemble des
informations utiles sur un sujet le plus souvent
transversal : (Clients, produits, ventes, …)
Ne tiens pas compte de l’organisation fonctionnelle
des données
Sujet = faits + dimensions
Ass. Vie Ass. Auto Ass. Santé
Client
2. Données intégrées:
Normalisation des données
Définition d’un référentiel unique
h,f
1,0 h,f
homme, femme
Ajout
Suppression
Accès
Modification Chargement
14
Les 4 caractéristiques des data warehouse
4. Données datées
Les données persistent dans le temps
Mise en place d’un référentiel temps
Image de la base en Mai 2005 Image de la base en Juillet 2006
1 Dupont Paris
Entrepôt
de 1 2005 Mai 1 Durand Lyon
données 2 2006 Juillet
2 Dupont Marseille 15
Domaines d’utilisation des DW
Banque
Bancaire : suivi des clients
Santé
Commerce
Ciblage de clientèle
Déterminer des promotions
Grande distribution : marketing, maintenance
Télécommunications : pannes, fraudes, mobiles, ...
classification des clients, détection fraudes, fuites de
clients
16
Trois fonctions essentielles :
collecte de données de bases existantes et chargement
gestion des données dans l’entrepôt
analyse de données pour la prise de décision
17
Architecture générale : 3 zones
Zone de
Zone de préparation Zone de stockage présentation
E
X
C
T H
R A
Transformations: Data Requêtes
A R
Nettoyage warehouse Rapports
C G
T Standardisation Visualisation
E
I … Data Mining
M
O …
E
N
N
Sources de Datamart
T
données
18
Extraction
Extraire des données des systèmes de production
Dialoguer avec différentes sources:
Base de données,
Fichiers,
Utilise connecteurs :
ODBC,
SQL,
Fichiers plats
19
Transformation
Rendre cohérentes les données des différentes
sources
Transformer, nettoyer, trier les données
Exemple: unifier le format des dates
(MM/JJ/AA JJ/MM/AA)
Etape très importante, garantit la cohérence et la
fiabilité des données
20
Chargement
Insérer ou modifier les données dans l’entrepôt
Utilisation de connecteurs:
ODBC,
SQL ,
Fichiers plats
21
Mise à jour de l’entrepôt
Entrepôt mis à jour régulièrement
Besoin d’un outil permettant d’automatiser les chargements
dans l’entrepôt
22
Définition d’un ETL
Offre un environnement de développement
Offre des outils de gestion des opérations et de
maintenance
Permet de découvrir, analyser et extraire les données
à partir de sources hétérogènes
Permet de nettoyer et standardiser les données
Permet de charger les données dans un entrepôt
23
Datamart
Sous-ensemble d’un entrepôt de données
Destiné à répondre aux besoins d’un secteur ou
d’une fonction particulière de l’entreprise
Point de vue spécifique selon des critères métiers
Datamarts du
service Marketing
Datamart du
DW de l’entreprise service Ressources
Humaines 24
Intérêt des datamart
Nouvel environnement structuré et formaté en
fonction des besoins d’un métier ou d’un usage
particulier
Moins de données que DW
Plus facile à comprendre, à manipuler
Amélioration des temps de réponse
25
Recap : Entrepôts de données
Sujets touchant une organisation :
Par exemple, les ventes et les produits
Données intégrées :
Proviennent de différentes sources : systèmes
transactionnels, systèmes d’archivage, sources
externes à l’organisation
Données qui varient dans le temps :
Données courantes et données historiques
Données non-volatiles :
Aucune mise à jour, seulement des ajouts
Données qui servent à supporter les processus
de décision :
Serviront à l’analyse
Entrepôts de données
L’entrepôt de données réfère aux bases de données
développées afin d’analyser un grand volume de
données (très grande base de données (TGBD en anglais VLDB)
Le contenu est fait des données actuelles et
d’archives
Les données sont agrégées ou résumées
Aucune mise à jour n’est effectuée, mais l’ajout de
nouvelles données est possible
Un système global existe dans les grandes
organisations
Résumé des concepts
29
Composantes OLAP
L’architecture OLAP consiste en trois services :
Base de données :
Doit supporter les données agrégées ou résumées
Doit posséder une structure multidimensionnelle (SGDB
multidimensionnel ou relationnel)
Serveur OLAP :
Gère la structure multidimensionnelle dans le SGBD
(Permet d’associer une ou plusieurs valeurs (appelées
« mesures ») à chaque croisement de dimensions
ex. nombre d’articles vendus, total des ventes
Gère l’accès aux données de la part des usagers
Module client :
Permet aux usagers de manipuler et d’explorer les
données
Affiche les données sous forme de graphiques
statistiques et de tableaux
MOLAP
(OLAP Multidimensionnel)
Les données détaillées de base ainsi que les données agrégées
de l’entrepôt sont stockées dans une base de données
multidimensionnelle (souvent appelée cube ou hypercube)
Le terme « cube » de données est la version allégée de
« hypercube » de données car le nombre de dimensions N
est souvent supérieur à 3
Une base de données multidimensionnelle utilise une structure
propriétaire au logiciel utilisé ( matrice)
Le serveur MOLAP extrait les données de l’hypercube et les
présente directement au module client
MOLAP
(OLAP Multidimensionnel)
Serveur ROLAP
Client OLAP
Base de données
relationnelle Vue
(étoile ou flocon) multidimensionnelle
HOLAP (OLAP Hybride)
Architecture qui consiste en un croisement des architectures
MOLAP et ROLAP
Les données détaillées de base de l’entrepôt sont stockées
dans une BDR et les données agrégées sont stockées dans une
BD multidimensionnelle
Le serveur HOLAP accède deux bases de données et les
présente au module client, selon une vue multidimensionnelle
dans le cas des données de la BD relationnelle
HOLAP (OLAP Hybride)
MOLAP vs ROLAP vs HOLAP
H
I
Data Warehouse S
T
OLAP: On-Line O
Analitical R
Clientèle I
Processing
Q
U
38
E
OLTP VS OLAP
OLTP OLAP
Orienté transaction Orienté analyse
Orienté application Orienté sujet
Données courantes Données historisées
Données détaillées Données agrégées
Données évolutives Données statiques
Utilisateurs nombreux, Utilisateurs peu nombreux,
administrateurs/opérationnels manager
Temps d’exécution: court Temps d’exécution: long
39
Modélisation des DW
Nouvelle méthode de conception autour des
concepts métiers
Ne pas normaliser au maximum
Introduction de nouveaux types de table:
Table de faits
Table de dimensions
Introduction de nouveaux modèles:
Modèle en étoile
Modèle en flocon
BD R (Relation et Tables ) : BI
Tables Dimension et Faits 40
Faits et Dimensions
Fait:
Ce que l’on souhaite mesurer
Quantités vendues, montant des ventes…
Dimension = axe d’analyse
Dimension Client,
Dimension produit,
Dimension période de temps…
41
Table de faits
Table principale du modèle dimensionnel
Contient les données observables (les faits) sur le sujet
étudié selon divers axes d’analyse (les dimensions)
Contient les clés étrangères des axes d’analyse
(dimension) : Date, produit, magasin
Table de faits des ventes
Clés étrangères Clé date (CE)
vers les Clé produit (CE)
dimensions Clé magasin (CE)
Quantité vendue
Faits Coût
Montant des ventes
42
Table de dimension
Axe d’analyse selon lequel vont être étudiées les données
observables (faits)
Contient le détail sur les faits
Contient souvent un grand nbre de colonnes et moins
d’enregistrements/ table fait
Dimension produit
Clé de substitution Clé produit (CP)
Code produit
Description du produit
Attributs de la Groupe de produits
dimension Marque
Emballage
Poids 43
La dimension Temps
Commune à l’ensemble du Dimension Temps
DW Clé temps (CP)
Reliée à toute table de Jour
faits Mois
Trimestre
Semestre
Année
44
Les types de modèles
50
Schémas en étoile
Une table de faits encadrées par N tables de dimensions
Produits
Periodes Table de faits “ventes” IDprod
description
IDper periode couleur
année taille
produit
trimestre fournisseur
mois magasin
jour Magasins
unités_vendues
IDmag
montant_ventes
nom
taxes_ventes ville
département
Conception DW pays
Schémas en flocons
Raffinement du schéma étoile avec des tables normalisées
par dimensions
Produits Fournisseurs
IDprod IDfour
Ventes description description
couleur type
taille Adresse
Avantages IDfour
Évite les redondances
Conduit aux constellations (plusieurs tables de faits à dimensions
partagées)
Conception DW
Démarche Conception du schéma intégré
Conception DW
54
Pb : Dénormalisation
55
56
RECAP
57
Langage de requêtes
Comme SQL pour les bases de données relationnels,
il existe des langages de requêtes pour l’utilisation
des OLAP :
58
Manipulation des données
multidimensionnelles
MDX (Multidimensional Expression)
Langage d’expression OLAP pour MS SQL Server
Langage permettant de définir, d'utiliser et de
récupérer des données à partir d'objets
multidimensionnels
Permet d’effectuer les opérations décrites
précédemment
Equivalent de SQL pour le monde OLAP
Origine: Microsoft
59
Extension de SQL
ROLLUP: CUBE:
SELECT <column list> SELECT <column list>
FROM <table…>
FROM <table…>
GROUP BY
GROUP BY
ROLLUP(column_list);
CUBE(column_list);
Crée des agrégats à
n+1 niveaux, n étant le Crée 2n combinaisons
nombre de colonne de d'agrégats, n étant le
groupage nombre de colonne de
n, n-1, n-2,…0 colonnes groupage
Implémentation
Regroupements multidimensionnels (CUBE et
ROLLUP SQL:1999 )
GROUP BY SQL
SQL>
2
SELECT noClient,noArticle,SUM(montant)
FROM Vente
noArticle
3 GROUP BY noClient,noArticle
4 /
10 20 40 50 60
NOCLIENT NOARTICLE SUM(MONTANT)
---------- ---------- ------------
1 10 500 1 500 200 100 200 200
1 20 200
1 40 100
1 50 200 noClient 2 700 300 0 0 400
1 60 200
2 10 700
2 20 300 3 1000 400 100 200 0
2 60 400
3 10 1000
3
3
20
40
400
100
4 300 0 0 0 500
3 50 200
4 10 300
4 60 500
Tableau croisé
61
Clause CUBE SQL:1999
SQL> SELECT noClient,noArticle,SUM(montant)
2 FROM Vente
3 GROUP BY CUBE(noClient,noArticle)
4 /
62
Clause ROLLUP SQL:1999
SQL> SELECT noClient,noArticle,SUM(montant)
2 FROM Vente
3 GROUP BY ROLLUP(noClient,noArticle)
4 /
63
Quelques solutions commerciales
64
Quelques solutions open source
ETL Entrepôt OLAP Reporting Data Mining
de données
Octopus MySql Mondrian Birt Weka
Kettle Postgresql Palo Open Report R-Project
CloverETL Greenplum/Biz Jasper Report Orange
Talend gres JFreeReport Xelopes
Intégré
Pentaho (Kettle, Mondrian, JFreeReport, Weka)
http://eric.univ-lyon2.fr/~kaouiche/inf9002/mdx.html
SpagoBI
65
Le Décisionnel (BI) avec SQL Server @2003
SQL SERVER présente 3 plateformes pour réaliser
un projet BI :
Intégration Services (SSIS): permet d’intégrer des données
provenant des différentes sources des données dans
l’entrepôt de données (ETL) . Successeur de DTS de SQL
SERVER 2000
Analyses Services (SSAS): assure les données agrégées
grâce à des fonctions d’analyse mutidimensionnelle
Reporting Services (SSRS) : crée, gère et publie des
rapports résultant des analyses réalisées
BI SQL SERVER
67
ESPACE DE TRAVAIL (SSIS)
-IS fournit un environnement de travail sous forme de package fonctionne grâce
au principe de « glisser-déposer » et doté d’un espace de travail (central)
divisé en 4 parties sous forme d'onglet et une boite à outils correspondant :
Le Control Flow ou flux de contrôle : permet de contrôler, d'ordonner les
tâches à réaliser par le package, il assure donc l’enchaînement des tâches .
Le Data Flow ou flux de données : permet de contrôler, d'ordonner les
flux de données à traiter. C'est à cette étape que la connexion, la sélection,
la transformation et l'insertion des données sont réalisées.
L'Event Handlers ou gestionnaire d'évènements qui peuvent être
associés aux éléments du package.
Le Package Explorer ou explorateur de package : décrit d’une façon
arborescence tous les éléments qui composent le package.
Le Décisionnel (BI) avec SQL Server
2008 (Solution Microsoft)
SQL SERVER présente 3 plateformes pour
réaliser un projet BI :
Intégration Services : permet d’intégrer des données
provenant des différentes sources des données dans
l’entrepôt de données (ETL)
Analyses Services : assure les données agrégées grâce à
des fonctions d’analyse mutidimensionnelle
Reporting Services : crée, gère et publie des rapports
résultant des analyses réalisées
Services BI
Moteur BD IS AS RS
MS VISUAL STUDIO
Créer un nouveau projet : Fichier / Nouveau
FLUX DE DONNEES
Organisée en 3 parties : les composants
source, les composants transformation et
les composants destination.
73
Le cube
Modélisation multidimensionnelle des données facilitant l’analyse
d’une quantité selon différentes dimensions:
Temps , Localisation géographique
Produits Pays
oranges
Espagne
poires
pommes Allemagne
France
Vente de
janvier avril pommes en
Allemagne
février
Temps en avril
74
Manipulation des données
multidimensionnelles
Opération agissant sur la structure
Tranchage (slicing): consiste à ne travailler que sur une
tranche du cube. Une des dimensions est alors réduite à une
seule valeur
05 06 07 06
Œuf Idf 220 265 284 Œuf Idf 265
Ain 225 245 240 Ain 245
Viande Idf 163 152 145 Viande Idf 152
Ain 187 174 184 Ain 174
75
Manipulation des données
multidimensionnelles
Opération agissant sur la structure
Extraction d’un bloc de données (dicing): ne travailler que
sous un sous-cube
05 06 07
Œuf Idf 220 265 284 05 06 07
Ain 225 245 240 Œuf Idf 220 265 284
Viande Idf 163 152 145 Ain 225 245 240
Ain 187 174 184
76
Manipulation des données multidimensionnelles
Opération agissant sur la granularité
Forage vers le haut (roll-up): « dézoomer »
Obtenir un niveau de granularité supérieur
77
MDX (Multidimensional Expressions)
Langage permettant de définir, d'utiliser et de récupérer
des données à partir d'objets multidimensionnels
Permet d’effectuer les opérations décrites précédemment
Equivalent de SQL pour le monde OLAP
Origine: Microsoft
78
SQL SERVER ANALYSE
SERVICES
-Lancer par MS Visual Studio
79
SQL SERVER ANALYSE SERVICES
-Création d’un projet :
après le lancement du visual studio, on choisit un projet de type SSAS , la
fenêtre suivante sus-après avec : Des barres à outils, barre de menus, un
espace concepteur, explorateur de solutions
80
SQL SERVER ANALYSE SERVICES
-On définit une source de données : Choix du mode de définition de la
connexion (basée sur une nouvelle connexion ou une connexion existente)
-Pour une nouvelle connexion on définit : Fournisseur de connexion, connexion
au fournisseur, type de connexion (SQL Server) et connexion à la BD
81
Connexion à la BD AventureWorksDW
82
SQL SERVER ANALYSE SERVICES
-Définition d’une vue de source de données à partir de la source de données
-Sélection des objets de la source de données
83
SQL SERVER ANALYSE SERVICES
-Définition d’une vue de la source de données
84
SQL SERVER ANALYSE SERVICES
Visualisation de données sous forme de :
Tables
Tableau croisé dynamique
Graphique
Graphique croisée dynamique
Cube
85
Etude de cas
Créer un projet de type SSAS en lui donnant le
nom SalesTrends
Utiliser la BD AventureWorksDW et réaliser un
cube avec les dimensions Produit et time et
comme dimension de votre choix si Pb au niveau
de la Bd exemple créer votre Bd personnelle et
faire le travail
Utiliser le cube par excel
86
MDX, exemple
Fournir les effectifs d’une société pendant les années 2004
et 2005 croisés par le type de paiement
2004 2005
Heure 3396 4015
Jour 3678 2056 87
Article Article
Client
Client
D D
at at
e e
Client
Client
Client
Client
Hiérarchie de cuboïdes
D D D D
at at at at
e e e e
Article Article
Client
Client
D D
at at
e e
88
Implémentation OLAP
SGBD relationnel
OLAP relationnel (ROLAP )
SGBD spécialisé
OLAP multidimensionnel (MOLAP)
89
MOLAP Oracle
Analytical Workspace (AW)
tableau multidimensionnel
OLAP DML
langage spécialisé pour traitement OLAP
Stocké dans la BD sous forme LOB
Passerelle avec SQL par l’intermédiaire d’une
couche relationnelle-objet au dessus du AW
90
Modèle en flocon
91
Aperçu d’un ETL
92
Architecture type
Introduction DW
Le data cube et les dimensions
Variables analysées:
Nb unités, CA, marge...
Implémentation
GROUP BY GROUPING SETS
99
GROUP BY CUBE
Partitionnement selon tous les sous-ensembles possibles de
Grouping Sets
SELECT #Client, #Produit, #Fournisseur, SUM(Montant) FROM
Ventes GROUP BY CUBE (#Client, #Produit, #Fournisseur)
est équivalent à
SELECT #Client, #Produit, SUM(Montant) FROM Ventes GROUP
BY GROUPING SETS (
(), -- total des ventes
(#Client), -- total des ventes par Client
(#Fournisseur),-- total des ventes par Forunisseur
(#Produit), -- total des ventes par Produit
(#Client, #Fournisseur) -- total des ventes par Client et par
Fournisseur
(#Client, #Produit), -- total des ventes par Client et par Produit
(#Produit, #Fournisseur), -- total des ventes par Produit et par
Fournisseur
(#Client, #Produit, #Fournisseur) –
total des ventes par Client, Produit et Fournisseur )
Le marché du décisionnel
101
6. Le marché