Académique Documents
Professionnel Documents
Culture Documents
DataWarehouse
Akram Khemiri
Les SI décisionnels
Objectif :
– Améliorer les fonctions de prise de décision
Moyens :
– Répondre aux requêtes d’analyse des décideurs
Comment faire ?
– Extraire de la connaissance et de l’information
synthétique à partir de données disséminées dans
le système d’information opérationnel
Les SI décisionnels
Exemples Requêtes type du décisionnel :
Qui sont mes clients ? Pourquoi sont-ils mes
clients ? Comment les conserver ou les faire
revenir ? Ces clients sont-ils intéressants pour moi
?
Où placer ce produit dans les rayons ? Comment
cibler plus précisément le mailing concernant ce
produit ?
Etc.
Problématique des SI décisionnel
Une masse importante de données :
– Distribuée
– Hétérogène
– Très détaillée par rapport aux besoins d’analyse
Traitement de ces données :
– Synthétiser
– Visualiser
– Analyser
Les utilisateurs :
– Experts et analystes par métier
– Non informaticiens
Le DataWarehouse
Un système d’information dédié aux
systèmes de décision
Préalable :
– Des BD de production (Système
d’Information opérationnel)
Résultat :
– Prise de décision
OLTP versus OLAP
OLTP = On Line Transaction
Processing
– Systèmes de gestion de données dédiés
aux SI opérationnels
OLAP = On Line Analysis Processing
– Systèmes de gestion de données dédiés
aux SI décisionnels
OLTP versus OLAP
Raports
&
Appli.
Appli. OLAP Analyses
Applicationsi.
ETL
DW
OLTPP
DM Aides à
la décision
OLTP versus OLAP
Bases de Entrepôt de
Production Données
(OLTP) (DW)
Atomiques Résumés
Données Orientées Orientées sujet
applications Historisées
À jour Statiques
Dynamiques
Employés de Analystes
Utilisateurs bureau Peu nombreux
Nombreux Non concurrents
Concurrents Interrogations
Mises à jour Requêtes
Requêtes spécifiques
prédéfinies Réponses moins
Réponses rapides
immédiates Accès à bcp
Accès à peu de d’information
données
Evolution du marché de l’OLAP
18
16
14
CA en Milliards de $
12
10
8
6
4
2
0
1994 1995 1996 1997 1998 1999 2000 2001
Années
Motivations des entreprises
Besoin des entreprises
– accéder à toutes les données de l’entreprise
– regrouper les informations disséminées
– analyser et prendre des décisions rapidement (OLAP)
Exemples d'applications concernées
– Grande distribution : marketing, maintenance, ...
• produits à succès, modes, habitudes d’achat
• préférences par secteurs géographiques
– Bancaire : suivi des clients, gestion de portefeuilles
• mailing ciblés pour le marketing
– Télécommunications : pannes, fraudes, mobiles, ...
• classification des clients, détection fraudes, fuites de clients
Définition d’un entrepôt de
données
Entrepôt de données
– Ensemble de données historisées variant dans le
temps, organisé par sujets, consolidé dans une
base de données unique, géré dans un
environnement de stockage particulier, aidant à la
prise de décision dans l’entreprise.
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
Schéma de la suite décisionnelle
DataMart (Magazin de données)
sous-ensemble de données [extrait du DW] et
ciblé sur un sujet unique
Bases
Data Warehouse multidimensionnelles
Bases de
production
Data Marts
SGBD
relationnel
Outils
Bases
d’alimentation
Bases externes relationnelles
Architecture fonctionnelle
exploration
analyse
Niveau BD
fusion Entrepôt
Médiateur
Transformation, fusion
Ni-
Moniteur/Adaptateur Moniteur/Adaptateur Moniteur/Adaptateur veau
Ex-
BD source trac-
Source BD source
tion
Données BD légataires Données
externes opérationnelles
Niveau extraction de données
Réalisé par un moniteur
– Approche push : détecte les m-a-j sur les
bases sources et les envoie vers l ’entrepôt
(triggers, etc.)
– Approche pull : activé périodiquement
Niveau fusion
Intégration des données provenant de
sources éventuellement hétérogène
Respect de la modélisation par sujet
Chargement initial de l ’entrepôt
Rafraîchissement de l’entrepôt
Niveau exploitation de données
Analyse et exploration des données
entreposées
Formulation de requêtes complexes
extrapolation
découverte de connaissances
utilisation d ’outils graphiques
Fichiers Moniteur Adaptateur Médiateur
BD de production
BD externe
Moniteur de source (Source
Monitor)
Composant capable de détecter les
mises-à-jour effectuées suer la source
et de repérer les données à envoyer à
l ’entrepôt pour sa mise à niveau
ultérieure.
– Utilisation des triggers
– Interrogations périodiques
Adaptateur de source (source
wrapper)
Composant capable de traduire les
requêtes et les données depuis le
modèle d ’une source locale vers le
modèle de l ’entrepôt et vice versa.
Le médiateur
Logiciel capable de donner une vision
intégrée des différentes sources de
données de l ’entreprise et d ’extraire
par des requêtes des parties de cette
vue intégrée.
2. Concevoir le DW
Export de données des sources
– Hétérogènes et variées
– Fichiers, BD patrimoniales, Web, …
– Définition des vues exportées
Définition d'un schéma global
– Intègre les données utiles
– S'appuie sur le modèle relationnel
Nécessité d'une gestion de méta-données
– Description des sources
– Description des vues exportées
– Description du schéma global
Conception DW
Modélisation par sujet
Applications
Sujets
Production
Production Client
Gestion
Gestion
de
destocks
stocks Vendeur
Facturation
Facturation
Produit
Livraison
Livraison
Organisation par sujet
Les données sont organisées par sujets majeurs:
– Clients, produits, ventes, …
Sujet = faits + dimensions
– Collecte les données utiles sur un sujet
• Exemple: ventes
– Synthétise une vue simple des événements à analyser
• Exemple: Ventes (N°, produit, période, magasin, )
– Détaille la vue selon les dimensions
• Exemple: Produits(IDprod, description, couleur, taille, …)
• Magasins(IDmag, nom, ville, dept, pays)
• Periodes(IDper, année, trimestre, mois, jour)
Conception DW
Schémas en étoile
Une table de faits encadrées par N tables de
dimensions
Produits
IDprod
Periodes Table de faits “ventes” description
couleur
IDper taille
année periode
fournisseur
trimestre produit
mois Magasins
magasin
jour
IDmag
unités_vendues nom
montant_ventes ville
département
taxes_ventes pays
Conception DW
Schémas en flocons
Raffinement du schéma étoile avec des tables
normalisées par dimensions
Produits Fournisseurs
IDprod IDfour
description description
couleur type
taille Adresse
Ventes IDfour
Avantages
– Évite les redondances
– Conduit aux constellations (plusieurs tables de faits à
dimensions partagées)
Conception DW
Conception du schéma intégré
Isoler les faits à étudier
– Schéma des tables de faits
Définir les dimensions
– Axes d'analyse
Normaliser les dimensions
– Éclater en plusieurs tables liés par contraintes référentielles
Intégrer l'ensemble
– Plusieurs tables de faits partagent quelques tables de
dimension (constellation d’étoiles)
Conception DW
3. Alimenter le DW
ETL = Extracteur+Intégrateur
– Extract + Transform + Load
Extraction
– Depuis les bases sources ou les journaux
– Différentes techniques
• Push = règles (triggers)
• Pull = requêtes (queries)
– Périodique et répétée
• Dater ou marquer les données envoyées
– Difficulté
• Ne pas perturber les applications OLTP
L'alimentation
Transformation
Accès unifiés aux données
– Unification des modèles
• Traduction de fichiers, BD réseaux, annuaires en tables
• Evolution vers XML (modèle d'échange) plus riche
– Unification des accès
• Rowset, SQL limité, SQL complet, …
Mapping plus ou moins sophistiqué
– Unification des noms
• Appeler pareil les mêmes choses et différemment les choses différentes
• Application des "business rules"
– Elimination des doubles
– Jointure, projection, agrégation (SUM, AVG)
Cleaning des données
L'alimentation
Data Cleaning
Valeurs manquantes (nulles)
– Ignorer le tuple
– Remplacer par une valeur fixe ou par la moyenne
Valeurs erronées ou inconsistantes
– Générées en présence de bruits
– Détecter par une analyse de voisinage
• Écart par rapport à la moyenne
• Factorisation en groupes (outliers)
– Remplacer par une valeur fixe ou par la moyenne
Inspection manuelle de certaines données
possible
L'alimentation
Chargement
Pas de mise à jour
– Insertion de nouvelles données
– Archivage de données anciennes
De gros volumes
– Périodicité parfois longue
– Chargement en blocs (bulk load)
– Mise à jour des index et résumés
Problèmes
– Cohabitation avec l'OLAP ?
– Procédures de reprises ?
L'alimentation
Principaux ETL (JDNet)
Parfois citée comme
Issue du rachat d'Acta, plate-forme ETL de
cette solution se propose référence par certains Extraction standard depuis:
de rendre accessible en Acta était le fournisseur
acteurs, mais pas ceux fichiers plats (C et Cobol),
"quasi-temps réel" les historique du premier Siebel, les SGBDR, Informix,
connecteur à SAP. de la business Teradata, Oracle Financials,
données les plus
Business Objects souvent accédées. L'un Partenaire notamment de ETI intelligence, ETI.Extract PeopleSoft HRMS, SAP R3 et
Siebel, Peoplesoft et ETI.Extract fonctionne avec des BW... Librairies pour toutes les
ActaWorks des éditeurs de bases de données ci-dessous,
JDEdwards. Interfaçage librairies pour supporter
référence dans le les entrepôts de sauf Hyperion, sur systèmes
domaine de l'ETL, qui avec Cognos, Hyperion, anciens et plus récents. Plugins
Actuate et Brio. données et des plugins ETI.Accelerator pour Siebel,
s'étend sur la partie additionnels en SQL/Teradata et les
middleware en intégrant prolongement middleware MQ (IBM, Tibco...).
aussi les transactions. d'applications précises.
http://solutions.journaldunet.com/0208/020827_bi_panorama1.shtml
4. Gérer l'entrepôt
Base relationnelle
– Support de larges volumes (qq 100 gigas à qq téras)
– Historisation des données (fenêtres)
– Importance des agrégats et chargements en blocs
Base spécialisée
– Base multidimensionnelle
– Combinaison des deux
Machine support parallèle
– Multiprocesseurs
– Mémoire partagée, cluster, bus partagé, etc.
Le multidimensionnel
Principaux systèmes (Jdnet)
Hyperion EssBase est l'entrepôt de
données multi-
Ce n'est pas à la base de
données de se connecter
Essbase Entrepôt de données
dimensionnel de aux applications mais aux multi-dimensionnel avec Les solutions qui accèdent
référence sur le marché applications de se
de la business connecter à la base de
des extensions de divers à Teradata sont a priori
types dont des formules un peu moins
intelligence. Possibilité de
compléter avec l'offre
données. Les accès vers
Essbase sont nombreux. Se
NCR de data mining. Réputé nombreuses que pour
analytique d'Hyperion ou reporter aux autres Teradata Database notamment pour ses Hyperion Essbase,
des solutions tierces. catégories pour savoir qui capacités de montée en Microsoft, IBM DB2,
accède à quelles sources. charge sous Unix et Oracle et Sybase.
Windows 2000.
Dernière version de la
base de données
IBM DB2/Universal DataBase
est la base de données
Même remarque que pour
Hyperion, en particulier relationnelle de
DB2/UDB, relationnelle d'IBM. En pour DB2 qui est
Informix XPS et Red Brick
l'éditeur, Oracle 9i est
rachetant Informix et son relativement répandue. Se Même remarque que pour
retaillée dans une
activité bases de renseigner sur les solutions Oracle optique qui approfondit
Hyperion et Microsoft, car
données, Big Blue a qui peuvent accéder Oracle 8i est encore très
Oracle 9i les fonctions dédiées à
récupéré ses entrepôts de nativement aux différents répandue.
données multi- SGBD OLAP propriétaires la business intelligence.
dimensionnels: d'Informix. Peut également
XPS fonctionner comme
(datawarehouse), et entrepôt de données
Red Brick (datamart).
OLAP.
IQ est la version
déclinée de la base de
données relationnelle de Même remarque que pour
Microsoft La version la plus récente Même remarque que pour Sybase Sybase, pour des Hyperion, IBM DB2,
de la SGBDR (base de Hyperion. SQL Server est
SQL Server 2000 Adaptive Server IQ besoins en rapport avec Oracle et Microsoft
données relationnelle) de très répandue, mais
Microsoft. A enrichi ses souvent encore en version la business intelligence,
fonctions OLAP avec 7.0 qui peut aussi être donc aussi le CRM
Analysis Services. Parmi attaquée par la plupart des analytique.
celles-ci: l'accès direct solutions du commerce qui
aux cubes via le web, et fonctionnent sous Windows
une extension data
mining.
http://solutions.journaldunet.com/0110/011025_crm_tableau2.shtml
Le multidimensionnel
Dimensions: Indicateurs:
– Temps – Nombre d’unités
– Géographie vendues
– Produits – CA
– Clients – Coût
– Canaux de ventes..... – Marge.....
Le multidimensionnel
Cube de données
0
10
Date
NumFou 2002 350 600 300
0
15
2001 300 500 400
0
12
NumPro 2000 250 200 F2
F1
P1 P2 P3
Le multidimensionnel
Le data cube et les dimensions
Variables analysées:
Nb unités, CA, marge...
Le multidimensionnel
Exemple
Montant des ventes fonction de (Mois, région,
Produit)
Granularité des dimensions :
on
gi
Magasin Jour
Mois
Le multidimensionnel
La navigation multidimensionnelle
Région
Temps en semaines
Réduction selon 1 dimension
Produits Zoom selon une dimension
France
Le multidimensionnel
L'algèbre des cubes
Roll up :
– Agréger selon une dimension
• Semaine Mois
Drill down :
– Détailler selon une dimension
• Mois Semaine
Slice et Dice:
– Sélection et projection selon 1 axe
• Mois = 04-2003 ; Projeter(Région, Produit)
Pivot :
– Tourne le cube pour visualiser une face
• (Région,Produit)(Région, Mois)
Le multidimensionnel
Les vues d'un cube
Partant d'un cube 3D, il est possible d'agréger selon
une dimension tournante
On obtient un treillis de vues (calculable en SQL)
Le multidimensionnel
Bilan Gestion
La modélisation
multidimensionnelle est adaptée
à l ’analyse de données
Le datacube est au centre du
processus décisionnel
– transformation et visualisation 3D
– une algèbre du cube
– De multiples techniques
d'optimisation
Questions ?
– Combien de datacubes à partir de
N variables ?
Le multidimensionnel
5. Implémentation
Multidimensional OLAP (MOLAP)
– implémentent les cubes comme des matrices en
mémoire
Relational OLAP (ROLAP)
– implémentent les cubes comme des tables
relationnelles
Hybrid systems (HOLAP ou MROLAP)
– certaines données en matrices en mémoires,
d'autres en tables sur disques
Implémentation
ROLAP versus MOLAP
SQL+Cube SQL+Cube
Opérateurs Cache Cube
décisionnels
Analyseur
SQL
Optimiseur
Analyseur
Opérateurs Optimiseur
Opérateurs décisionnels
relationnels Opérateurs
Cache SGBD relationnels Cache SGBD
Implémentation
Evolution des SGBD
Utilisation intensive des calculs
d'agrégats
– Optimisation, concrétisation
Nouvelles fonctions de SQL
– Fonctions agrégats
• Rank, Moving Average, Rollup, Cube, ...
– Fonctions statistiques:
• Pivot, Standard déviation, Covariance,
Corrélation …
Implémentation
Vues Concrètes
CREATE MATERIALIZED VIEW <Table>
(column_list) AS
SELECT …
La vue est pré-calculée par le SGBD
– Pré-calcul des agrégats et jointures
Elle est maintenue lors des mises à jour
Les requêtes sont reformulées contre la vue
d'une manière transparente pour l'usager
Implémentation
Exemple
Table:
Emp(#emp, job, salary)
Définition de la vue:
CREATE MATERIALIZEDVIEW
job_avg_sal
AS select job, avg(sal) avg_sal
FROM emp
GROUP BY job;
Interrogation de la vue:
SELECT job FROM job_avg_sal
WHERE avg_sal > 10000
Implémentation
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 à Crée 2n combinaisons
n+1 niveaux, n étant le d'agrégats, n étant le
nombre de colonne de nombre de colonne de
groupage groupage
– n, n-1, n-2,…0 colonnes
Implémentation
Exemple CUBE
An i ma l Li e u Qu a n t i t e An i ma l Li e u Qu a n t i t e
Ch i e n Pa r i s 12 Ch a t Pa r i s 18
Ch a t Pa r i s 18 Ch a t Na p l e s 9
To r t u e Ro me 4 Ch a t - 27
Ch i e n Ro me 14 Ch i e n Pa r i s 12
Ch a t Na p l e s 9 Ch i e n Na p l e s 5
Ch i e n Na p l e s 5 Ch i e n Ro me 14
To r t u e Na p l e s 1 Ch i e n - 31
SELECT Animal, Lieu, To r t u e Na p l e s 1
SUM(Quantite) as Quantite To r t u e Ro me 4
FROM Animaux To r t u e - 5
GROUP BY Animal, Magasin - - 63
WITH CUBE - Pa r i s 30
- Na p l e s 15
- Ro me 18
Implémentation
Exemple ROLLUP
An i ma l Li e u Qu a n t i t e
An i ma l Li e u Qu a n t i t e
Ch i e n Pa r i s 12 Ch a t Pa r i s 18
Ch a t Pa r i s 18 Ch a t Na p l e s 9
To r t u e Ro me 4
Ch a t - 27
Ch i e n Ro me 14
Ch a t Na p l e s 9
Ch i e n Pa r i s 12
Ch i e n Na p l e s 5 Ch i e n Na p l e s 5
To r t u e Na p l e s 1 Ch i e n Ro me 14
SELECT Animal, Lieu, Ch i e n - 31
SUM(Quantite) as Quantite To r t u e Na p l e s 1
FROM Animaux To r t u e Ro me 4
GROUP BY Animal,Magasin To r t u e - 5
WITH ROLLUP - - 63
Implémentation
Méta-données
Standard en émergence
CWM
MOF
– Common Warehouse Meta-
Méta-méta-modèle
model
Basé sur le méta-modèle
objet de l'OMG (MOF)
– Constructions de base:
classe (attribut, operation), Méta-modèle UML CWM EJB
association, package, type
de données, contraintes
– Extensions: métaclasses, Modèle Vente
numv Méta-données
métarelations numpro
quantité
prixtot
Défini en UML
Echangé en XML (XMi)
Instance Objet
Implémentation
Les Packages CWM
ObjectModel
(Core, Behavioral, Relationships, Instance)
Implémentation
6. Le marché du BI
BI= Business Intelligence
Slice(« Paris »)
[Drilldown (Ville)
[Rollup (Année, mois)
[slice(> 1998 AND <1999) [Cube]]]].