Vous êtes sur la page 1sur 51

Business Intelligence

Chapitre 5 -Les entrepôts des données et ETL avec PyGramETL

D r. Z a h r a KO D I A A O U I N A

2 ÈME L F I G

19/11/2016 DR. ZAHRA KODIA AOUINA 1


Chapitre 5 -Les entrepôts des données et ETL
avec PyGramETL

PARTIE I : MODÉLISATION ET CRÉATION DES


ENTREPÔTS DES DONNÉES

19/11/2016 DR. ZAHRA KODIA AOUINA 2


DW : Définitions et notions de base
Entrepôt de Données : Définition (Bill Inmon)

 Le Data Warehouse est une collection de données orientées sujet, intégrées,


non volatiles et historisées, organisées pour la prise de décision.

C’est est une vision centralisée et universelle de toutes les informations


de l'entreprise. C'est une structure (comme une base de données) qui a pour but,
contrairement aux bases de données, de regrouper les données de l'entreprise
pour des fins analytiques et pour aider à la décision stratégique.

19/11/2016 DR. ZAHRA KODIA AOUINA 3


DW : Définitions et notions de base
Au cœur du système décisionnel

19/11/2016 DR. ZAHRA KODIA AOUINA 4


19/11/2016 DR. ZAHRA KODIA AOUINA 5
19/11/2016 DR. ZAHRA KODIA AOUINA 6
19/11/2016 DR. ZAHRA KODIA AOUINA 7
Caractéristiques d’un DW
Données Orientées Sujets
 Le DW est orienté sujets, ce qui signifie que les données collectées doivent être orientées
métier, et donc triées par thème

Bases de données Entrepôt de données


19/11/2016 DR. ZAHRA KODIA AOUINA 8
Caractéristiques d’un DW
Données Intégrées
 Le DW est composé de données intégrées, c’est à dire qu’un « nettoyage » préalable des
données est nécessaire dans un souci de rationalisation et de normalisation

Bases de données Entrepôt de données

19/11/2016 DR. ZAHRA KODIA AOUINA 9


Caractéristiques d’un DW
Données Historisées et Non Volatiles
Les données du DW sont non volatiles, ce qui signifie qu’une donnée entrée dans l’entrepôt
l’est pour de bon et n’a pas vocation à être supprimée
Les données du DW doivent être historisées, donc datées

Bases de données Entrepôt de données

19/11/2016 DR. ZAHRA KODIA AOUINA 10


DW : Définitions et notions de base
Entreposage des données

19/11/2016 DR. ZAHRA KODIA AOUINA 11


DW : Définitions et notions de base
Entreposage des données
ODS: Operational Data Store
◦ Collection de données orientées sujet, volatiles, organisées pour le support d’un
processus de décision ponctuel, en support à une activité opérationnelle particulière
◦ Donne la vision immédiate et intégrée de l’état d’un ou plusieurs systèmes opérants
 Data Warehouse
◦ Entrepôt de données spécifique au monde décisionnel, destiné principalement à
analyser les leviers business potentiels
◦ 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
 Data Mart
◦ Magasin de données orienté sujet, non volatile, mis à la disposition des utilisateurs dans
un contexte décisionnel décentralisé, ciblé pour un usage particulier
19/11/2016 DR. ZAHRA KODIA AOUINA 12
DW : Définitions et notions de base
DW vs. ODS
 Data Warehouse
◦ Intégration des données hors ligne

 ODS
◦ Intégration des données en ligne
◦ Sauvegarde des données récentes
◦ Utilisé quand les données sont dispersées sur plusieurs supports de stockage, et on a besoin
de les rassembler

Exemple:
◦ On veut avoir une vue unique sur un patient qu’on pourra modifier en ligne
◦ Les données de ce patient sont disposées dans plusieurs bases de données (liste des
hospitalisations, liste des diagnostics, liste des achats pharmaceutiques…)
◦ ODS peut être utilisé pour extraire ces données et les afficher
19/11/2016 DR. ZAHRA KODIA AOUINA 13
DW : Définitions et notions de base
DW vs. Data Mart
 Data Warehouse
◦ Dépôt de données au niveau entreprise
◦ Combinaison de plusieurs Data Marts
◦ Contient toutes les mesures et dimensions nécessaires
◦ Assure l’intégrité de ces mêmes dimensions à travers tous les Data Marts

 Data Mart
◦ Ensemble de dimensions et mesures limitées
◦ Utilisées pour des thèmes métier spécifiques
◦ Construites à partir des données des entrepôts

