77
1 Les entrepôts de données Lydie Soler Janvier 2008 U.F.R. d’informatique

cours_DW

Embed Size (px)

Citation preview

1

Les entrepôts de données

Lydie Soler

Janvier 2008

U.F.R. d’informatique

2

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

3

Le contexte

Besoin: prise de décisions stratégiques et tactiques Pourquoi: besoin de réactivité Qui: les décideurs (non informaticiens) Comment: répondre aux demandes d’analyse des données, dégager

des informations qualitatives nouvelles

Qui sont mes meilleurs clients?

A combien s’élèvent mes

ventes journalières?

Quels français consomment beaucoup de

poisson?

Pourquoi et comment le

chiffre d’affaire a baissé?

4

Les données utilisables par les décideurs

Données opérationnelles (de production) Bases de données (Oracle, SQL Server) Fichiers, … Paye, gestion des RH, gestion des commandes…

Caractéristiques de ces données: Distribuées: systèmes éparpillés Hétérogènes: systèmes et structures de données différents Détaillées: organisation des données selon les processus

fonctionnels, données surabondantes pour l’analyse Peu/pas adaptées à l’analyse : les requêtes lourdes peuvent

bloquer le système transactionnel Volatiles: pas d’historisation systématique

5

Problématique

Comment répondre aux demandes des décideurs? En donnant un accès rapide et simple à l’information

stratégique En donnant du sens aux données

Mettre en place un système d’information dédié aux applications décisionnelles:

un data warehouse

6

Le processus de prise de décision

Temps de prise d’une décision

Définir le problème

Rassembler les données

Analyser les données

Établir des solutions

Décider

Champs d’application des systèmes décisionnels

7

Le processus de prise de décision

Bases de production

Data warehouse

Base multi -dimensionnelle

Prédiction / simulation

Prise de décision

8

Domaines d’utilisation des DW

Banque Risques d’un prêt, prime plus précise

Santé Épidémiologie Risque alimentaire

Commerce Ciblage de clientèle Déterminer des promotions

Logistique Adéquation demande/production

Assurance Risque lié à un contrat d’assurance (voiture)

9

Quelques métiers du décisionnel

Strategic Performance Management Déterminer et contrôler les indicateurs clé de la performance de

l’entreprise Finance Intelligence

Planifier, analyser et diffuser l’information financière. Mesurer et gérer les risques

Human Capital Management (gestion de la relation avec les employés) Aligner les stratégies RH, les processus et les technologies.

Customer Relationship Management (gestion de la relation client) Améliorer la connaissance client, identifier et prévoir la

rentabilité client, accroitre l’efficacité du marketing client Supplier Relationship Management (gestion de la relation fournisseur)

Classifier et évaluer l’ensemble des fournisseurs. Planifier et piloter la stratégie Achat.

10

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

11

Définition d’un DW

W. H. 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

12

Les 4 caractéristiques des data warehouse

1. Données orientées sujet: Regroupe les informations des différents métiers Ne tiens pas compte de l’organisation fonctionnelle

des données

Ass. Vie Ass. Auto Ass. Santé

Client

Police

13

Les 4 caractéristiques des data warehouse

2. Données intégrées: Normalisation des données Définition d’un référentiel unique

h,f

1,0

homme, femme

h,f

GBP

CHF

USD

EUR

14

Les 4 caractéristiques des data warehouse

3. Données non volatiles Traçabilité des informations et des décisions prises Copie des données de production

Ajout

Modification

Suppression

Accès

Chargement

Bases de production Entrepôts de données

15

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

Nom Ville

Dupont Paris

Durand Lyon

Nom Ville

Dupont Marseille

Durand Lyon

Image de la base en Mai 2005 Image de la base en Juillet 2006

Code Année Mois

1 2005 Mai

Base de production

Entrepôt de données

Calendrier

Code Année Mois

1 Dupont Paris

