Entrepˆ ots de donn´ ees
Premi`ere partie
Thierry Hamon
Bureau H202 Institut Galil´ee - Universit´e Paris 13
&
LIMSI-CNRS hamon@limsi.fr
https://perso.limsi.fr/hamon/Teaching/P13/DWH-AIR3-2020- 2021/
AIR3 – DWH
Sources des transparents
F. Boufares, LIPN, Universit´e Paris Nord P. Marcel, LI, Universit´e de Tours
Bernard Espinasse, Ecole Polytechnique Universitaire de Marseille
Melanie Herschel, Universit´e Paris Sud
Pr´ esentation du cours
Dans la suite du cours de AIR2 et AIR3 sur les BD Objectifs de l’enseignement :
Connaˆıtre et manipuler des notions li´ees aux Entrepˆots de donn´ees (ED/DWH)
Introduction et d´efinition d’un entrepˆot de donn´ees Mod´elisation et Architecture d’un entrepˆot de donn´ees OLAP et impl´ementation des entrepˆots de donn´ees R´epartition des enseignements
3×3h de cours Partiel
4×3h de TP
Evaluation lors du dernier TP
Pr´ esentation du cours
Dans la suite du cours de AIR2 et AIR3 sur les BD Objectifs de l’enseignement :
Connaˆıtre et manipuler des notions li´ees aux Entrepˆots de donn´ees (ED/DWH)
Programme des enseignements
Introduction et d´efinition d’un entrepˆot de donn´ees Mod´elisation et Architecture d’un entrepˆot de donn´ees OLAP et impl´ementation des entrepˆots de donn´ees
3×3h de cours Partiel
4×3h de TP
Evaluation lors du dernier TP
Pr´ esentation du cours
Dans la suite du cours de AIR2 et AIR3 sur les BD Objectifs de l’enseignement :
Connaˆıtre et manipuler des notions li´ees aux Entrepˆots de donn´ees (ED/DWH)
Programme des enseignements
Introduction et d´efinition d’un entrepˆot de donn´ees Mod´elisation et Architecture d’un entrepˆot de donn´ees OLAP et impl´ementation des entrepˆots de donn´ees R´epartition des enseignements
3×3h de cours Partiel
4×3h de TP
Evaluation lors du dernier TP
Historique
G´en´erations de SGBD
Volume de données Type de données Indépendance physique Portabilité
Hiérarchies, Réseaux
SGBD 1 1960 − 1970 − 1980
1970 − 1980 − 1990 Relationnels
SGBD 2
SGBD 3 1980 − 1990 − 2000
Avancés
Avancés
SGBD4/5 2004/5 − 2010
2010 − 202X?
Big Data
Puissance
Historique
Applications BD, ED, FD, ...
Entrepôts de Données Intégration de Données Bases de Données
Applications : Paie, Marketing, Financière (50 tables de quelques milliers de lignes) 50 Mo
Fouille de données
(Analyse du comportement des clients, etc.)
Intégration de plusieurs systèmes d’information nationaux et internationnaux) Entrepôts de données (grosses masses de données)
(milliers de tables de quelques millions de lignes) > 100 Go
Applications : Gestion des risques, Analyse des ventes (100 tables de quelques millions de lignes) 2 Go
Téraoctets par jour, Pétaoctets par an (Applications analytique, prise de décision, analyse prédictive) BigData / Datamasse
Volume de données Type de données
Performance
Historique
Applications BD, ED, FD, ...
Entrepôts de Données Intégration de Données Bases de Données
Applications : Paie, Marketing, Financière
Entrepôts de données
(OLTP : < 10 secondes) (OLAP < 1 heure)
( MV : agrégation, ...) (Batch : Quotidien ou mensuel < 1h) Grosse volumétrie : travail d’optimisation et suivi des activités du DWh nécéssaire
Par expérience, certains traitements ne se terminent pas Nécessité de modifications techniques et fonctionnelles au bout de quelques jours
Applications : Gestion des risques, Analyse des ventes (Batch : < 1 heure)
Applications : Génome, Astronomie Analyse climatique, Physique quantique, Analyse tendancielle
(Temps réel)
Volume de données Type de données
Historique
Structure et type de donn´ees
Volume de données Type de données Indépendance physique Portabilité
Relationnelle
& objet
Structure de données TABULAIRE Relations
Hiérarchique
& Réseau
Structure de données en RESEAU
Stockage et calcul distribués
Puissance
Cohérence Performance Structure HIERARCHIQUE
des données
Type de données COMPLEXE
Cloud computing
Historique
Exemples de SGBD
Volume de données Type de données Indépendance physique Portabilité
SGBD 1
COADSYL, SOCRATE, ...
ORACLE 5/6 INGRES, DB2, ...
SGBD 2
SGBD 3
ORACLE 7/8, INGRES, DB2, Sybase, Verssant Enjin (O2), ObjectStore, Orlent, SQLServer, ACCESS, ...
MySQL, PostGreSQL,
Bases de données Entrepôts de données Intégration de Données
SGBD4/5
ORACLE 9i, 10g, 11g, 12c DB2, ...
XML, ...
MapReduce, Hadoop Teradata, Oracle
Puissance
Quelle quantit´ e d’information ? sous quelle forme ?
Il y a plus de 15 ans !
en 2000 :
entre 1 et 2 ExaOctets par ann´ee (1 Eo = 220 To) 90% ´electronique
taux de croissance annuel de 50 % en 2003 : 5 Eo en 2002, 92% ´electronique
Lyman&Varian, 2003 (http://groups.ischool.berkeley.edu/archive/
how-much-info-2003/execsum.htm)
Comment acc`eder `a ces donn´ees, tirer partie de ces donn´ees ?
→Les bases de donn´ees ne suffisent plus
Des bases de donn´ ees aux Entrepˆ ots de donn´ ees
Introduction
Avant les entrepˆots de donn´ees/Data Warehouses
La majeure partie des applications Bases de Donn´ees reposent aujourd’hui sur trois couches :
La couche la plus externe est celle de qui permet de pr´esenter les donn´ees aux utilisateurs.
Elle est appel´eeGraphical User Interfaces GUI.
La couche application interm´ediaire inclut le programme de l’application
Elle ne stocke pas les donn´ees.
La couche la plus interne g`ere le stockage des donn´ees.
Elle est appel´ee la coucheBase de Donn´ees.
Introduction
BD1
Graphical User Interfaces GUI GUI
Couche Présentation
BD2
Ressources externes (file system, ftp, www, ...)
Decision support System OLTP Application OLTP Application
Couche Application
Couche Base de Données
Insert, Update, Delete
Read, Select
Introduction
Les applications interrogent les donn´ees avec, par exemple, le langage SQL (Select)
et les mettent `a jour par l’interm´ediaire des op´erations Insert,UpdateetDelete
qui constituent des transactions.
Celles-ci doivent avoir certaines propri´et´esACID (Atomicit´e, Coh´erence, Isolation et Durabilit´e)
Ce type d’application est appel´e On-Line Transaction Processing OLTP.
Introduction
Donn´ees volumineuses & Besoins nouveaux Vers les entrepˆots de donn´ees
→Syst`emes d’Information D´ecisionnel
Syst`emes d’Aide `a la D´ecision (DSS) :
Rapports, Etats, Tableaux de Bord, Graphiques, Synth`eses, Groupement, Agr´egat, R´esum´e ...
(Reporting Tools, Management Information System, Executive Information System, Decision Support System DSS)
Introduction
Vers les entrepˆots de donn´ees Remarques
Contrairement aux applications OLTP, qui consultent et mettent `a jour les donn´ees des BD op´erationnelles, les DSS lisent les donn´ees seulement pour avoir de nouvelles informations `a partir des donn´ees sources B´en´efice de cette approche : seules les BD op´erationnelles ont `a ˆetre cr´e´ees et maintenues
Un ensemble de m´eta-donn´ees est utilis´es pour les 2 syst`emes.
Les DSS ne n´ecessitent que des travaux suppl´ementaires mineurs.
Introduction
Vers les entrepˆots de donn´ees Remarques
Cependant, il y a plusieurs d´esavantages :
(quand le DSS et les applications OLTP se partagent les mˆemes BD) Un DSS ne peut utiliser que les donn´ees actuellement stock´ees dans les BD
les analyses historiques sont donc souvent impossibles `a cause des op´erations de mises `a jour qui changent les donn´ees historiques L’utilisation des BD en mode multi-utilisateurs
ce qui implique des op´erations de verrouillage des donn´ees (Locking operations) et donc des probl`emes de performance
car les requˆetes analytiques demandent l’acc`es `a de tr`es grands nombre de tuples.
Introduction
La solution est de s´eparer la BD orient´ee Transaction
de la BD orient´ee Aide `a la D´ecision d’o`u la naissance du concept
Entrepˆot de Donn´ees = Data Warehouse.
Les DWH sont physiquement s´epar´es des SGBD op´erationnels (BD op´erationnelles)
Introduction
D´efinition rapide d’un Data Warehouse
Le Data Warehouse est une collection de donn´ees orient´ees sujet, int´egr´ees, non volatiles, historis´ees, organis´ees pour le support d’un processus d’aide `a la d´ecision
Un syst`eme de DWH peut ˆetre formellement d´efini comme un triplet
<BD cible, m´eta-donn´ees, un ensemble d’op´erations>
L’ensemble des op´erations associ´ees peut ˆetre pr´esent´e en 4 cat´egories (ETL, Agr´egation et Groupement)
Architecture des DWHs
OLAP
BD opérationnelles Sources externes
Méta−données
Entrepot de données Intégrer
Maintenir Extraire
Nettoyer
Transformer Charger (Load)
Rafraichir
Utiliser
Introduction
Le DWH int`egre des donn´ees `a partir de sources multiples et h´et´erog`enes
afin de r´epondre aux requˆetes du syst`eme d’aide `a la d´ecision.
Ce type d’application est appel´e On-Line Analytical Processing OLAP
OLAP permet la transformation des donn´ees en informations strat´egiques
Nouveaux concepts/nouvelle perspective
Entrepˆot de donn´ees
r´ecolte, stockage et gestion efficace des gros volumes de donn´ees
OLAP
requˆetes interactives complexes sur ces volumes Data mining (fouille de donn´ees)
extraction automatique de propri´et´es cach´ees donn´ees→ information→ connaissances
Analyse OLAP
(On-Line Analytical processing)
Techniques OLAP :
apparition en recherche dans les ann´ees 70
mais d´eveloppement dans les ann´ees 90 dans l’industrie R´ealisation de synth`eses, d’analyses et de la consolidation dynamique de donn´ees multidimensionnelles
Mani`ere la plus naturelle d’exploiter un ED ´etant donn´e son organisation multidimensionnelle
Fouille de donn´ ees
(Data Mining)
Recherche de connaissances cach´ees dans les donn´ees (mod`ele de comportement)
Domaine jeune `a l’intersection de l’Intelligence Artificielle, les Statistiques, les BD
M´ethodes : r´egression lin´eaire, arbres de d´ecision, r´eseaux de neurones, ...
Int´egration croissante dans les entrepˆots
Visualisation des donn´ ees de l’ED
Objectif: Faciliter l’analyse et l’interpr´etation de donn´ees Synth`ese des donn´ees de l’entrepˆot
→ Conversion des donn´ees complexes de l’entrepˆot en images,
en graphiques 2D et 3D en animations
Introduction : Comparaison
Pourquoi pas des SGBDs pour les entrepˆots de donn´ees ? les 2 syst`emes sont performants
SGBD : calibr´e pour l’OLTP ; m´ethodes d’acc`es index, contrˆole de concurrence, reprise
Entrepˆot : calibr´e pour l’OLAP ; requˆetes OLAP complexes, vue dimensionnelle, consolidation
Fonctions et donn´ees diff´erentes
Donn´ees manquantes : l’aide `a la d´ecision (AD) a besoin des donn´ees historiques qui ne se trouvent pas dans les BD op´erationnelles
Consolidation : l’AD a besoin de donn´ees consolid´ees (agr´egats) alors qu’elles sont brutes dans les BD op´erationnelles
Introduction : Comparaison
SGBD h´et´erog`enesvs. Entrepˆots de donn´ees
Traditionnellement, l’int´egration de BD h´et´erog`enes se fait par le biais de
Wrappers/m´ediateurs au dessus des BD h´et´erog`enes Approches orient´ees requˆetes
Quand une requˆete est pos´ee sur un site client, un m´etadictionnaire est utilis´e pour la traduire en plusieurs requˆetes appropri´ees `a chacune des BD. Le r´esultat est l’int´egration de r´eponses partielles
L’ex´ecution des requˆetes demande donc beaucoup de ressources
Entrepˆots de donn´ees : approche orient´ee mise `a jour les informations sont int´egr´ees et stock´ees pour une
Introduction : Comparaison
BD op´erationnelle vs. Entrepˆots de donn´ees OLTP (On-Line Transaction Processing)
Ex´ecution en temps r´eel des transactions, pour
l’enregistrement des op´erations quotidiennes : inventaires, commandes, paye, comptabilit´e
Par opposition au traitement en batch OLAP (On-Line Analytical Processing)
Traitement efficace des requˆetes d’analyse pour la prise de d´ecision qui sont par d´efaut assez complexes (bien qu’a priori, elles peuvent ˆetre r´ealis´ees par les SGBD classiques)
Introduction : Comparaison
BD op´erationnelle vs. Data Warehouse : OLTP vs. OLAP Donn´ees : courantes, d´etaill´eesvs. historiques, consolid´ees Conception : mod`ele ER + applicationvs. mod`ele en ´etoile + sujet
Vues : courantes, locales vs. ´evolutive, int´egr´ee
Mode d’acc`es : mise `a jourvs. lecture seule mais requˆetes complexes
Introduction : Comparaison
Syst`emes OLTP Syst`emes OLAP Donn´ees exhaustives Donn´ees r´esum´ees
Donn´ees courantes Donn´ees historiques Donn´ees dynamiques Donn´ees statiques Donn´ees non volumineuses Donn´ees Volumineuses
Orient´es applications Orient´es sujets Utlisateurs nombreux Utilisateurs peu nombreux
Utilisateurs vari´es D´ecideurs Mises `a jour, interrogation Interrogations
R´equˆetes simples Requˆetes complexes
Architecture du DWH
Architecture Multi-tiers
MVS (TSO, DB2 ...)
DataWareHouse UNIX (Oracle, ...)
Windows (SQL Server, Excel, ...)
Dictionnaire de Méta−données
Oracle 9i (Olap) Oracle Express
Data select (requetes)
Business Objects (rapports, analyses)
SAS (Datamining)
Data Marts
OLAP SERVER
T(ransform) L(oad) E(xtract)
00 11 0000 1111
00 11 0000 1111
00 11 0000 1111
Conception logique des DWHs
Donn´ees multidimentionnelles
Montant des ventes comme une fonction des param`etres produits, mois, r´egion
Dimensions : Produit, Lieu, Temps
Catégorie
Chemins de consolidation hiérarchiques
Produit
Mois Région
Industrie
Produit
Pays
Ville Magasin
Année
Jour
Semaine Mois
Trimestre Région
Domaines d’application
Ceux de l’informatique d´ecisionnelle (Business Intelligence) pour
aider atteindre les objectifs strat´egiques d’une entreprise et faciliter son pilotage
avoir une connaissance plus approfondie de l’entreprise anticiper les besoins clients
prendre en compte les nouveaux canaux de distribution (vente en ligne, etc.)
Domaines d’application
Informatique d´ecisionnelle
Entrepˆot de donn´ees
Outils de veille strat´egique et de recueil d’information (intelligence ´economique)
Aide aux d´ecideurs pour prendre les bonnes d´ecisions sur la base des donn´ees disponibles
Exemples :
Quels sont les 5 produits les plus vendus pour chaque sous-cat´egorie de produits qui repr´esente plus de 20% des ventes dans sa cat´egorie de produits ?
Quelle est la priorit´e d’exp´edition et quel est le revenu brut potentiel des commandes de livres qui ont les 10 plus grandes recettes brutes parmi les commandes qui n’avaient pas encore
´
et´e exp´edi´ees ?
Applications
Commerce, finance, transport, t´el´ecommunications, sant´e, services, ...
gestion de la relation client
gestion des commandes, des stocks pr´evisions de ventes
d´efinition de profil utilisateur analyse de transactions bancaires d´etection de fraudes
...
Principales applications autour d’un ED
R´ealisation de rapports divers (Reporting) R´ealisation de tableaux de bords (Dashboards) Fouille de donn´ees (Data Mining)
Visualisations autour d’un ED (visualizations) ...
Exploitation d’un ED
Rapports (Reporting) :
Besoin d’un acc`es r´egulier `a des informations presque fig´ees Ex: dans les hˆopitaux, rapports mensuels envoy´es aux agences nationales
Rapport :
une ou plusieurs requˆetes
une mise en page (diagrammes, histogrammes) Production manuelle ou automatique des rapports
Exploitation d’un ED
Tableaux de bords (Dashboards) :
Affichage d’une quantit´e limit´ee d’informations dans un format graphique facile `a lire
Utilisation fr´equente par les cadres sup´erieurs pour avoir (qui ont besoin) un rapide aper¸cu des changements les plus importants
→ un aper¸cu en temps r´eel d’´evolutions
Ex : Paris 13 en chiffres(paris13en-chiffres2014.pdf) Remarque : Pas vraiment utile pour une analyse complexe et d´etaill´ee
Exemples d’application
Domaine bancaire
Un des premiers utilisateurs des ED
Regroupement des informations relatives `a un client pour une demande de cr´edit
Lors de la commercialisation d’un nouveau produit : Mailing cibl´es rapidement ´elabor´es `a partir de toutes les informations disponibles sur un client
Recherche de fraudes sur les cartes de cr´edit :
M´emorisation des mouvements et contrˆolesa posteriori, pour d´etecter les comportements suspects
Echanges d’actions et de conseils de courtages´ D´eterminer des tendances de march´es grˆace `a :
la m´emorisation de l’historique
Exemples d’application
Grande distribution
Regroupement d’informations sur les ventes pour l’analyse du comportement
(produits `a succ`es, suivi des modes, habitudes d’achats, pr´ef´erences des clients par secteur g´eographique)
Mise en ´evidence les r`egles de consommation grˆace `a la fouille de donn´ees
Cas d’´ecole : Explo(r|it)ation du panier de la m´enag`ere : connaˆıtre les produits achet´es en mˆeme temps
Impacts :
augmentation des ventes grˆace `a un meilleur marketing am´elioration des taux de rotation de stocks
´
elimination des produits obsol`etes
d´efinition des rabais, remises, ristournes, promotions meilleure n´egociation des achats
Exemples d’application
T´el´ecommunications
Grande masse de donn´ees :
Plusieurs mois de descriptions d´etaill´ees des appels Pour chaque appel : appelant, appel´e, heure et dur´ee Exploitation de ces donn´ees pour
analyser le trafic
mieux cerner les besoins des clients classer les clients par cat´egories
comprendre le comportement des clients (changement d’op´erateurs, besoins)
Exemples d’application
Assurance et de la pharmacie
Domaines tr`es demandeurs de techniques d´ecisionnelles pour D´eterminer le facteur de risque d’un assur´e
Meilleure connaissance des clients, d´etection de rejets, ciblage du marketing, etc
D´etecter l’impact d’un m´edicament, ses effets ind´esirables, etc.
Couplage avec les technologies du Web : Data Webhouse (encore plus de donn´ees et donc plus d’informations)
D´ efinitions (Inmon 1996)
Un entrepˆot de donn´ees est une collection de donn´ees orient´ees sujet, int´egr´ees, non volatiles, historis´ees, organis´ees pour le support d’un processus d’aide `a la d´ecision
Orient´e Sujet : Le but des DWH est
d’am´eliorer la prise de d´ecision, de planification,
et le contrˆole des sujets majeurs de l’entreprise comme les relations entre les clients, les produits, les r´egions
contrairement des applications OLTP qui sont organis´ees autour des flux de donn´ees de l’entreprise
D´ efinitions (Inmon 1996)
Donn´ees Int´egr´ees:
Les donn´ees dans un DWH sont charg´ees de diff´erentes sources contenant des donn´ees sur diff´erents formats.
Les donn´ees doivent ˆetre v´erifi´ees, tri´ees et tranform´ees dans un format unifi´e afin de faciliter et acc´el´erer l’acc`es.
D´ efinitions (Inmon 1996)
Donn´ees Historis´ees: et donc dat´ees :
avec une conservation de l’historique et de son ´evolution pour permettre les analyses comparatives (par exemple, d’une ann´ee sur l’autre, etc.).
Dans un Data Warehouse, un r´ef´erentiel de temps est n´ecessaire : c’est l’axe temps ou l’axe p´eriode.
D´ efinitions (Inmon 1996)
Donnn´ees Non-volatiles : stables
en lecture seule non modifiables
Afin de conserver la tra¸cabilit´e des informations et des d´ecisions prises, les informations stock´ees au sein du Data Warehouse ne doivent pas disparaˆıtre...
Construction et d’exploitation d’un entrepˆ ot de donn´ ees
Processus en 3 phases :
1 Construction de la BD d´ecisionnelle
Mod´elisation conceptuelle des donn´ees multiformes et multi-sources Conception de l’entrepˆot de donn´ees
Alimentation de l’entrepˆot (extraire, nettoyer, transformer, charger) Stockage physique des donn´ees
2 S´election des donn´ees `a analyser Besoins d’analyse de l’utilisateur Data marts (Magasins de donn´ees) Cubes multidimensionnels
Tableaux ou tables bidimensionnels
3 Analyse des donn´ees
Pr´ esentation des couches
Graphical User Interfaces GUI GUI
Couche Présentation
BD2 BD1
Target DataBase
Ressources externes (file system, ftp, www, ...)
Decision support System OLTP Application OLTP Application
Couche Application
Couche Base de Données
Insert, Update, Delete Read, Select
Load DataWareHouse
Architecture du DWH
Architecture Multi-tiers
MVS (TSO, DB2 ...)
DataWareHouse UNIX (Oracle, ...)
Windows (SQL Server, Excel, ...)
Dictionnaire de Méta−données
Oracle 9i (Olap) Oracle Express
Data select (requetes)
Business Objects (rapports, analyses)
SAS (Datamining)
Data Marts
OLAP SERVER
T(ransform) L(oad) E(xtract)
00 11 0000 1111
00 11 0000 1111
00 11 0000 1111
Op´ erations
Extraction (Extraction) : Ces op´erations permettent de filtrer les donn´ees `a partir de donn´ees sources (BD, fichiers, sites web...) dans des BD temporaires.
Transformation (Transformation) : Ces op´erations permettent de transformer les donn´ees extraites dans un format uniforme.
Les conflits entre les mod`eles, les sch´emas et les donn´ees sont r´esolus durant cette phase.
Chargement(Load) : Ces op´erations permettent de charger les donn´ees transform´ees dans la BD cible.
La BD cible est souvent implant´ee avec un SGBD relationnel-objet.
Agr´egat et Groupement(Agregating and Grouping) : La BD cible doit permettre de stocker les donn´ees op´erationnelles et les donn´ees issues de calculs.
Architecture
Introduction
Objectifs :
regrouper les donn´ees sources concevoir le sch´ema de l’entrepˆot remplir l’entrepˆot
maintenir l’entrepˆot
Architecture fonctionnelle de l’entrepˆ ot
Les donn´ees d’un entrepˆot se structurent suivant un axe synth´etique : ´etablissement d’une hi´erarchie d’agr´egation incluant
les donn´ees d´etaill´ees : les ´ev´enements les plus r´ecents les donn´ees agr´eg´ees : synth`ese des donn´ees d´etaill´ees les donn´ees fortement agr´eg´ees : synth`ese `a un niveau sup´erieur des donn´ees agr´eg´ees
un axe historique
incluant les donn´ees d´etaill´ees historis´ees repr´esentant les
´
ev´enements pass´es
→Stockage des m´eta-donn´ees : informations concernant les donn´ees de l’ED (provenances, structures, m´ethodes utilis´ees pour l’agr´egation, ...)
Architecture du DWH
MVS (TSO, DB2 ...)
DataWareHouse UNIX (Oracle, ...)
Windows (SQL Server, Excel, ...)
Dictionnaire de Méta−données
Applications en
Oracle 9i (Olap) Oracle Express
Data select (requetes)
Business Objects (rapports, analyses)
SAS (Datamining)
Data Marts
OLAP SERVER
Outils Front−End
Controle et chargement des données OLAP
T(ransform) L(oad) E(xtract)
00 11 0000 1111
00 11 0000 1111
00 11 0000 1111
Entrepˆ ots et magasins de donn´ ees
Data Warehouses et Data marts
Entrepˆots de donn´ees
Collecte l’ensemble de l’information utile aux d´ecideurs `a partir des sources de donn´ees (BD op´erationnelle, BD externes, ...) Centralisation de l’information d´ecisionnelle
Garantie de l’int´egration des donn´ees extraites et de leur p´erennit´e dans le temps
Magasins de donn´ees Orient´es sujet
Aide efficace aux processus OLAP
Extraction d’une partie des donn´ees utiles : pour une classe d’utilisateurs ou
pour un besoin d’analyse sp´ecifique
Entrepˆ ots et magasins de donn´ ees
Calcul, stockage, organisation
Entrepˆots de donn´ees
Puissantes machines pour la gestion de tr`es grandes bases de donn´ees de d´etail historis´ees
Lieu de stockage centralis´e d’un extrait des bases de production Organisation des donn´ees suivant un mod`ele facilitant la gestion efficace des donn´ees et leur historisation
Magasins de donn´ees
Petits entrepˆots avec une infrastructure plus l´eg`ere, mise en œuvre rapide
Donn´ees extraites d’un ED ou de BD existantes pour un besoin d’aide `a la d´ecision particulier
Organisation des donn´ees suivant un mod`ele facilitant les
Entrepˆ ot vs. Data mart
Caract´eristiques Entrepˆot Data Mart
utilisateur toute l’entreprise un d´epartement
BD SQL type serveur BD MD, OLAP
´
echelle du mod`ele de donn´ees entreprise d´epartement
champs applicatifs multi-sujet quelques sujets
sources de donn´ees multiples quelques unes
stockage plusieurs BD distribu´ees une BD
taille >100 Go 10 `a 20 Go
temps de mise en place 9 `a 18 mois 6 `a 12 mois
coˆut plusieurs Me 100 Ke`a 0,5 Me
mat´eriel Unix Petit serveur
Vue logique de l’entrepˆ ot
Hi´erarchie de d´epˆots :
Operational Data Store (ODS)
regroupement des donn´ees int´egr´ees r´ecup´eration des sources
Corporate Data Warehouse (CDW) regroupement les vues agr´eg´ees
BD vers Data marts
Architecture fonctionnelle d’un ED : 3 niveaux
Extraction de donn´ees des BD (OLTP) et de l’ext´erieur, selon 2 strat´egies :
d´etection instantan´ee des mises `a jour sur les BD pour int´egration dans l’ED (approchepush)
d´etection p´eriodique des mises `a jour des BD pour int´egration dans l’ED (approchepull)
Fusiondes donn´ees dans l’ED
Int´egration, chargement et stockage des donn´ees dans l’entrepˆot, organis´ees par sujet
Rafraˆıchissement au fur et `a mesure des mises `a jour Exploitationdes donn´ees
Rapports, tableaux de bords, visualisation, ...
Analyse et exploration des donn´ees entrepos´ees (OLAP)
Niveau extraction
Moniteur et Adaptateur de sources Moniteur (source monitor) :
Rˆole :
d´etection des mises `a jour effectu´ees sur la source d’information identification les donn´ees `a envoyer `a l’ED pour sa mise `a jour Impl´ementation :
Utilisation de triggers si les SGBD en disposent
Sinon, interrogation p´eriodique de chaque base locale ou son journal afin de r´ecup´erer les mises `a jour effectu´ees durant la derni`ere p´eriode
Adaptateur de source (source wrapper) : Rˆole :
traduction des requˆetes et les donn´ees depuis le mod`ele d’une source vers le mod`ele de l’ED et vice-versa
Niveau fusion
M´ediateur M´ediateur (mediator) :
Rˆole :
donner une vision int´egr´ee des diff´erentes sources d’information extraire des parties de ces vues int´egr´ees (`a l’aide de requˆetes) :
Obligation/besoin de nettoyer, transformer, r´eorganiser et filtrer les donn´ees
Int´egration et fusion des donn´ees issues de sources multiples Impl´ementation :
utilisation du SGBD de l’entrepˆot
fusion grˆace `a des unions ou des jointures de sources multiples, des
Niveau exploitation
Moteur OLAP et outils de fouille
Moteur OLAP
Traitement des donn´ees de l’ED ou des Magasins de donn´ees : Ex´ecution des requˆetes interactives complexes
Analyse interactive des donn´ees suivant des points de vue ou des niveaux de d´etail particuliers
Visualisation des r´esultats de ces analyses Op´erations OLTP classiques
Outils de fouille de donn´ees (Data Mining) :
Traitement des donn´ees de l’ED ou des Magasins de donn´ees : Extraction automatique de propri´et´es cach´ees
Extraction automatique de connaissances valides, nouvelles, compr´ehensibles, pertinentes, implicites, ...
Dictionnaire et m´ eta-donn´ ees
Dictionnaire contenant des informations (m´eta-donn´ees) sur : toutes les donn´ees de l’ED
chaque ´etape de la construction de l’ED
le passage d’un niveau de donn´ees `a un autre (exploitation de l’ED)
Rˆole : d´efinition, fabrication, stockage, acc`es et pr´esentation des donn´ees
Donn´ ees sources
Les donn´ees des entreprises sont g´en´eralement : Surabondantes
Eparpill´ees
Peu structur´ees pour l’analyse Modifi´ees quotidiennement Probl`eme : Prise de d´ecision difficile
Solution : Utilisation d’outils et de techniques visant `a pr´eparer les donn´ees pour l’analyse Data warehousing
Il s’agit d’une technique visant `a extraire des donn´ees de diff´erentes sources afin de les int´egrer selon des formats plus adapt´es `a l’analyse et la prise de d´ecision
→Probl´ematique d’int´egration et d´efinition dewrappers
Donn´ ees sources h´ et´ erog` enes
N´ecessit´e d’int´eger des donn´ees h´et´erog`enes, modifi´ees quotidiennement
BD
relationnelles objets distribu´ees fichiers textes
documents HTML, XML bases de connaissances ...
Mais aussi des repr´esentations de donn´ees et de noms de
Probl` eme des sources h´ et´ erog` enes
Exemple
Chaˆıne de concessionnaires automobiles Concession 1
vehicules(serie, modele, couleur, autoradio, ...)
v e h i c u l e s ( ’ 1234 ’ , ’ C l i o 5p , ’ r o u g e ’ , ’ABS ’ , . . . )
Concession 2
automobiles(num serie, modele, couleur) options(num serie, option)
a u t o m o b i l e s ( 1 2 3 4 , ’ C l i o ’ , ’R ’ ) a u t o m o b i l e s ( 2 3 4 5 , ’ C l i o ’ , ’R ’ ) o p t i o n s ( 1 2 3 4 , ’ABS ’ )
Sources h´ et´ erog` enes
Pour un mˆeme concept : sch´emas diff´erents noms d’attribut diff´erents types de donn´ees diff´erents valeurs diff´erentes
s´emantiques diff´erentes
H´ et´ erog´ en´ eit´ e des donn´ ees et des applications
Illustration
Source d’information Application gestion commerciale progiciel sybase
gestion marketing progiciel SQL server gestion financi`ere, paye DB2/IBM
suivi de production Oracle contrˆole qualit´e Oracle gestion du temps Oracle gestion des stocks Oracle
fichier mailings Fichier ASCII r´ef´erences nationales Document excel source (Goglin, 1998)
Processus d’alimentation d’un ED
Entreposage des donn´ees
Rˆole de l’alimentation de l’entrepˆot
rassembler de multiples donn´ees sources souvent h´et´erog`enes
homog´en´eiser les donn´ees sources
Homog´en´eisation r´ealis´ee selon des r`egles pr´ecises Les r`egles d’homog´en´eisation sont :
m´emoris´ees sous forme de m´eta-donn´ees stock´ees dans le dictionnaire de donn´ees
utiliser pour assurer des tˆaches d’administration et de gestion des donn´ees entrepos´ees
Processus d’alimentation d’un ED
Apr`es avoir con¸cu le mod`ele des donn´ees, comment alimenter l’entrepˆot ?
Faut-il ramener toutes les donn´ees sous le mˆeme format ? Si oui, quel format choisir et pourquoi ?
Sinon, comment faire pour interroger toutes ces diff´erentes structures ?
Quel(s) langage(s) d’interrogation va-t-on utiliser ? Quelle architecture utiliser ?
→probl´ematique de l’ETL (Extracting, Transforming and Loading)
Processus d’alimentation d’un ED
4 ´etapes :
1 S´election des donn´ees sources
2 Extraction des donn´ees
3 Nettoyage et Transformation
4 Chargement
Etapes 1 et 2 : Jusqu’`a 80 % du temps de d´eveloppement d’un entrepˆot
→outil : Oracle Warehouse Builder (OWB)
S´ election des donn´ ees sources
Quelles donn´ees de production faut-il s´electionner pour alimenter l’ED ?
D´efinir l’utilit´e des donn´ees sources
Doit-on prendre l’adresse compl`ete ou s´eparer le code postal ? R´eorganiser les donn´ees s´electionn´ees pour qu’elles deviennent des informations
Faire une synth`ese des donn´ees sources pour les enrichir D´enormaliser les donn´ees pour cr´eer des liens entre les donn´ees et permettre des acc`es diff´erents
Extraction des donn´ ees
Un extracteur (wrapper) est associ´e `a chaque source de donn´ees S´election et extraction des donn´ees
Formatage des donn´ees dans un format cible commun en g´en´eral, le mod`ele Relationnel
Utilisation d’interfaces comme ODB, OCI, JDBC
Nettoyage et Transformation des donn´ ees
Objectifs du nettoyage :
R´esolution des probl`emes de consistance des donn´ees au sein de chaque source
Remarques :
une centaine de type d’inconsistances ont ´et´e r´epertori´ees 5 `a 30 % des donn´ees des BD commerciales sont erron´ees
Types d’inconsistances
Pr´esence de donn´ees fausses d`es leur saisie fautes de frappe
diff´erents formats dans une mˆeme colonne texte masquant de l’information (e.g., ”N/A”) valeur nulle
incompatibilit´e entre la valeur et la description de la colonne duplication d’information, ...
Persistance de donn´ees obsol`etes
Confrontation de donn´ees s´emantiquement ´equivalentes mais syntaxiquement diff´erentes
Nettoyage des donn´ ees
Fonctions d’analyse Fonctions de normalisation Fonctions de conversion
Usage de dictionnaires de synonymes ou d’abr´eviations D´efinition de table de r`egles remplacer valeur par
Mr M
monsieur M
mnsieur M
masculin M
M M
Msieur M
M. M
Monseur M
Utilisation d’expressions r´eguli`eres, suppression de doublons, de valeur nulle, ...
Nettoyage des donn´ ees
fonctions de conversion
Transformation
Objectif : suppression des incoh´erences s´emantiques entre les sources, probl´ematique lors de l’int´egration
des sch´emas des donn´ees
Transformation
Probl`emes lors de l’int´egration des sch´emas
Probl`eme de mod´elisation
Utilisation de diff´erents mod`eles de donn´ees Probl`emes de terminologie
2 noms diff´erents pour d´esigner un objet 2 objets diff´erents d´esign´es par un mˆeme nom Incompatibilit´es de contraintes
Contraintes incompatibles pour 2 concepts ´equivalents
Transformation
Probl`emes lors de l’int´egration des sch´emas
Conflit s´emantique
Diff´erents niveaux d’abstraction pour un mˆeme concept Conflits de structures
Diff´erentes propri´et´es pour un mˆeme concept Conflits de repr´esentation
2 repr´esentations diff´erentes choisies pour les mˆemes propri´et´es d’un mˆeme objet
Transformation
R´esolution des probl`emes survenant lors de l’int´egration des sch´emas
Demande une solide connaissance de la s´emantique des sch´emas
Peu trait´ee par les produits du march´e Nombreux travaux de recherche
Op´eration g´en´eralement r´ealis´ee `a la main...
Transformation
R´esolution des probl`emes survenant lors de l’int´egration des sch´emas
Utilisation d’heuristiques de r´econciliation des sch´emas bas´ees sur l’existence de similarit´es entre :
noms de tables et d’attributs types de donn´ees
instances
structure des sch´emas contraintes d’int´egrit´e
Transformation
Probl`eme lors de l’int´egration des donn´ees
Equivalence de champs´ Equivalence d’enregistrements´
Transformation
R´esolution des probl`emes survenant lors de l’int´egration des donn´ees
´Equivalence de champs :
Deux chaˆınes sont ´equivalentes si l’une est le pr´efixe de l’autre
→ Mesure de la compatibilit´e des champs Pour 2 champsc1 et c2
n(ci):=nombre de chaˆınes deci ne :=le nombre de chaˆınes ´equivalentes compatibilit´e :=ne/((n(c1) +n(c2))/2)
Transformation
R´esolution des probl`emes survenant lors de l’int´egration des donn´ees
´Equivalence d’enregistrements : fusion d’enregistrements
pour tous les tuples concern´es si noss1 = noss2 et nom1 = nom2
fusionner personne1 et personne2 si (noss1 = noss2 ou nom1 = nom2)
et adresse1 = adresse2
fusionner personne1 et personne2 ...
Chargement des donn´ ees
Objectif : Stockage des donn´ees nettoy´ees et pr´epar´ees dans la BD op´erationnelle (ODS)
Op´eration :
risquant d’ˆetre assez longue plutˆot m´ecanique
la moins complexe
Mais il est n´ecessaire de d´efinir et mettre en place : des strat´egies pour assurer de bonnes conditions `a sa r´ealisation
une politique de rafraˆıchissement
Chargement des donn´ ees
D´efinitions de vues relationnelles sur les donn´ees sources Mat´erialisation des vues dans l’entrepˆot
Mais aussi, pr´eparation `a la restitution tris
consolidations (pr´e-agr´egation) indexation
partitionnement des donn´ees enregistrement de m´eta-donn´ees ...
Pr´ eparation ` a la restitution
Agr´egation
Calcul de vues agr´eg´ees D´efinition des indexes Stockage dans le CDW Personnalisation
Construction de magasins de donn´ees (Data Marts) Construction de cubes de donn´ees
Construction des pr´esentations demand´ees par les utilisateurs
M´ eta-donn´ ees
Toutes les informations n´ecessaires pour la construction et l’administration de l’entrepˆot
informations pr´esentes dans l’entrepˆot donn´ees source
donn´ees d´eriv´ees, dimensions, hi´erarchies contraintes d’int´egrit´es sch´ema de l’entrepˆot indexes, partitions
requˆetes pr´ed´efinies ...
informations d’administration
r`egles de nettoyage, transformation, extraction politique de rafraˆıchissement
s´ecurit´e
monitoring, statistiques
M´ eta-donn´ ees
Chaque composant de l’entrepˆot fournit des m´eta-donn´ees
doit connaitre celles des autres composants doit savoir o`u ces m´eta-donn´ees sont situ´ees Une BD est d´edi´ee aux m´eta-donn´ees
Common Warehouse Metamodel
Sp´ecification d’un langage d’´echange de m´eta-donn´ees d’entrepˆot propos´e par l’OMG (Object Management Group)
bas´e notamment sur UML, XML
con¸cu par IBM, Unisys, NCR, Oracle, Hyperion, ...
Mod´ elisation multidimensionnelle
Lien direct entre les analyses d´ecisionnelles (OLAP) et une mod´elisation de l’information conceptuelle :
proche de la perception qu’en a l’analyste
bas´ee sur une vision multidimensionnelle des donn´ees Mod`ele multidimensitionnel : les donn´ees sont vues comme des data cubes
Un cube de dimensionn est dit uncubo¨ıde
Le treillis des cubo¨ıdes d’un entrepˆot de donn´ees forme un data cube
La mod´elisation multidimensionnelle a donn´e naissance aux concepts de fait et de dimension (Kimball 1996)
Cube de donn´ ees
Exemple de treillis de cube
Cube de donn´ ees
Sujet analys´e : un point dans un espace `a plusieurs dimensions Organisation des donn´ees pour mettre en ´evidence le sujet analys´e et les diff´erentes perspectives de l’analyse
data cube (par exemple, les ventes) : vision des donn´ees sur plusieurs dimensions
Concept de fait
Un fait :
mod´elisation du sujet de l’analyse
Mesures correspondant aux informations de l’activit´e analys´ee Mesures num´eriques, g´en´eralement valoris´ees de fa¸con
continue. On peut les additionner les d´enombrer
calculer le minimum, le maximum ou la moyenne Exemple : le fait deVente peut ˆetre constitu´e des mesures d’activit´es suivantes :
quantit´e de produits vendus montant total des ventes
Concept de dimension
Axes ou perspectives caract´erisant les mesures de l’activit´e d’un fait Une dimension :
mod´elisation un axe d’analyse
n´ecessit´e pour chaque dimension, de d´efinir ses diff´erents niveaux de d´etail
→D´efinition d’une (ou plusieurs) hi´erarchie(s) de param`etres se compose de param`etres correspondant aux informations faisant varier les mesures de l’activit´e
Dans l’exemple pr´ec´edent :
Analyse du faitVente suivant diff´erentes perspectives correspondant
`
a trois dimensions :
la dimension Temps
Hi´ erarchie des param` etres d’une dimension
Hi´erarchie de param`etres d’une dimension :
D´efinition des niveaux de d´etail de l’analyse sur cette dimension
Exemple :
Dimension temps :
H1 : jour <mois<trimestre <ann´ee H2 : jour <mois<semestre<ann´ee H3 : jour <mois<saison<ann´ee Dimension g´eographie :
ville<d´epartement<region´
Dimension cat´egorie :
couleur<nomProduit<gamme<typeProduit
Objets intervenant dans les sch´ emas
Tables de faits (fact tables)
Les faits num´eriques (les mesures)
Les cl´es ´etrang`eres vers les tables de dimension Tables de dimension (dimension tables)
compos´ees d’une ou plusieurs hi´erarchies cat´egorisant les donn´ees
Identifiant unique
Pour distinguer les enregistrements dans les tables Relations entre les objets
elles assurent l’int´egrit´e des op´erations
Objets intervenant dans les sch´ emas
Exemple de tables de dimension : i t e m ( nom item , marque , t y p e )
temps ( j o u r , s e m a i n e , mois , t r i m e s t r e , a n n e e ) La table des faits contient des mesures unites_vendues les cl´es externes font r´ef´erence `a chaque table de dimension
Type d’approches des DW
Approche mat´eralis´ee Approche virtuelle Approche hybride
Approche des DW
Approche mat´eralis´ee :
Instanciation (mat´erialisation) de tous les membres de tous les
´
el´ements appartenant `a l’entrepˆot
Stockage physique de donn´ees dans l’entrepˆot Volume de donn´ees tr`es important
Stockage physique des r´esultats des requˆetes Aucun calcul lors de l’interrogation
Approche des DW
Approche virtuelle :
Pas de mat´erialisation des ´el´ements de l’entrepˆot
Stockage des donn´ees dans les syst`emes op´erationnels sources Stockage de l’expression de la requˆete
N´ecessit´e de recalculer les requˆetes `a chaque appel
Approche des DW
Approche hybride :
Combinaison entre les approches totale et virtuelle Implantation physique des niveaux agr´eg´es
Conservation des informations d´etaill´ees dans les syst`emes de production
Strat´ egies d’implantation d’un ED
3 strat´egies :
1 Utilisation d’un SGBD Relationnel (syst`emes ROLAP)
SGBDR : N´ecessit´e des adaptations pour r´epondre aux besoins des ED Stockage des donn´ees dans un SGBDR
Utilisation d’un middle-ware pour impl´ementer les op´erations sp´ecifiques de l’OLAP
2 Utilisation d’un SGBD Multidimensionnel (syst`emes MOLAP)
SGBD capable de stocker et traiter des donn´ees multidimensionnelles Bas´e sur un stockage par tableau (technique des matrices creuses) Indexation rapide des donn´ees calcul´ees
3 Utilisation d’un SGBD Hybride (syst`emes HOLAP)
Tirer profit des avantages des technologies ROLAP et MOLAP :
Conception logique d’un entrepˆ ot
D´efinition des objets
D´efinition des relations entre objets
→ Choix d’un mod`ele de conception (sch´ema)
Utilisation, par exemple, d’Oracle Designer ou Oracle WareHouse Builder
Conception logique d’un entrepˆ ot
ROLAP : sch´ema de BD relationnelle refl´etant la vue de l’analyste multidimensionnelle
hi´erarchis´ee
sch´ema en ´etoile (star schema) sch´ema en flocon (snowflake schema) constellation de faits (fact constellation)
NB: le sch´ema en ´etoile est souvent utilis´e pour l’implantation physique