Exemple
◦ Dans une entreprise, il existe un seul entrepôt de données mais plusieurs magasins de
données : Finance, Vente…
19/11/2016 DR. ZAHRA KODIA AOUINA 14
Modèles de Données

19/11/2016 DR. ZAHRA KODIA AOUINA 15


DW : Différence entre SGBD et DW
SGBD et DW
◦ Ont des objectifs différents et font des traitement différents
◦ Stockent des données différentes
◦ Font l’objet de requêtes différentes

Doivent être physiquement séparés


SGBD
 Mode de travail transactionnel (OLTP)
 Permettent d’insérer, modifier, interroger des informations rapidement, efficacement et en
sécurité : Sélectionner, ajouter, mettre à jour et supprimer des tuples
 Opérations rapides, faites par plusieurs utilisateurs simultanément

19/11/2016 DR. ZAHRA KODIA AOUINA 16


DW : Structure (1/3)
1. Directe simple :
◦ On fait des mises à jour du
DW avec des laps de temps
importants.

19/11/2016 DR. ZAHRA KODIA AOUINA 17


DW : Structure (2/3)
2. Cumul simple :
◦ On stocke les données de
chaque mise à jour, les
mises à jour étant
fréquentes (par exemple
tous les jours) on a un
espace occupé important,
mais on ne perd pas
d’information.

19/11/2016 DR. ZAHRA KODIA AOUINA 18


DW : Structure (3/3)
3. Résumé déroulant :
◦ À chaque mise à jour, on stocke des
données détaillées, et on
synthétise les anciennes données
en fonction de leur âge. Plus une
donnée est vieille, moins elle est
détaillée.

19/11/2016 DR. ZAHRA KODIA AOUINA 19


Modélisation Multidimensionnelle
Notions de Base
Méthode de conception logique qui vise à présenter les données sous une
forme standardisée, intuitive et qui permet des accès hautement performants
Permet de considérer un sujet analysé comme point dans un espace à plusieurs
dimensions
Les données sont organisées de manière à mettre en évidence:
◦ Le Sujet  Le Fait
◦ Les perspectives de l’analyse  La table des dimensions

19/11/2016 DR. ZAHRA KODIA AOUINA 20


Modélisation Multidimensionnelle
Caractéristiques
Lisibilité
Performances (chargement + exécution des requêtes)
Évolutivité
Redondances envisageables
◦ Pas de mise à jour en ligne (chargement uniquement)
◦ Pas de problème d’intégrité des données (contrôles à l’acquisition)
◦ Privilégier l’accessibilité plutôt que la normalisation
Requêtes ensemblistes, portant sur de gros volumes de données
◦ Projections, restrictions, regroupements, agrégations
◦ Adaptation du modèle pour des requêtes ad-hoc
◦ Techniques d’optimisation basées sur les chemins d’accès
 Pré-calcul de certains agrégats + dénormalisation
19/11/2016 DR. ZAHRA KODIA AOUINA 21
Modélisation Multidimensionnelle
Dimension
 Une dimension peut être définie comme un thème, ou un axe
(attributs), selon lequel les données seront analysées.
Dimensions : les axes avec lesquels on veut faire l'analyse.
Exemple :dimension client, une dimension produit, une dimension
géographie (pour faire des analyses par secteur géographique), etc.
Une dimension est tout ce qu'on utilisera pour faire nos analyses.
Remarque : L'axe du temps (dimension Temps) est toujours présent dans un
entrepôt de données, c'est le type d'analyse le plus commun et le plus fréquent
en entreprise.

19/11/2016 DR. ZAHRA KODIA AOUINA 22


Modélisation Multidimensionnelle
Dimension
Table dimension contient une clé primaire unique qui
correspond à l’un des composants de la clé multiple de la Produit
table des faits
Clé Produit
Les tables dimensionnelles sont les points d’entrée de Description produit
Description marque
l’entrepôt de données Description catégorie
Description type emballage
Les dimensions Taille emballage
Poids
◦ Thème (ou axe) selon lequel les données sont analysées Unité de mesure du poids
Type de stockage
◦ En général sous forme textuelle Type de durée rayon
◦ Parfois discrète (ensemble limité de valeurs): couleurs, parfums Largeur sur étagère
Hauteur sur étagère
Profondeur sur étagère
A en général plusieurs colonnes et peu de lignes

19/11/2016 DR. ZAHRA KODIA AOUINA 23