1 Durand Lyon

Répertoire

RépertoireRépertoire

Code Année Mois

1 2005 Mai

2 2006 Juillet

Code Année Mois

1 Dupont Paris

1 Durand Lyon

2 Dupont Marseille

16

SGBD et DW

Servicecommercial

ServiceFinancier

Servicelivraison

BD prod BD prod BD prod

Clientèle

Data Warehouse

Clientèle

HISTORIQUE

OLTP: On-Line Transactional Processing

OLAP: On-Line Analitical Processing

17

OLTP VS DW

OLTP DWOrienté 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, administrateurs/opérationnels

Utilisateurs peu nombreux, manager

Temps d’exécution: court Temps d’exécution: long

18

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

19

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 service Ressources Humaines

DW de l’entreprise

20

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

Utilisateurs plus ciblés: DM plus facile à définir

21

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

22

Architecture générale

Data warehouse

RequêtesRapports

VisualisationData Mining

Sources de données

Transformations:Nettoyage

Standardisation…

Zone de préparationZone de

présentation

Datamart

CHARGEMENT

Zone de stockage

EXTRACTION

23

Les flux de données

Flux entrant Extraction: multi-source, hétérogène Transformation: filtrer, trier, homogénéiser, nettoyer Chargement: insertion des données dans l’entrepôt

Flux sortant: Mise à disposition des données pour les utilisateurs

finaux

24

Les différentes zones de l’architecture

Zone de préparation (Staging area) Zone temporaire de stockage des données extraites Réalisation des transformations avant l’insertion dans le DW:

Nettoyage Normalisation…

Données souvent détruites après chargement dans le DW Zone de stockage (DW, DM)

On y transfère les données nettoyées Stockage permanent des données

Zone de présentation Donne accès aux données contenues dans le DW Peut contenir des outils d’analyse programmés:

Rapports Requêtes…

25

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

26

Modélisation Entité/Association

Avantages: Normalisation:

Éliminer les redondances Préserver la cohérence des données

Optimisation des transactions Réduction de l’espace de stockage

Inconvénients pour un utilisateur final: Schéma très/trop complet:

Contient des tables/champs inutiles pour l’analyse Pas d’interface graphique capable de rendre

utilisable le modèle E/A Inadapté pour l’analyse

27

Exemple

Mode d’expéditionTransporteur

Produit

Groupe de produits

Famille de produits

Division de ventes

Région de ventes

Magasin

Commande client

Type de contrat

Contrat

Client

Employé

Fonction

Stock

Fournisseurs

28

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

29

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)

Table de faits des ventes

Clé date (CE)

Clé produit (CE)

Clé magasin (CE)

Quantité vendue

Coût

Montant des ventes

Clés étrangères vers les dimensions

Faits

30

Table de faits (suite)

Fait: Ce que l’on souhaite mesurer

Quantités vendues, montant des ventes… Contient les clés étrangères des axes d’analyse

(dimension) Date, produit, magasin

Trois types de faits: Additif Semi additif Non additif

31

Typologie des faits

Additif: additionnable suivant toutes les dimensions Quantités vendues, chiffre d’affaire Peut être le résultat d’un calcul:

Bénéfice = montant vente - coût Semi additif: additionnable suivant certaines

dimensions Solde d’un compte bancaire:

Pas de sens d’additionner sur les dates car cela représente des instantanés d’un niveau

Σ sur les comptes: on connaît ce que nous possédons en banque

Non additif: fait non additionnable quelque soit la dimension Prix unitaire: l’addition sur n’importe quelle dimension donne

un nombre dépourvu de sens

32

Granularité de la table de faits

Répondre à la question : Que représente un enregistrement de la table de

faits? La granularité définit le niveau de détails de la

table de faits: Exemple: une ligne de commande par produit, par

client et par jour

Précision des analyses

Taille de l’entrepôt

- + Finesse

33

Table de dimension

