Vous êtes sur la page 1sur 10

24/12/2015

Actualités du cours

http://eric.univ-lyon2.fr/~jdarmont/?page_id=2519
Entrepôts de données
http://eric.univ-lyon2.fr/~jdarmont/?feed=rss2

Année 2015-2016
Jérôme Darmont
https://twitter.com/darmont_lyon2 hashtag #edemse

http://eric.univ-lyon2.fr/~jdarmont/
Entrepôts de données http://eric.univ-lyon2.fr/~jdarmont/ 1

Plan du cours BI or not BI?


Informatique décisionnelle (business intelligence) :
à l’usage des décideurs
Introduction : le processus décisionnel
Accéder rapidement et simplement aux informations stratégiques
Donner du sens aux données
Modélisation conceptuelle des entrepôts
Donner une vision transversale des données d’une organisation
Modélisation logique des entrepôts Extraire, grouper, organiser, agréger corréler les données
Quelle est
Mise en œuvre d’un entrepôt de données l’évolution du taux
d’occupation des
chambres ? Quelle est l’efficacité
Analyse en ligne (OLAP) Qui sont mes des politiques
meilleurs publiques en matière
clients ? d’écologie ?

Entrepôts de données http://eric.univ-lyon2.fr/~jdarmont/ 2 Entrepôts de données http://eric.univ-lyon2.fr/~jdarmont/ 3

Problématique Système d’information décisionnel


Décision
Données disponibles
Volumineuses
Hétérogènes
Très détaillées

Traitement
Synthétiser/résumer
Visualiser
Analyser
Utilisateurs
Non informaticiens
Non statisticiens www.rhpsoft.com
Entrepôts de données http://eric.univ-lyon2.fr/~jdarmont/ 4 Entrepôts de données http://eric.univ-lyon2.fr/~jdarmont/ 5

1
24/12/2015

Entrepôt de données, la définition Orientées sujet


Agrégation des informations de différents métiers
Un entrepôt de données est une collection de
Pas de prise en compte de l’organisation fonctionnelle des
données orientées sujet, intégrées, non
données
volatiles et historisées, organisées pour le
support d'un processus d'aide à la décision.

W.H. Inmon, 1991

Lydie Soler, AgroParisTech/INRA

Entrepôts de données http://eric.univ-lyon2.fr/~jdarmont/ 6 Entrepôts de données http://eric.univ-lyon2.fr/~jdarmont/ 7

Intégrées Non volatiles

Base de données opérationnelle Entrepôt de données

Lydie Soler, AgroParisTech/INRA

Lydie Soler, AgroParisTech/INRA


On Line Transaction Processing vs. On Line Analytical Processing
Entrepôts de données http://eric.univ-lyon2.fr/~jdarmont/ 8 Entrepôts de données http://eric.univ-lyon2.fr/~jdarmont/ 9

Historisées Processus d’entreposage de données


Base de données opérationnelle

Entrepôt
de
données

Lydie Soler, AgroParisTech/INRA www.kahassoc.com


Entrepôts de données http://eric.univ-lyon2.fr/~jdarmont/ 10 Entrepôts de données http://eric.univ-lyon2.fr/~jdarmont/ 11

2
24/12/2015

Plan du cours Métaphore du cube de données


Fait : sujet d’analyse Dimensions : axes d’analyse
Ensemble de mesures
Introduction : le processus décisionnel
Produit
Modélisation conceptuelle des entrepôts
Modélisation logique des entrepôts
Mise en œuvre d’un entrepôt de données
Analyse en ligne (OLAP)
Localisation Temps docs.oracle.com

Entrepôts de données http://eric.univ-lyon2.fr/~jdarmont/ 12 Entrepôts de données http://eric.univ-lyon2.fr/~jdarmont/ 13

Hiérarchie de dimension Hiérarchies multiples

docs.oracle.com

Elsa Nègre, Université Paris Dauphine


Entrepôts de données http://eric.univ-lyon2.fr/~jdarmont/ 14 Entrepôts de données http://eric.univ-lyon2.fr/~jdarmont/ 15

Attributs de dimensions Schéma en étoile