Modélisation Multidimensionnelle
Dimension - Caractéristiques
Dimension
◦ Temps, Produit, Géographie, ...
Niveau : hiérarchisation des dimensions
◦ Produit : Rayon, Catégorie, Nature,...
◦ Géographie : Région, Département, Ville, Magasin, …
Membres d'un Niveau
◦ Produit::Rayon : Frais, Surgelé, ... , Liquide
◦ Produit::Rayon.Catégorie : Frais.Laitage, ... , Liquide.Jus
◦ Produit::Rayon.Catégorie.Nature : Frais.Laitage.Yaourt, ... , Liquide.Jus.Orange
Cellule
◦ Intersection des membres des différentes dimensions
Formule
◦ calcul, expression, règle, croisement des dimensions
◦ Somme(Qte), Somme(Qte*PrixVente), Moyenne(Qte*(PrixVente-PrixAchat)), ...
19/11/2016 DR. ZAHRA KODIA AOUINA 24
Modélisation Multidimensionnelle
Dimension Temps
Commune à tout entrepôt
Reliée à toute table de fait
2 choix d’implantation
◦ Type SQL DATE
◦ Calendrier + Table Temps
◦ Informations supplémentaires
◦ Évènement (match de finale de coupe du monde)
◦ Jours fériés, vacances, période fiscale,
◦ saison haute ou basse, …

19/11/2016 DR. ZAHRA KODIA AOUINA 25


Modélisation Multidimensionnelle
Faits
Une mesure est un élément de donnée sur lequel portent les analyses, en
fonction des différentes dimensions
◦ Ex : coût des travaux, nombre d’accidents, ventes

Un fait représente la valeur d’une mesure, calculée selon un membre de


chacune des dimensions
Exemple :
◦ « 250 000 euros » est un fait qui exprime la valeur de la mesure « coût des travaux » pour le
membre « 2012 » du niveau année de la dimension « temps » et le membre « Versailles » du
niveau « ville » de la dimension « découpage administratif »

19/11/2016 DR. ZAHRA KODIA AOUINA 26


Modélisation Multidimensionnelle
Faits
Les faits sont les données sur quoi va porter l'analyse.
Ce sont des tables qui contiennent des informations opérationnelles et qui relatent la
vie de l'entreprise.
Un fait est tout ce qu'on voudra analyser.
Exemple :
 Tables de faits « Ventes »: chiffre d'affaire net, quantités et montants commandés,
quantités facturées, quantités retournées, volumes des ventes, etc.
 Tables de faits « Stocks » : nombre d'exemplaires d'un produit en stock, niveau de
remplissage du stock, taux de roulement d'une zone, etc.,
 Tables de faits « ressources humaines » : performances des employés, nombre de
demandes de congés, nombre de démissions, taux de roulement des employés, etc.

19/11/2016 DR. ZAHRA KODIA AOUINA 27


Modélisation Multidimensionnelle
Faits
Fait
◦ Sujet d’analyse
◦ Grain de mesure de l’activité
◦ Résultat d’une opération d’agrégation des données
◦ Exemple: Chiffre d’affaires, nombre de vente, gain, nombre de transaction…
 en général : une valeur numérique
◦ Les mesures sont stockées dans la table des faits

Table des faits


◦ Clé composite référencent des clés primaires des tables de dimensions
◦ Contient les valeurs des mesures et des clefs vers les tables de dimensions
 traduit une relation (n,m) entre les dimensions
◦ Plusieurs tables de fait dans un DW
◦ Les faits les plus utiles d’une table des faits sont numériques et additifs
19/11/2016 DR. ZAHRA KODIA AOUINA 28
Modélisation Multidimensionnelle
Faits
Fait additif :
◦ Additionnable suivant toutes les dimensions
◦ Exemples: quantité vendue, chiffre d’affaire, coût
Fait semi-additif :
◦ Additionnable selon certaines dimensions
◦ Exemples: Niveau de stock (excepté sur la dimension temps), Nombre de
transactions, de clients (excepté sur la dimension produit)
Fait non-additif :
◦ Non additionnable
◦ Exemple: attribut ratio (marge brute = 1- Coût/CA)

19/11/2016 DR. ZAHRA KODIA AOUINA 29


Modélisation Multidimensionnelle
Faits
Exemple:
◦ Fait: Montant et quantité des ventes, chaque jour pour chaque produit dans chaque magasin

A en général plusieurs lignes et peu de colonnes


Table des Faits

Ventes Journalières
Date
Clé Date Magasin
Clé Produit
Dimensions Clé Magasin
Quantité vendue
Montant des ventes Faits
Produit