Axe d’analyse selon lequel vont être étudiées les données observables (faits)

Contient le détail sur les faits

Dimension produit

Clé produit (CP)

Code produit

Description du produit

Famille du produitsMarque

Emballage

Poids

Clé de substitution

Attributs de la dimension

34

Table de dimension (suite)

Dimension = axe d’analyse Client, produit, période de temps…

Contient souvent un grand nombre de colonnes L’ensemble des informations descriptives des faits

Contient en général beaucoup moins d’enregistrements qu’une table de faits

35

La dimension Temps

Commune à l’ensemble du DW

Reliée à toute table de faits

Dimension Temps

Clé temps (CP)

Jour

Mois

Trimestre

Semestre Année

Num_jour_dans_année

Num_semaine_ds_année

36

Granularité d’une dimension

Une dimension contient des membres organisés en hiérarchie : Chacun des membres appartient à un niveau

hiérarchique (ou niveau de granularité) particulier Granularité d’une dimension : nombre de niveaux

hiérarchiques Temps :

année – semestre – trimestre - mois

37

Évolution des dimensions

Dimensions à évolution lente Dimensions à évolution rapide

38

Évolution des dimensions

Dimensions à évolution lente Un client peut se marier, avoir des enfants… Un produit peut changer de noms ou de

formulation: « Raider » en « Twix » « yaourt à la vanille » en « yaourt saveur vanille »

Gestion de la situation, 3 solutions: Écrasement de l’ancienne valeur Versionnement Valeur d’origine / valeur courante

Dimensions à évolution rapide

39

Dimensions à évolution lente (1/3)

Écrasement de l’ancienne valeur : Correction des informations erronées

Avantage: Facile à mettre en œuvre

Inconvénients: Perte de la trace des valeurs antérieures des attributs Perte de la cause de l’évolution dans les faits mesurés

Clé produit Description du produit Groupe de produits

12345 Intelli-Kids Logiciel

Jeux éducatifs

40

Dimensions à évolution lente (2/3)

Ajout d’un nouvel enregistrement: Utilisation d’une clé de substitution

Avantages: Permet de suivre l’évolution des attributs Permet de segmenter la table de faits en fonction de

l’historique Inconvénient:

Accroit le volume de la table

Clé produit Description du produit Groupe de produits

12345 Intelli-Kids Logiciel

25963 Intelli-Kids Jeux éducatifs

41

Dimensions à évolution lente (3/3)

Ajout d’un nouvel attribut: Valeur origine/valeur courante

Avantages: Avoir deux visions simultanées des données :

Voir les données récentes avec l’ancien attribut Voir les données anciennes avec le nouvel attribut

Voir les données comme si le changement n’avait pas eu lieu

Inconvénient: Inadapté pour suivre plusieurs valeurs d’attributs intermédiaires

Clé produit Description du produit

Groupe de produits

12345 Intelli-Kids Logiciel

Nouveau groupe de produits

Jeux éducatifs

42

Évolution des dimensions

Dimensions à évolution lente Dimensions à évolution rapide

Subit des changements très fréquents (tous les mois) dont on veut préserver l’historique

Solution: isoler les attributs qui changent rapidement

43

Dimensions à évolution rapide

Changements fréquents des attributs dont on veut garder l’historique Clients pour une compagnie d’assurance

Isoler les attributs qui évoluent vite

44

Dimensions à évolution rapide (suite)

Dim_démographique

Clé_démog

Revenus

Niveau_étude

Nb_enfants

Statut_marital

Profil_financier

Profil_achat

Dim client

Clé_client

Nom

Prénom

Adresse

Date_nais

Revenus

Niveau_étude

Nb_enfants

Statut_marital

Profil_financier

Profil_achat

Dim client

Clé_client

Nom

Prénom

Adresse

Date_naissance

Faits

Clé_client

Faits

Clé_client

Clé_démog

45

Les types de modèles

