Entrepôt de données et l’Analyse en ligne
Maguelonne Teisseire Hugo Alatrista Salas – hugo.alatrista-‐[email protected] Flavien Bouillot
Déroulement du cours • 17 janvier : cours et TD • 20 janvier : cours? et TP • 20 janvier : CC noté
• ý Une par9e de l’examen final portera sur ce cours
2
Plan de cours 1. Systèmes d’informa9on décisionnelles
2. Entrepôt de données (Data Warehouse)
3. Analyse Mul9dimensionnelle
3
Systèmes d’information décisionnelles
4
Contexte
Pilotage
Indicateurs
Operations(Administratif + Métier) 5
Contexte
Pilotage
Indicateurs
Operations(Administratif + Métier)
Décisionnel
Fonc9onnel 6
Problématique 1 • Les entreprises possèdent de nombreuses sources de données poten9ellement exploitables
7
Problématique 2 • Les sources de données sont disséminées sur diverses bases de données
Ventes
Stock
RH 8
Problématique 3 • Le besoin d’analyse exprimé est transversal afin de perme`re la prise de décision stratégique
Ventes
Stock
RH
9
Problématique 4 • Type de données : données opéra9onnelles (de produc9on) • Bases de données, fichiers, 9ckets case, bulle9ns de paie, ...
• Caractéris9ques des données : • Distribuées : systèmes éparpillés • Hétérogènes : systèmes et structures de données différents • Détaillées : organisa9on de données selon les processus fonc9onnels et données trop abondantes pour l’analyse
• Peu/pas adaptées à l’analyse : des requêtes lourdes peuvent bloquer le système transac9onnel
• Vola9les : pas d’historisa9on systéma9que 10
L’idée – centralisation 1
Ventes
Stock
RH 11
L’idée – centralisation 2
Ventes
Stock
RH
Data Warehouse + OLAP 12
Du transactionnel au décisionnel
Schème opérationnelle
Données opérationnelles
Schème du Data Warehouse
Données consolidées
Schème utilisateur
Données derivées
Système OLTP Data Warehouse Applications OLAP
13
Pour quoi pas utiliser OLTP? OLTP Data Warehouse
Données Atomiques Orientée applica9on A jour Dynamiques
Résumées Orientée sujet Historiques Sta9ques
U9lisateurs Employés de bureau Nombreux Concurrents Mises à jour Requêtes prédéfinies Réponses immédiates
Analystes Peu Non concurrents Interroga9ons Requetés spécifiques Réponses moins rapides
Access à peu de données Access à beaucoup d’informa9on 14
Métaphore du restaurant
h`p://www.kimballgroup.com/2004/01/01/data-‐warehouse-‐dining-‐experience/
Raw materials The kitchen The dinning room
Prepara1on : the kitchen Quality, consistency, and integrity
Presenta1on : the dinning room Food, decor, service, cost
15
L’entrepôt de données (Data Warehouse)
16
Les fondateurs Edgar Frank Codd • Fondateur du modèle rela9onnelle (1970) • Ecrit les douze lois du traitement analy9que en ligne (1993)
Ralph Kimball • Des premiers travaux sur la informa9que décisionnelle ‘70
• Proposé le modèle Bo`on-‐up
Bill Inmon • Formalisé du concept d’entrepôt de données (1994)
• Proposé le modèle Top-‐down
17
DéNinition (B. Inmon) -‐ 1994
• « Un entrepôt de données est une collec9on de données orientées sujet, intégrées, non vola9les et historiées, organisées pour le support d’un processus d’aide à la décision »
• « Un entrepôt de données ne s’achète pas, il se construit… »
18
Les approches académiques
R. Kimball www.kimballgroup.com
B. Inmon www.inmoncif.com
Processus Bo`om-‐up Top-‐down
Organisa9on Data marts Data Warehouse
Schéma9sa9on Etoile Flocon
19
Approche Top-‐down (Inmon) Qui veut par9ciper?
Ventes Stock
RH
Nous!!!
20
Schéma général
Ventes
Stock
RH
ETL
RH
Stock
Ventes
Data Warehouse
Datamarts
21
Approche Down-‐top (Kimball) Veux-‐tu
par9ciper? Veux-‐tu par9ciper?
Oui Oui
RH Stock
22
Schéma général
Ventes
Stock
RH
ETL
RH
Stock
Ventes
Data Warehouse
Data marts
Bus
23
Data Mart • Un magasin de données (Data mart) est un sous-‐ensemble de l'entrepôt
• Il correspond à une classe de décideurs intéressés par le même thème
• Son volume réduit permet un accès plus rapide aux données • Généralement le magasin est modélisé sous forme mul9dimensionnelle
• Les ou9ls ETL peuvent être u9lisés à ce niveau
24
Les phases 1. La concep9on (et la phase ETL) 2. La phase de structura9on 3. La phase OLAP
25
Conception • Piloter quelle ac9vité́ de l’entreprise • Déterminer et recenser les données à u9liser • Définir les aspects techniques de la réalisa9on • Construire les modelés de données • Me`re au point les démarches d’alimenta9on (ETL) • Définir les stratégies d’administra9on • Définir des espaces d’analyse • Définir le mode de res9tu9on • … 26
ETL Alimenta9on du Data Warehouse et extrac9on des Data marts • Extract • Accès aux différentes sources • Selon des règles (déclencheurs) ou requêtes • Périodique
• Transform • Unifica9on des modèles (sources hétérogènes) • Ges9on des inconsistances des données sources, élimina9on des doubles, etc.
• Load • Chargement dans l'entrepôt ou dans les magasins • Périodicité́ parfois longue 27
Ex. d’intégration des données m, f
h, f
homme, femme
homme, femme
Transforma9
on
FRF
USD
EUR
EUR Transforma9
on
char(10)
dec(13,3)
numeric(7)
numeric(7)
Transforma9
on
28
La structuration 1 1. Extrac9on des données • Besoin d’ou9ls spécifiques pour :
• Accéder aux bases de produc9on (requêtes sur des BD hétérogènes) • Améliorer la qualité́ des données : ne`oyer, filtrer, … • Transformer les données : intégrer, homogénéiser • Dater systéma9quement les données
29
La structuration 2 2. Référen9el • La métabase con9ent des métadonnées : des données sur les données de l’entrepôt de données • Quelles sont les données «entreposées», leur format, leur Significa9on, leur degré́ d’exac9tude
• Les processus de récupéra9on/extrac9on dans les bases sources • La date du dernier chargement de l’entrepôt • L’historique des données sources et de celles de l’entrepôt
30
La structuration 3 2. Les modèles (ils sont détaillées ensuite) • Modèle en étoile • Modèle en flocon • Modèle en constella9on
31
Modèle en étoile • Une table de faits : iden9fiants des tables de dimension ; une ou plusieurs mesures
• Plusieurs tables de dimension : descripteurs des dimensions • Une granularité́ définie par les iden9fiants dans la table des faits • Avantages : • Facilité de naviga9on • Performances : nombre de jointures limité ; ges9on des données creuses. Ges9on des agrégats
• Fiabilité́ des résultats • Inconvénients : • Toutes les dimensions ne concernent pas les mesures Redondances dans les dimensions
• Alimenta9on complexe 32
Schéma en étoile
Table de faits
Dimension 1
Dimension 2
Dimension 3
Dimension n 33
Exemple de schéma en étoile
Faits
numComm codProd cleDate quan9te prix
Commande
numComm detaille
Produit
codProd detaille categorie
Date
cleDate jour mois annee 34
Modèle en Nlocon • Le modèle doit être simple à comprendre : on peut augmenter sa lisibilité́ en regroupant certaines dimensions
• On définit ainsi des hiérarchies : celles-‐ci peuvent être géographiques ou organisa9onnelles
Mod. flocons de neige = Mod. étoile + normalisa5on des dimension • Avantages : • Réduc9on du volume • Perme`re des analyse par pallier (drill down) sur la dimension hiérarchisée
• Inconvénients : • Naviga9on difficile • Nombreuses jointures 35
Schéma en Nlocon
Table de faits
36
Exemple de schéma en Nlocon
Faits
numComm codProd cleDate quan9té prix
Commande
numComm detaille
Produit
codProd detaille codCate
Categorie
codCate descrip9on
Date
cleDate Jour cleMois
Mois
cleMois mois cleAnnee
Annee
cleAnnee annee
37
Modèle en constellation • La modélisa9on en constella9on consiste à fusionner plusieurs modèles en étoile qui u9lisent des dimensions communes.
• Un modèle en constella9on comprend donc plusieurs tables de faits et des tables de dimensions communes ou non à ces tables de faits.
38
Concernant l’hiérarchie Hiérarchie Simple Hiérarchie Mul1ple
Produit
Categorie
Jour
Mois Semaine
Annee
39
L’analyse multidimensionnelle
40
L’analyse multidimensionnelle • Objec9f : obtenir des informa9ons déjà̀ agrégées selon les besoins de l’u9lisateur : simplicité́ et rapidité́ d’accès
• HyperCube OLAP : représenta9on de l’informa9on dans un hypercube à N dimensions
• OLAP (On-‐Line Analy9cal Processing) : fonc9onnalités qui servent à faciliter l’analyse mul9dimensionnelle : opéra9ons réalisables sur l’hypercube
41
(Hyper)Cube de données 1
Faits
numComm codProd cleDate quan9te prix
Commande
numComm detaille
Produit
codProd detaille categorie
Date
cleDate jour mois annee
Commande
Prod
uit
Fait
42
Composantes d’un cube • Chaque cellule du cube correspond à une occurrence du fait • Chaque cellule con9ent des indicateurs (variables, métriques ou mesures)
• Les axes d'analyse, également appelés dimensions, con9ennent un ensemble de valeurs
• Des hiérarchies sont spécifiées sur les dimensions afin de perme`re une consolida9on des indicateurs
• Chaque indicateur a une fonc1on d’agrégat afin d’être exploité sur la hiérarchie
43
(Hyper)Cube de données 2
Commande
Prod
uit
Axes d’analyse
quan9te prix
Indicateurs
Fait 44
Exemple 1 MAGASIN
Paris
Lille
Londres
Tokyo
France
Anglaterre
Japan
Europe
Asie
PRODUITS
Sac-à-main
Bottes
Foulard
Gants
Cuir
Laine
2012Janvier
DécembreJanvier
Décembre 2013
DATES
QuantitéMontants
VENTES
45
Exemple 2 MAGASIN
34000
34090
59100
08090
Montpellier
Lille
Ardennes
Sud
NordJEUX VIDEO
Resident Evil
Darkness 2
Fifa 2013
PES 2014
Action
Sport
2012Janvier
DécembreJanvier
Décembre 2013
DATES
Unités venduesPrix unitaire
VENTES
46
L'implémentation du OLAP • MOLAP (Mul9dimensional OLAP) • Le cube est stocké sous forme propriétaire par un SGBD mul9dimensionnel dans une matrice
• On trouve en colonne tous les axes, puis tous les indicateurs • Chaque cellule du cube est stockée par une ligne dans la matrice
• ROLAP (Rela9onal OLAP) • Le stockage peut s'effectuer sur un SGBD rela9onnel classique • Le cube est stocké selon le modèle en étoile (flocon ou constella9on)
• HOLAP (Hybride OLAP) • ROLAP + MOLAP 47
Operateurs algébriques OLAP • Modèle rela9onnel : projec9on, jointure, restric9on, union, division, intersec9on, etc.
• Modèle OLAP : drill-‐up, drill-‐down, slice, dice, pivot, switch, etc.
48
Catégories d'opérations OLAP 1 • Restructura9on : opéra9ons liées à la structure, manipula9on et visualisa9on du cube : • Rotate/pivot : effectuer à un cube une rota9on autour d’un de ses trois axes passant par le centre de 2 faces opposées, de façon à présenter un ensemble de faces différents
• Switch : consiste à inter-‐changer la posi9on des membres d’une dimension
• Split : consiste à présenter chaque tranche du cube et de passer d’une présenta9on tridimensionnelle d’un cube à sa présenta9on sous la forme d’un ensemble de tables
• Nest : imbrica9on des membres à par9r du cube • Push : combiner les membres d’une dimension aux mesures du cube 49
Catégories d'opérations OLAP 2 • Granularité́ : concerne un changement de niveau de détail : opéra9ons liées au niveau de granularité́ des données : • Roll-‐up : consiste à représenter les données du cube à un niveau de granularité́ supérieur conformément à la hiérarchie définie sur la dimension. Une fonc9on d’agréga9on (somme, moyenne, etc.) en paramètre de l’opéra9on indique comment sont calculés les valeurs du niveau supérieur à par9r de celles du niveau inférieur
• Drill-‐down : consiste à représenter les données du cube à un niveau de granularité́ de niveau inférieur, donc sous une forme plus détaillée (selon la hiérarchie définie de la dimension)
50
Catégories d'opérations OLAP 3 • Ensembliste : concerne l’extrac9on et lʼOLTP classique : • Slice : correspond à une projec9on selon une dimension du cube • Dice : correspond à une sélec9on du cube
51
Rotate/pivot
2013 Foulard Botes Gants
Nimes 40 60
Lille 20 30
Paris 10 20
Foulard 2010 2011 2012 2013
Nimes 50 60 40
Lille 70
Paris 100 30 10
MAG
ASIN Nimes
Lille
Paris
PRODUITS
Gants
FoulardBotes
ANNEES
2010 2011 2012 2013
50 60 40
70
100 30 10
5070
60 40
50 50 6040
4060
3020
20
10
52
Switch
MAG
ASIN Nimes
Lille
Paris
PRODUITS
Gants
FoulardBotes
ANNEES
2010 2011 2012 2013
50 60 40
70
100 30 10
5070
60 40
50 50 6040
4060
3020
20
10
MAG
ASIN Nimes
Lille
Paris
PRODUITS
Gants
FoulardBotes
ANNEES
2010 2011 20122013
50 60 40
70
100 30 10
5070
60 40
50 506040
40
50
6010
20
2013 Foulard Botes Gants
Nimes 40 60
Lille 20 30
Paris 10 20
2012 Foulard Botes Gants
Nimes 40 50
Lille 10 60
Paris 20
53
Split Foulard 2010 2011 2012 2013
Nimes 50 60 40
Lille 70
Paris 100 30 10
Botes 2010 2011 2012 2013
Nimes 70 40
Lille 20 20
Paris 30 30
Gants 2010 2011 2012 2013
Nimes 50 50 60
Lille 70 10 30
Paris 30 20
MAG
ASIN Nimes
Lille
Paris
PRODUITS
Gants
FoulardBotes
ANNEES
2010 2011 2012 2013
50 60 40
70
100 30 10
5070
60 40
50 50 6040
4060
3020
20
10
54
Nest MAG
ASIN Nimes
Lille
Paris
PRODUITS
Gants
FoulardBotes
ANNEES
2010 2011 2012 2013
50 60 40
70
100 30 10
5070
60 40
50 50 6040
4060
3020
20
10
Nimes Lille Paris
Foulard
2010 50 70 100
2011 60 30
2012 40
2013 10
Botes
2010 70
2011 20 50
2012
2013 40 20
Gants
2010 20
2011 50 10
2012 50
2013 60 30 20
nest(produit, annee)
55
Push MAG
ASIN Nimes
Lille
Paris
PRODUITS
Gants
FoulardBotes
ANNEES
2010 2011 2012 2013
50 60 40
70
100 30 10
5070
60 40
50 50 6040
4060
3020
20
10
push(annee) Foulard Botes Gants
Nimes
2010 50 2011 60 2012 40
2010 70
2013 40
2011 50 2012 50 2013 60
Lille
2010 70
2010 10
2012 50 2013 20
2011 20
2013 30
Paris
2010 100 2011 30
2013 10
2012 40
2011 50
2013 20
56
Roll-‐up et Drill-‐down • Roll-‐up : représente les données du cube à un niveau de granularité́ supérieur conformément à la hiérarchie définie sur la dimension
• Drill-‐down : représente les données du cube à un niveau de granularité́ de niveau inférieur, donc sous une forme plus détaillée
tout-‐lieu
nord centre sud
Lille … Paris … Nimes … 57
Exemples de Roll-‐up
Foulard Botes Gants
Nimes 150 110 160
Lille 70 80 90
Paris 140 20 80
tout-‐ANNEES
MAG
ASIN Nimes
Lille
Paris
PRODUITS
Gants
FoulardBotes
ANNEES
2010 2011 2012 2013
50 60 40
70
100 30 10
5070
60 40
50 50 6040
4060
3020
20
10
220 90 40 10 1060
110
tout-MAGASIN 58
Exemple de Drill-‐down
MAG
ASIN Nimes
Lille
Paris
PRODUITSCuir
Laine
ANNEES
2010 2011 2012 2013
50 60 40
70
100 30 10
5070
60 40100
100
50
10
MAG
ASIN Nimes
Lille
Paris
PRODUITS
Gants
FoulardBotes
ANNEES
2010 2011 2012 2013
50 60 40
70
100 30 10
5070
60 40
50 50 6040
4060
3020
20
10
50 50
20
59
Slide (projection) MAG
ASIN Nimes
Lille
Paris
PRODUITS
Gants
FoulardBotes
ANNEES
2010 2011 2012 2013
50 60 40
70
100 30 10
5070
60 40
50 50 6040
4060
3020
20
10
πannees,produits
2010 2011 2012 2013
Foulard 220 90 40 10
Botes 90 20 60
Gants 100 50 110
220 90 40 10 10
PRODUITS
Gants
FoulardBotes
ANNEES
2010 2011 2012 2013
6011090
5060
11010020
tout-MAGASIN
104090220
60
Dice (selection)
MAG
ASIN Nimes
Lille
Paris
PRODUITS
Gants
FoulardBotes
ANNEES
2010 2011 2012 2013
50 60
70
100
5070
60
50 50 60
60
ventes ≥ 50
MAG
ASIN Nimes
Lille
PRODUITS
FoulardBotes
ANNEES
2010 2011
50 60
70
5070
60
(MAGASIN = Nimes OR MAGASIN = Lille) AND (ANNEE = 2010 OR ANNEE = 2011) AND (PRODUITS = Foulard OR PRODUITS = Botes)
61
Langages pour OLAP • SQL étendu (Extensions de SQL-‐3 / SQL-‐99 pour OLAP) : • Nouvelles fonc9ons SQL d’agréga9on: Rank, N_9le • Nouvelles fonc9ons de la clause GROUP BY :
• ROLLUP • CUBE • GROUPING SETS (mul9ple GROUP Bys)
• Fenêtre glissante : • WINDOWS/OVER/PARTITION
• MDX (Mul9 Dimensional eXpression) : • Langage de requêtes OLAP • Proposé par Microso� (1997)
62
Références • Cours Systèmes d’informa9on décisionnels, E. GRISLIN-‐LE STRUGEON et D. DONSEZ
• Cours de Entrepôts de données et analyse en ligne, Bernard ESPINASSE
• h`p://www.kimballgroup.com/ • SQL Server Microso� et OLAP • Cours de Introduc9on aux systèmes d’informa9on décisionnelle, O. Boussaid
63