19/11/2016 DR. ZAHRA KODIA AOUINA 30


Modèles d’un DataWarehouse

Modèle en étoile

Modèle en flocon de neige

Modèle en constellation

19/11/2016 DR. ZAHRA KODIA AOUINA 31


Modèles d’un DataWarehouse
Modèle Étoile
Une (ou plusieurs) table(s) de faits comprenant une ou plusieurs mesures
Plusieurs tables de dimension dé-normalisées: descripteurs des dimensions.
Les tables de dimension n'ont pas de lien entre elles.
Avantages
◦ Facilité de navigation.
◦ Performances : nombre de jointures limité ; gestion des données creuses.
◦ Gestion des agrégats

Inconvénients
◦ Redondances dans les dimensions.
◦ Alimentation complexe..

19/11/2016 DR. ZAHRA KODIA AOUINA 32


Modèles d’un DataWarehouse
Modèle en Étoile
La syntaxe générale de ces requêtes est la suivante :
SELECT <Liste de projection> <Liste d’agrégation>
FROM <Nom de la table des faits> <Liste de noms de tables de dimension>
WHERE <Liste de prédicats de sélection & jointure>
GROUP BY <Liste des attributs de tables de dimension>

19/11/2016 DR. ZAHRA KODIA AOUINA 33


Modèles d’un DataWarehouse
Modèle en Étoile - Exemple
Produit
Code_pdt Ventes
Description
Couleur Code_produit Magasin
Marque Code_période Code_mag
Créateur
Code_Magasin Nom_mag
Ville
Période Téléphone
Unités_vendues Manager
Code_per Montant_ventes
Année
Trimestre
Montant_coût
Mois
Jour

19/11/2016 DR. ZAHRA KODIA AOUINA 34


Modèles d’un DataWarehouse
Modèle en Flocon de Neige
Dérivé du schéma en étoile où les tables de dimensions sont normalisées
◦ La table des faits reste inchangée

Chacune des dimensions est décomposée selon sa (ou ses) hiérarchie(s)


Exemple : Commune, Département, Région, Pays, Continent
Utilisé lorsque les tables sont très volumineuses
Avantages
◦ Réduction du volume
◦ Permettre des analyses par pallier (drill down) sur la dimension hiérarchisée

Inconvénients
◦ Navigation difficile
◦ Nombreuses jointures

19/11/2016 DR. ZAHRA KODIA AOUINA 35


Modèles d’un DataWarehouse
Modèle en Flocon de Neige - Exemple

Marque
Code_marque Produit
Nom
Description
Code_pdt Ventes
Description
Créateur
Couleur Code_produit Magasin
Code_marque Code_période Code_mag
Code_Magasin Nom_mag
Ville
Période Téléphone
Unités_vendues Manager
Code_per Montant_ventes
Année
Trimestre
Montant_coût
Mois
Jour

19/11/2016 DR. ZAHRA KODIA AOUINA 36


Modèles d’un DataWarehouse
Modèle en Constellation
Fusionner plusieurs modèles en étoile qui utilisent des dimensions communes

Un modèle en constellation comprend donc :


◦ Plusieurs tables de faits
◦ Des tables de dimensions communes ou non à ces tables de faits.

19/11/2016 DR. ZAHRA KODIA AOUINA 37


Modèles d’un DataWarehouse
Modèle en Constellation - Exemple

Fournisseur Produit
Code_four Achats
Code_pdt Ventes
Description
Nom
Adresse Code_produit Couleur Code_produit Magasin
Marque Code_période
Catégorie Code_période Code_mag
Créateur
Code_fournisseur Code_Magasin Nom_mag
Ville
Période Téléphone
Unités_achetées Unités_vendues Manager
Code_per Montant_ventes
Montant_achats Année
Montant_remises Trimestre
Montant_coût
Mois
Jour

19/11/2016 DR. ZAHRA KODIA AOUINA 38


Modèles d’un DataWarehouse
Synthèse
Modèle en étoile
◦ Taille de dimension plus grosse
Modèle en flocon de neige
◦ Jointures pour reconstruire
Modèle en étoile >> Modèle en flocon
◦ car tables de dimension << tables de fait

19/11/2016 DR. ZAHRA KODIA AOUINA 39


DW : Quels outils pour le BI ?
Volet Datawarehouse Volet ETL
Open source : Open Source:
◦ Mondrian Pentaho ◦ Talend Open Studio pour l'ETL
◦ Spagobi
◦ Pentaho Data Integration (PDI)
◦ Jedox Palo OLAP Server
◦ Ketl
◦ Infobright(MySQL)
◦ CloverETL
◦ PostegreSQL
◦ Etc. ◦ Etc.