Modèle en étoile Modèle en flocon

46

Modèle en étoile

Une table de fait centrale et des dimensions Les dimensions n’ont pas de liaison entre elles Avantages:

Facilité de navigation Nombre de jointures limité

Inconvénients: Redondance dans les dimensions Toutes les dimensions ne concernent pas les

mesures

47

Modèle en étoileDimension Temps

ID tempsannéemoisjour…

Dimension TempsID temps

annéemoisjour…

Dimension MagasinID magasindescription

villesurface

Dimension MagasinID magasindescription

villesurface

Dimension RegionID région

paysdescription

district vente….

Dimension RegionID région

paysdescription

district vente….

Dimension produitID produit

nomcodeprix

poidsgroupefamille

Dimension produitID produit

nomcodeprix

poidsgroupefamille

Dimension ClientID client

nomprénomadresse

Dimension ClientID client

nomprénomadresse

Table de faits AchatID clientID temps

ID magasinID régionID produit

Quantité achetéeMontant des achats

Table de faits AchatID clientID temps

ID magasinID régionID produit

Quantité achetéeMontant des achats

48

Modèle en flocon

Une table de fait et des dimensions décomposées en sous hiérarchies

On a un seul niveau hiérarchique dans une table de dimension

La table de dimension de niveau hiérarchique le plus bas est reliée à la table de fait. On dit qu’elle a la granularité la plus fine

Avantages: Normalisation des dimensions Économie d’espace disque

Inconvénients: Modèle plus complexe (jointure) Requêtes moins performantes

49

Modèle en floconDimension Temps

ID tempsanneemoisjour…

Dimension TempsID temps

anneemoisjour…

Dimension MagasinID magasindescription

villesurface

Dimension MagasinID magasindescription

villesurface

Dimension produitID produitID groupe

nomcodeprix

poids…

Dimension produitID produitID groupe

nomcodeprix

poids…

Dimension ClientID client

nomprénomadresse

Dimension ClientID client

nomprénomadresse

Dimension groupeID groupeID famille

nom…

Dimension groupeID groupeID famille

nom…

Dimension FamilleID famille

nom…

Dimension FamilleID famille

nom…

Dimension Division vente

ID division ventedescription

….

Dimension Division vente

ID division ventedescription

….

Dimension RegionID région

ID division ventepays

description….

Dimension RegionID région

ID division ventepays

description….

Table de faits AchatID clientID temps

ID magasinID régionID produit

Quantité achetéeMontant des achats

Table de faits AchatID clientID temps

ID magasinID régionID produit

Quantité achetéeMontant des achats

50

Méthodologie: 9 étapes de Kimball

1. Choisir le sujet

2. Choisir la granularité des faits

3. Identifier et adapter les dimensions

4. Choisir les faits

5. Stocker les pré-calculs

6. Établir les tables de dimensions

7. Choisir la durée de la base

8. Suivre les dimensions lentement évolutives

9. Décider des requêtes prioritaires, des modes de requêtes

51

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

52

Alimentation/ 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

Utilisation d’outils ETL (Extract, Transform, Load)

53

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

54

Extraction

Extraire des données des systèmes de production Dialoguer avec différentes sources:

Base de données, Fichiers, Bases propriétaires

Utilise divers connecteurs : ODBC, SQL natif, Fichiers plats

55

Transformation

Rendre cohérentes les données des différentes sources Transformer, nettoyer, trier, unifier 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

56

Chargement

Insérer ou modifier les données dans l’entrepôt Utilisation de connecteurs:

ODBC, SQL natif, Fichiers plats

57

Aperçu d’un ETL

58

Plan

Introduction Les entrepôts de données Les datamart Architecture Modélisation Alimentation Les bases de données multidimensionnelles Accès à l’information Démonstration

59

OLTP VS OLAP

Pays

France

Espagne

Allemagnepommes

poiresoranges