DIM PRODUIT
Nom FAIT VENTE
Type Chiffre d’affaire
Modèle dénormalisé Gamme
DIM PRODUIT Prix unitaire
Paramètres + Limitation des jointures Couleur
Définissent les niveaux hiérarchiques Nom - Redondance
Type
Attribut faibles Gamme
Descriptifs
Prix unitaire DIM TEMPS
Couleur DIM LOCALISATION
Jour
Ville
Mois
Région
Trimestre
Pays
Année
Entrepôts de données http://eric.univ-lyon2.fr/~jdarmont/ 16 Entrepôts de données http://eric.univ-lyon2.fr/~jdarmont/ 17

3
24/12/2015

Schéma en flocon de neige Schéma en constellation

H GAMME H TYPE H PRODUIT DIM FAIT


PRODUIT PRIX

H JOUR

FAIT
H VILLE VENTE DIM FAIT DIM
H MOIS
LOCALISATION VENTE TEMPS
H REGION
H TRIM.

DIM FAIT
H PAYS
H ANNEE VENDEUR SAL.
Entrepôts de données http://eric.univ-lyon2.fr/~jdarmont/ 18 Entrepôts de données http://eric.univ-lyon2.fr/~jdarmont/ 19

Modèle multidimensionnel de Rizzi et Golfarelli Plan du cours

Introduction : le processus décisionnel


Modélisation conceptuelle des entrepôts
Modélisation logique des entrepôts
Mise en œuvre d’un entrepôt de données
Analyse en ligne (OLAP)

Entrepôts de données http://eric.univ-lyon2.fr/~jdarmont/ 20 Entrepôts de données http://eric.univ-lyon2.fr/~jdarmont/ 21

Quelle approche pour l’OLAP ? Approche ROLAP


Relational OLAP : Stockage de l’entrepôt dans une base
de données relationnelle
Faits, dimensions ou niveaux hiérarchiques : tables
Analyse OLAP : requêtes SQL99 (GROUP BY CUBE…)

Avantages
Facilité et faible coût de mise en œuvre
Stockage de gros volumes de données
Evolution facile
SQL
Inconvénients
olap.com/which-olap-is-best/ Performance (jointures)
Reformatage nécessaire des résultats pour les utilisateurs finaux
Entrepôts de données http://eric.univ-lyon2.fr/~jdarmont/ 22 Entrepôts de données http://eric.univ-lyon2.fr/~jdarmont/ 23

4
24/12/2015

Étoile ROLAP Flocon ROLAP