Payant : Payant :
◦ SQLServer, ◦ Clickview
◦ Hypérion (Oracle ) ◦ ActivePivot
◦ Etc. ◦ Etc.

19/11/2016 DR. ZAHRA KODIA AOUINA 41


Schéma d’un DW en SQL
Pour créer un schéma, on utilise la commande CREATE SCHEMA. Le nom du schéma est libre. Par
exemple :
CREATE SCHEMA mon_schema;
Pour créer les objets d'un schéma ou y accéder, on écrit un nom qualifié constitué du nom du
schéma et du nom de la table séparés par un point :
mon_schema.ma_table
Cela fonctionne partout où un nom de table est attendu, ce qui inclut les commandes de
modification de la table et les commandes d'accès aux données discutées dans les chapitres
suivants. (Pour des raisons de simplification, seules les tables sont évoquées, mais les mêmes
principes s'appliquent aux autres objets nommés, comme les types et les fonctions.)

19/11/2016 DR. ZAHRA KODIA AOUINA 43


Schéma d’un DW en SQL
Pour ajouter un schéma au chemin, on écrit :
SET search_path TO mon_schema;

Il est alors possible d'accéder à la table sans qu'elle soit qualifiée par un schéma :
DROP TABLE ma_table;
Ou encore
CREATE TABLE ma_table (
...
);

19/11/2016 DR. ZAHRA KODIA AOUINA 44


Schéma d’un DW en SQL
Pour créer un fait ou une dimension dans le nouveau schéma, on utilise :
CREATE TABLE ma_table (
...
);
Pour définir une clé primaire ou étrangère, on utilise :
ALTER TABLE ma_table ADD PRIMARY KEY(champs);
ALTER TABLE ma_table2 ADD FOREIGN KEY(clef) REFERENCES ma_table;

19/11/2016 DR. ZAHRA KODIA AOUINA 45


Schéma d’un DW en SQL
Pour effacer un schéma vide (tous les objets qu'il contient ont été supprimés), on utilise :
DROP SCHEMA mon_schema;
Pour effacer un schéma et les objets qu'il contient, on utilise :
DROP SCHEMA mon_schema CASCADE;

19/11/2016 DR. ZAHRA KODIA AOUINA 46


Cube

19/11/2016 DR. ZAHRA KODIA AOUINA 47


Exemple de schéma (1/3)

19/11/2016 DR. ZAHRA KODIA AOUINA 48


Exemple de schéma (2/3)
begin;
create table Temps(
-- schema id_temps int,
DROP SCHEMA if exists "ProduitDW" CASCADE; jour int,
CREATE SCHEMA "ProduitDW" semaine int,
AUTHORIZATION postgres; mois int,
annee int);
set search_path to "ProduitDW";
-- table Fait
-- dimensions create table Ventes(
create table Clients( prix double,
id_client int, nbArticle int,
id_client int,
nom_client varchar,
id_produit int,
adresse varchar, id_temps int);
sexe varchar);
create table Produits(
id_produit int,
nom_produit varchar,
desc_produit varchar );
19/11/2016 DR. ZAHRA KODIA AOUINA 49
Exemple de schéma (3/3)
-- primary keys
alter table Temps add primary key(id_temps);
alter table Produits add primary key(id_produit);
alter table Clients add primary key(id_client);
alter table Ventes add primary key(id_temps, id_produit, id_client);
-- foreign keys
alter table Ventes add foreign key(id_temps) references Temps,
add foreign key(id_produit) references Produits,
add foreign key(id_client) references Clients;

commit;

19/11/2016 DR. ZAHRA KODIA AOUINA 50


Un aperçu…

19/11/2016 DR. ZAHRA KODIA AOUINA 51


Un aperçu…

19/11/2016 DR. ZAHRA KODIA AOUINA 52


Bibliographie
Supports de Cours
◦ Karima Tekaya – « Informatique Décisionnelle » - INSAT
◦ Fatma Baklouti – « Les entrepôts de données (Data Warehouses) » - INSAT
◦ Didier Donsez – « Conception de Bases Décisionnelles » - Université Joseph Fourier
◦ E. Grislin-Le Strugeon – « Systèmes d’information décisionnels (Data Warehouse / Data Mining) » -
Université de Valenciennes

19/11/2016 BUSINESS INTELLIGENCE 53