janvier

février

avril

Temps

Produits

Vente de pommes en Allemagne

en avril

AchatPK id_achat

FK id_client

id_produit

QuantitéclientPK id_client

Nom

adresse

ProduitPK id_produit

Libellé

Famille

60

ROLAP

Relational OLAP Données stockées dans une base de données

relationnelles Un moteur OLAP permet de simuler le

comportement d’un SGBD multidimensionnel Plus facile et moins cher à mettre en place Moins performant lors des phases de calcul Exemples de moteurs ROLAP:

Mondrian

61

MOLAP

Multi dimensional OLAP: Utiliser un système multidimensionnel « pur » qui

gère les structures multidimensionnelles natives (les cubes)

Accès direct aux données dans le cube Plus difficile à mettre en place Formats souvent propriétaires Conçu exclusivement pour l’analyse

multidimensionnelle Exemples de moteurs MOLAP:

Microsoft Analysis Services Hyperion

62

HOLAP

Hybride OLAP: tables de faits et tables de dimensions stockées

dans SGBD relationnel (données de base) données agrégées stockées dans des cubes

Solution hybride entre MOLAP et ROLAP Bon compromis au niveau coût et performance

63

Le cube

Modélisation multidimensionnelle des données facilitant l’analyse d’une quantité selon différentes dimensions: Temps Localisation géographique …

Les calculs sont réalisés lors du chargement ou de la mise à jour du cube

64

Manipulation des données multidimensionnelles Opération agissant sur la structure

Rotation (rotate): présenter une autre face du cube

05 06 07

Œuf 221 263 139

Viande 275 257 116

05 06 07

Idf 101 120 52

Ain 395 400 203

65

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

06

Œuf Idf 265

Ain 245

Viande Idf 152

Ain 174

05 06 07

Œuf Idf 220 265 284

Ain 225 245 240

Viande Idf 163 152 145

Ain 187 174 184

66

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

Ain 225 245 240

Viande Idf 163 152 145

Ain 187 174 184

05 06 07

Œuf Idf 220 265 284

Ain 225 245 240

67

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 Utilisation de fonctions d’agrégation

Forage vers le bas (drill-down): « zoomer » Obtenir un niveau de granularité inférieur Données plus détaillées

68

05-07

Fruits 623

Viande 648

1S05 2S05 1S06 2S06 1S07

Fruits 100 121 111 152 139

Viande 134 141 120 137 116

05 06 07

Fruits 221 263 139

Viande 275 257 116

05 06 07

Pomme 20 19 22

… … … …

Boeuf 40 43 48

05 06 07

Alim. 496 520 255

Roll up

Drill down

Dimension Produit

Dimension Temps

Drill down

Roll up

Drill-up, drill-down

69

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

70

MDX, exemple

Fournir les effectifs d’une société pendant les années 2004 et 2005 croisés par le type de paiement

Dimensions, axes d’analyse

SELECT {([Time].[2004]), ([Time].[2005])} ON COLUMNS,

{[Pay].[Pay Type].Members} ON ROWS

FROM RH

WHERE ([Measures].[Count])

Cube

2004 2005

Heure 3396 4015

Jour 3678 2056

71

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

72

Le marché du décisionnel

73

Quelques solutions commerciales

74

Quelques solutions open source

IntégréPentaho (Kettle, Mondrian, JFreeReport, Weka)SpagoBI

ETL Entrepôt de données

OLAP Reporting Data Mining

OctopusKettleCloverETLTalend

MySqlPostgresqlGreenplum/Bizgres

MondrianPalo

BirtOpen ReportJasper ReportJFreeReport

WekaR-ProjectOrangeXelopes

75

Plan

Introduction Les entrepôts de données Les datamart Architecture Modélisation Alimentation Les bases de données multidimensionnelles Accès à l’information Démonstration

76

Exemples

Rapports Sales by customer Dashboard

Analyse

77