H_PRODUIT(IDproduit, Nom, PrixUnitaire, Couleur, IDtype#)
DIM_PRODUIT(IDproduit, Nom, Type, Gamme, H_TYPE(IDtype, NomType, IDgamme# DIM_PRODUIT
PrixUnitaire, Couleur) H_GAMME(IDgamme, NomGamme)

H_VILLE(IDville, NomVille, IDrégion#)


DIM_LOCALISATION(IDloc, Ville, Région, Pays) H_REGION(IDrégion, NomRégion, IDpays#) DIM_LOCALISATION
H_PAYS(IDpays, NomPays)

DIM_TEMPS(IDtemps, Jour, Mois, Trimestre, Année) H_JOUR(IDjour, Jour, IDmois#)


H_MOIS(IDmois, Mois, IDtrim#) DIM_TEMPS
H_TRIMESTRE(IDtrim, Trimestre, IDannée#)
FAIT_VENTE(IDproduit#, IDloc#, IDtemps#,
H_ANNEE(IDannée, Année)
ChiffreAffaire)
FAIT_VENTE(IDproduit#, IDville#, IDjour#, Chiffre_affaire)
Entrepôts de données http://eric.univ-lyon2.fr/~jdarmont/ 24 Entrepôts de données http://eric.univ-lyon2.fr/~jdarmont/ 25

Index binaires Index binaires et entrepôts


ID Titre Année Genre
1 Brazil 1984 Science Fiction
2 Underground 1995 Drame Avantages
3 Easy Rider 1969 Drame Faible coût de stockage
4 Psychose 1960 Drame
Rapides en lecture, pas d’accès aux données pour :
5 Annie Hall 1977 Comédie Relation Film Requêtes de comptage
6 Jurasic Park 1992 Science Fiction
Opérations bits à bits
7 Metropolis 1926 Science Fiction
8 Manhattan 1979 Comédie
9 Smoke 1995 Comédie
Inconvénient
N-uplet 9 8 7 6 5 4 3 2 1 Peu performants si mises à jour nombreuses
Index binaire
Science Fiction 0 0 1 1 0 0 0 0 1 Rafraîchissement des index
sur l’attribut Drame 0 0 0 0 0 1 1 1 0
Genre Comédie 1 1 0 0 1 0 0 0 0

Entrepôts de données http://eric.univ-lyon2.fr/~jdarmont/ 26 Entrepôts de données http://eric.univ-lyon2.fr/~jdarmont/ 27

Opérations sur index binaires Vues matérialisées Problématique :


que matérialiser ?

N-uplet 9 8 7 6 5 4 3 2 1
Nombre de comédies Science Fiction 0 0 1 1 0 0 0 0 1
Compter le nombre de 1 dans Drame 0 0 0 0 0 1 1 1 0
le bitmap associé Comédie 1 1 0 0 1 0 0 0 0

Nombre de comédies N-uplet 9 8 7 6 5 4 3 2 1

en 1995 Comédie 1 1 0 0 1 0 0 0 0

AND entre les deux bitmaps 1995 1 0 0 0 0 0 0 1 0


AND 1 0 0 0 0 0 0 0 0
correspondants et comptage

Hector Garcia-Molina, Stanford


Entrepôts de données http://eric.univ-lyon2.fr/~jdarmont/ 28 Entrepôts de données http://eric.univ-lyon2.fr/~jdarmont/ 29

5
24/12/2015

Fragmentation (horizontale dérivée) Approche MOLAP


FAITS Muldidimensional OLAP : Stockage natif des cubes dans
des tableaux multidimensionnels
P1 DIM2
DIM1 Avantage
P2.1 Calculs d’agrégats rapides
P1.1
P2
P2.2
Inconvénients www.wikixbrl.info

P1.2 P3 Difficulté de mise en œuvre, systèmes majoritairement propriétaires


P2.3
Volume de données limité
P4 Problème d’éparsité des cubes
Redondance des données avec l’entrepôt source
Rafraîchissement limité (reconstruction périodique complète)
Entrepôts de données http://eric.univ-lyon2.fr/~jdarmont/ 30 Entrepôts de données http://eric.univ-lyon2.fr/~jdarmont/ 31

Compression de cube Approche HOLAP


Hybrid OLAP :
Stockage de l’entrepôt dans une base de données relationnelle
Stockage des données agrégées dans des cubes MOLAP

Avantages
Bon compromis coût/performance sur de gros volumes de données
Exploite les fonctionnalités de SQL
Cube connecté à l’entrepôt relationnel

Inconvénients
Difficulté de mise en œuvre
Pas aussi rapide que MOLAP
Yannis Sismanis et al., 1992 Passage à l’échelle moins facile qu’en ROLAP
Entrepôts de données http://eric.univ-lyon2.fr/~jdarmont/ 32 Entrepôts de données http://eric.univ-lyon2.fr/~jdarmont/ 33

Approche HTAP 2014 Plan du cours


Hybrid Transaction / Analytical Processing :
SGBD en mémoire vive
Traitements OLTP et OLAP simultanés Introduction : le processus décisionnel

Avantages Modélisation conceptuelle des entrepôts


Calcul distribué rapide des requêtes
Pas de redondance des données Modélisation logique des entrepôts
Informations transactionnelles rendues disponibles rapidement
dans les modèles décisionnels Mise en œuvre d’un entrepôt de données
Unification des tables relationnelles et des modèles décisionnels
Analyse en ligne (OLAP)
Inconvénient
Modification drastique des architectures décisionnelles
Entrepôts de données http://eric.univ-lyon2.fr/~jdarmont/ 34 Entrepôts de données http://eric.univ-lyon2.fr/~jdarmont/ 35

6
24/12/2015

Approche top-down (Inmon) Approche bottom-up (Kimball)


Conception intégrale de l’entrepôt a priori Construction incrémentale de l’entrepôt
Magasins de données (datamarts) extraits de l’entrepôt L’entrepôt de données est une union de magasins de données
Notion de bus décisionnel et de dimensions conformes
Avantages
Avantages
Vision conceptuelle globale de l’entrepôt
Simplicité de mise en œuvre
Architecture intégrée
Résultats rapides
Normalisation des données, absence de redondance
Inconvénient Schémas
Inconvénients Problèmes d’intégration multidimensionnels,
des magasins de données magasin de données
Difficulté de mise en œuvre
Manque d’évolutivité

Entrepôts de données http://eric.univ-lyon2.fr/~jdarmont/ 36 Entrepôts de données http://eric.univ-lyon2.fr/~jdarmont/ 37

Cycle de vie d’un entrepôt Alimentation de l’entrepôt


Extract, Transform, Load

www.imc.com
holowczak.com
Entrepôts de données http://eric.univ-lyon2.fr/~jdarmont/ 38 Entrepôts de données http://eric.univ-lyon2.fr/~jdarmont/ 39

Extraction Transformation
Sources de données variées Unification des données
Bases de données opérationnelles Noms des attributs
Fichiers Types (ex. précision numérique)
Logs Formats (ex. dates)
Web… Unités de mesure

Stratégies de rafraîchissement de l’entrepôt


Nettoyage des données
Push : déclencheurs dans les sources
Vérification des contraintes d’intégrité
Pull : requêtage des sources
Suppression des doublons
Périodicité du rafraîchissement Traitement des valeurs manquantes
Contrainte : ne pas perturber les opérations OLTP Détection des valeurs erronées ou incohérentes

Entrepôts de données http://eric.univ-lyon2.fr/~jdarmont/ 40 Entrepôts de données http://eric.univ-lyon2.fr/~jdarmont/ 41

7
24/12/2015

Transformation Chargement
Politiques de chargement
Complet / incrémental
En ligne / hors ligne
Mises à jour des dimensions
Ecrasement de l’ancienne valeur
Versionnement
Traitement particulier des dimensions à évolution rapide
Rafraîchissement des index et vues matérialisées
Oubli des données anciennes
Suppression
Didier Donsez, Université Grenoble 1 Agrégation
Entrepôts de données http://eric.univ-lyon2.fr/~jdarmont/ 42 Entrepôts de données http://eric.univ-lyon2.fr/~jdarmont/ 43

Plan du cours Algèbre OLAP


OLAP = navigation interactive dans un cube de données
Introduction : le processus décisionnel « Spreadsheet on steroids » (T.B. Pedersen)

Modélisation conceptuelle des entrepôts Opérateurs ensemblistes E.F. Codd


Projections et restrictions classiques
Modélisation logique des entrepôts
Opérateurs de restructuration
Mise en œuvre d’un entrepôt de données Changement de point de vue
Réorientation selon les dimensions
Analyse en ligne (OLAP)
Opérateurs liés à la granularité
1923-2003
« Zoom » et « dézoom »

Entrepôts de données http://eric.univ-lyon2.fr/~jdarmont/ 44 Entrepôts de données http://eric.univ-lyon2.fr/~jdarmont/ 45

Slice (projection selon une dimension) Dice (restriction)

Localisation
Produit

Temps

Didier Donsez, Université Grenoble 1 Didier Donsez, Université Grenoble 1


Entrepôts de données http://eric.univ-lyon2.fr/~jdarmont/ 46 Entrepôts de données http://eric.univ-lyon2.fr/~jdarmont/ 47

8
24/12/2015

Rotate (pivot) Rollup/Drill down (forages)


Rollup
Rollup

Drill down

Drill down
Didier Donsez, Université Grenoble 1
Didier Donsez, Université Grenoble 1
Entrepôts de données http://eric.univ-lyon2.fr/~jdarmont/ 48 Entrepôts de données http://eric.univ-lyon2.fr/~jdarmont/ 49

SQL vs. MDX SQL vs. MDX


SQL MDX
Table(s) Cube SQL MDX
Attribut Niveau hiérarchique SELECT COUNT(*) AS [Internet Order SELECT { [Measures].[Internet Order
Quantity], Quantity],
Attributs liés ou SUM(SalesAmount) AS [Internet Sales [Measures].[Internet Sales Amount] }
Dimension
table(s) de dimension Amount] ON COLUMNS
Attribut Mesure FROM FactInternetSales FROM [Internet Sales]
Valeur d’attribut dimension Membre de dimension

SQL MDX
SELECT attribut(s) SELECT axe(s)
FROM table(s) FROM cube
www.mssqltips.com
WHERE condition(s) WHERE filtre(s)

Entrepôts de données http://eric.univ-lyon2.fr/~jdarmont/ 50 Entrepôts de données http://eric.univ-lyon2.fr/~jdarmont/ 51

SQL vs. MDX SQL vs. MDX


SQL MDX SQL MDX
SELECT g.Country, SELECT [Measures].[Reseller Order Quantity] ON
SELECT d1.Education AS [Customer SELECT { [Measures].[Internet Order
sum(rs.OrderQuantity) as OrderQuantity ROWS, [Geography].[Country].[Country].MEMBERS
Education Level], Quantity], ON COLUMNS FROM [Adventure Works] )
COUNT(*) AS [Internet Order Quantity], [Measures].[Internet Sales Amount] } ON
FROM FactResellerSales rs, dimReseller r, FROM (
SUM(f1.SalesAmount) AS [Internet Sales COLUMNS, { (
dimGeography g
Amount] [Customer].[Education].[Education].MEMBERS WHERE r.ResellerKey = rs.ResellerKey
) } ON ROWS AND g.GeographyKey = r.GeographyKey
FROM FactInternetSales f1, DimCustomer d1 FROM [Internet Sales] AND g.City IN ('Melbourne', 'Sydney', 'Seattle', SELECT {[Geography].[City].[Melbourne],
WHERE f1.CustomerKey = d1.CustomerKey 'New York') [Geography].[City].[Sydney],
[Geography].[City].[Seattle],
GROUP BY d1.EnglishEducation [Geography].[City].[New York]} ON ROWS
GROUP BY g.Country FROM [Reseller Sales] )

www.mssqltips.com geekswithblogs.net/darrengosbell/
Entrepôts de données http://eric.univ-lyon2.fr/~jdarmont/ 52 Entrepôts de données http://eric.univ-lyon2.fr/~jdarmont/ 53

9
24/12/2015

Plan du cours What next? Big data warehouses!


Volume
Optimisation/parallélisation des agrégations
Introduction : le processus décisionnel OLAP dans le nuage
Variété
Modélisation conceptuelle des entrepôts Nouveaux modèles multidimensionnels et opérateurs d’agrégation
Entrepôts NoSQL
Modélisation logique des entrepôts
Vélocité
Mise en œuvre d’un entrepôt de données Travailler en mémoire : gare à l’explosion dimensionnelle
Fonctions d’oubli
Analyse en ligne (OLAP) Véracité
Qualité des données sources
Sécurité des données entreposées
Entrepôts de données http://eric.univ-lyon2.fr/~jdarmont/ 54 Entrepôts de données http://eric.univ-lyon2.fr/~jdarmont/ 55

Du tableur collaboratif… …au décisionnel mobile


Utilisateur
Analyses à la demande
Requêtage façon moteur de recherche
Fusion tables Drill beyond
Quasi temps réel
Collaboratif
non expert
Technos Entrepôts de données / OLAP
Web sémantique
Gestion de documents
Fouille de données
Problèmes ouverts Ingénierie sociale

Modèle de données avancé, algèbre de requêtes


Equilibre entre partage et confidentialité des données
Formalisation de l’intelligence collaborative, interfaces
Modèle économique
Entrepôts de données http://eric.univ-lyon2.fr/~jdarmont/ 56 Entrepôts de données http://eric.univ-lyon2.fr/~jdarmont/ 57

Confidentialité de données
BI4people : le décisionnel pour tous
décisionnelles partagées dans le nuage
Travail basé sur CryptDB
NoETL
Source documents

Réalisé avec S. Sobati Moghadam et G. Gavin Automatic


semantic visualization
integration
Datamart

Automatic Simple
modeling OLAP

css.csail.mit.edu/cryptdb/

Entrepôts de données http://eric.univ-lyon2.fr/~jdarmont/ 58 Entrepôts de données http://eric.univ-lyon2.fr/~jdarmont/ 59

10