Académique Documents
Professionnel Documents
Culture Documents
Première partie
Thierry Hamon
Bureau H202
Institut Galilée - Université Paris 13
&
LIMSI-CNRS
hamon@limsi.fr
https://perso.limsi.fr/hamon/Teaching/P13/DWH-AIR3-2020-2021/
AIR3 – DWH
1/137
Sources des transparents
2/137
Présentation 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ées aux Entrepôts de
données (ED/DWH)
3/137
Présentation 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ées aux Entrepôts de
données (ED/DWH)
Programme des enseignements
Introduction et définition d’un entrepôt de données
Modélisation et Architecture d’un entrepôt de données
OLAP et implémentation des entrepôts de données
3/137
Présentation 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ées aux Entrepôts de
données (ED/DWH)
Programme des enseignements
Introduction et définition d’un entrepôt de données
Modélisation et Architecture d’un entrepôt de données
OLAP et implémentation des entrepôts de données
Répartition des enseignements
3 × 3h de cours
Partiel
4 × 3h de TP
Evaluation lors du dernier TP
3/137
Introduction
Historique
Générations de SGBD
Big Data
2010 − 202X?
Indépendance physique
Volume de données
SGBD4/5
Type de données
Avancés
2004/5 − 2010
Portabilité
SGBD 3
Avancés
1980 − 1990 − 2000
SGBD 2
Relationnels
SGBD 1
Hiérarchies, Réseaux
1960 − 1970 − 1980
Puissance
Performance
Cohérence
4/137
Introduction
Historique
Applications BD, ED, FD, ...
BigData / Datamasse
(Applications analytique,
prise de décision, analyse prédictive)
Téraoctets par jour, Pétaoctets par an
Volume de données
Type de données
Fouille de données
(Analyse du comportement des clients, etc.)
5/137
Introduction
Historique
Applications BD, ED, FD, ...
Applications : Génome, Astronomie
Analyse climatique, Physique quantique,
Analyse tendancielle
(Temps réel)
Volume de données
Type de données
Entrepôts de données
(OLTP : < 10 secondes) (OLAP < 1 heure)
( MV : agrégation, ...) (Batch : Quotidien ou mensuel < 1h)
6/137
Introduction
Historique
Structure et type de données
Stockage et
calcul distribués
Cloud computing
Relationnelle
& objet Type de données
Indépendance physique
Volume de données
COMPLEXE
Type de données
Relations
Structure de données
Portabilité
TABULAIRE
Structure HIERARCHIQUE
des données
Puissance
Performance
Cohérence
7/137
Introduction
Historique
Exemples de SGBD
MapReduce, Hadoop
Teradata, Oracle
SGBD4/5
ORACLE 9i, 10g, 11g, 12c
DB2, ...
Indépendance physique
Volume de données
XML, ...
Type de données
SGBD 3
ORACLE 7/8,
Portabilité
Performances
Cohérence
8/137
Introduction
en 2000 :
entre 1 et 2 ExaOctets par année (1 Eo = 220 To)
90% électronique
taux de croissance annuel de 50 %
en 2003 : 5 Eo en 2002, 92% électronique
Lyman&Varian, 2003 (http://groups.ischool.berkeley.edu/archive/
how-much-info-2003/execsum.htm)
9/137
BD → ED
10/137
BD → ED
Introduction
Avant les entrepôts de données/Data Warehouses
11/137
BD → ED
Introduction
Read, Select
Insert, Update, Delete
Ressources externes
(file system, ftp, www, ...)
12/137
BD → ED
Introduction
13/137
BD → ED
Introduction
Données volumineuses & Besoins nouveaux
Vers les entrepôts de données
14/137
BD → ED
Introduction
Vers les entrepôts de données
Remarques
15/137
BD → ED
Introduction
Vers les entrepôts de données
Remarques
16/137
BD → ED
Introduction
17/137
BD → ED
Introduction
Définition rapide d’un Data Warehouse
18/137
BD → ED
Extraire
Sources externes
Nettoyer
Transformer
Utiliser
Charger (Load)
Intégrer
Rafraichir
Entrepot de données OLAP
Maintenir
BD opérationnelles
19/137
BD → ED
Introduction
20/137
BD → ED
Entrepôt de données
récolte, stockage et gestion efficace des gros volumes de
données
OLAP
requêtes interactives complexes sur ces volumes
Data mining (fouille de données)
extraction automatique de propriétés cachées
données → information → connaissances
21/137
BD → ED
Analyse OLAP
(On-Line Analytical processing)
Techniques OLAP :
apparition en recherche dans les années 70
mais développement dans les années 90 dans l’industrie
Réalisation de synthèses, d’analyses et de la consolidation
dynamique de données multidimensionnelles
Manière la plus naturelle d’exploiter un ED étant donné son
organisation multidimensionnelle
22/137
BD → ED
Fouille de données
(Data Mining)
23/137
BD → ED
24/137
BD vs. DWH
Introduction : Comparaison
Pourquoi pas des SGBDs pour les entrepôts de données ?
les 2 systèmes sont performants
SGBD : calibré pour l’OLTP ; méthodes d’accès index,
contrôle de concurrence, reprise
Entrepôt : calibré pour l’OLAP ; requêtes OLAP complexes,
vue dimensionnelle, consolidation
Fonctions et données différentes
Données manquantes : l’aide à la décision (AD) a besoin des
données historiques qui ne se trouvent pas dans les BD
opérationnelles
Consolidation : l’AD a besoin de données consolidées
(agrégats) alors qu’elles sont brutes dans les BD
opérationnelles
25/137
BD vs. DWH
Introduction : Comparaison
SGBD hétérogènes vs. Entrepôts de données
Traditionnellement, l’intégration de BD hétérogènes se fait par
le biais de
Wrappers/médiateurs au dessus des BD hétérogènes
Approches orientées requêtes
Quand une requête est posée sur un site client, un
métadictionnaire est utilisé pour la traduire en plusieurs
requêtes appropriées à chacune des BD. Le résultat est
l’intégration de réponses partielles
L’exécution des requêtes demande donc beaucoup de
ressources
Entrepôts de données : approche orientée mise à jour
les informations sont intégrées et stockées pour une
interrogation directe
Plus efficace en coût d’exécution des requêtes
26/137
BD vs. DWH
Introduction : Comparaison
27/137
BD vs. DWH
Introduction : Comparaison
28/137
BD vs. DWH
Introduction : Comparaison
29/137
BD vs. DWH
Architecture du DWH
Architecture Multi-tiers
Data select
Dictionnaire de (requetes)
OLAP SERVER
Méta−données
111
0
Oracle Express 000
100
11
MVS (TSO, DB2 ...)
Business Objects
(rapports, analyses)
E(xtract)
T(ransform)
L(oad) DataWareHouse
1
0
011
100
00
11
UNIX (Oracle, ...) Oracle 9i (Olap)
SAS
(Datamining)
1
011
00
000
1
Windows (SQL Server, 11
Data Marts
Excel, ...)
30/137
BD vs. DWH
Données multidimentionnelles
Montant des ventes comme une fonction des paramètres
produits, mois, région
Dimensions : Produit, Lieu, Temps
Chemins de consolidation hiérarchiques
on
Régi
Région Année
Industrie
Pays Trimestre
Catégorie
Produit
Ville Mois
Semaine
Produit
Magasin Jour
Mois
31/137
Applications
Domaines d’application
32/137
Applications
Domaines d’application
Informatique décisionnelle
Entrepôt de données
Outils de veille stratégique et de recueil d’information
(intelligence économique)
Aide aux décideurs pour prendre les bonnes décisions sur la
base des données disponibles
Exemples :
Quels sont les 5 produits les plus vendus pour chaque
sous-catégorie de produits qui représente plus de 20% des
ventes dans sa catégorie de produits ?
Quelle est la priorité d’expédition 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
été expédiées ?
33/137
Applications
Applications
34/137
Applications
35/137
Applications
Exploitation d’un ED
Rapports (Reporting ) :
Besoin d’un accès régulier à des informations presque figées
Ex: dans les hôpitaux, rapports mensuels envoyés aux agences
nationales
Rapport :
une ou plusieurs requêtes
une mise en page (diagrammes, histogrammes)
Production manuelle ou automatique des rapports
36/137
Applications
Exploitation d’un ED
37/137
Applications
Exemples d’application
Domaine bancaire
Un des premiers utilisateurs des ED
Regroupement des informations relatives à un client pour une
demande de crédit
Lors de la commercialisation d’un nouveau produit :
Mailing ciblés rapidement élaborés à partir de toutes les
informations disponibles sur un client
Recherche de fraudes sur les cartes de crédit :
Mémorisation des mouvements et contrôles a posteriori, pour
détecter les comportements suspects
Échanges d’actions et de conseils de courtages
Déterminer des tendances de marchés grâce à :
la mémorisation de l’historique
une exploitation par des outils décisionnels avancés
38/137
Applications
Exemples d’application
Grande distribution
Regroupement d’informations sur les ventes pour l’analyse du
comportement
(produits à succès, suivi des modes, habitudes d’achats, préférences
des clients par secteur géographique)
Mise en évidence les règles de consommation grâce à la fouille
de données
Cas d’école : Explo(r|it)ation du panier de la ménagère :
connaı̂tre les produits achetés en même temps
Impacts :
augmentation des ventes grâce à un meilleur marketing
amélioration des taux de rotation de stocks
élimination des produits obsolètes
définition des rabais, remises, ristournes, promotions
meilleure négociation des achats
39/137
Applications
Exemples d’application
Télécommunications
40/137
Applications
Exemples d’application
Assurance et de la pharmacie
41/137
Définition d’un DWH
Orienté Sujet :
Le but des DWH est
d’améliorer la prise de décision, de planification,
et le contrôle des sujets majeurs de l’entreprise comme les
relations entre les clients, les produits, les régions
contrairement des applications OLTP qui sont organisées autour
des flux de données de l’entreprise
42/137
Définition d’un DWH
Données Intégrées :
Les données dans un DWH sont chargées de différentes
sources contenant des données sur différents formats.
Les données doivent être vérifiées, triées et tranformées dans
un format unifié afin de faciliter et accélérer l’accès.
43/137
Définition d’un DWH
Données Historisées :
et donc datées :
avec une conservation de l’historique et de son évolution
pour permettre les analyses comparatives (par exemple,
d’une année sur l’autre, etc.).
Dans un Data Warehouse, un référentiel de temps est
nécessaire : c’est l’axe temps ou l’axe période.
44/137
Définition d’un DWH
Donnnées Non-volatiles :
stables
en lecture seule
non modifiables
Afin de conserver la traçabilité des informations et des
décisions prises, les informations stockées au sein du Data
Warehouse ne doivent pas disparaı̂tre...
45/137
Définition d’un DWH
46/137
Définition d’un DWH
BD1
Target DataBase
Load
DataWareHouse
Ressources externes
(file system, ftp, www, ...)
47/137
Définition d’un DWH
Architecture du DWH
Architecture Multi-tiers
Data select
Dictionnaire de (requetes)
OLAP SERVER
Méta−données
111
0
Oracle Express 000
100
11
MVS (TSO, DB2 ...)
Business Objects
(rapports, analyses)
E(xtract)
T(ransform)
L(oad) DataWareHouse
1
0
011
100
00
11
UNIX (Oracle, ...) Oracle 9i (Olap)
SAS
(Datamining)
1
011
00
000
1
Windows (SQL Server, 11
Data Marts
Excel, ...)
48/137
Définition d’un DWH
Opérations
Extraction (Extraction) : Ces opérations permettent de filtrer les
données à partir de données sources (BD, fichiers, sites web...) dans
des BD temporaires.
Transformation (Transformation) : Ces opérations permettent de
transformer les données extraites dans un format uniforme.
Les conflits entre les modèles, les schémas et les données sont
résolus durant cette phase.
Chargement (Load) : Ces opérations permettent de charger les
données transformées dans la BD cible.
La BD cible est souvent implantée avec un SGBD relationnel-objet.
Agrégat et Groupement (Agregating and Grouping) : La BD cible
doit permettre de stocker les données opérationnelles et les données
issues de calculs.
49/137
Architecture
Architecture
Introduction
Objectifs :
regrouper les données sources
concevoir le schéma de l’entrepôt
remplir l’entrepôt
maintenir l’entrepôt
50/137
Architecture fonctionnelle
51/137
Architecture fonctionnelle
Architecture du DWH
Data select
Dictionnaire de (requetes)
OLAP SERVER
Méta−données
111
0
Oracle Express 000
100
11
MVS (TSO, DB2 ...)
Business Objects
(rapports, analyses)
E(xtract)
T(ransform)
L(oad) DataWareHouse
1
011
00
000
111
UNIX (Oracle, ...) Oracle 9i (Olap)
SAS
(Datamining)
111
0
0
100
Windows (SQL Server, 00
11
Data Marts
Excel, ...)
52/137
Architecture fonctionnelle
Entrepôts de données
Collecte l’ensemble de l’information utile aux décideurs à partir
des sources de données (BD opérationnelle, BD externes, ...)
Centralisation de l’information décisionnelle
Garantie de l’intégration des données extraites et de leur
pérennité dans le temps
Magasins de données
Orientés sujet
Aide efficace aux processus OLAP
Extraction d’une partie des données utiles :
pour une classe d’utilisateurs ou
pour un besoin d’analyse spécifique
53/137
Architecture fonctionnelle
Entrepôts de données
Puissantes machines pour la gestion de très grandes bases de
données de détail historisées
Lieu de stockage centralisé d’un extrait des bases de production
Organisation des données suivant un modèle facilitant la
gestion efficace des données et leur historisation
Magasins de données
Petits entrepôts avec une infrastructure plus légère, mise en
œuvre rapide
Données extraites d’un ED ou de BD existantes pour un besoin
d’aide à la décision particulier
Organisation des données suivant un modèle facilitant les
traitements décisionnels
54/137
Architecture fonctionnelle
55/137
Architecture fonctionnelle
Hiérarchie de dépôts :
Operational Data Store (ODS)
regroupement des données intégrées
récupération des sources
Corporate Data Warehouse (CDW)
regroupement les vues agrégées
56/137
Architecture fonctionnelle
57/137
Architecture fonctionnelle
58/137
Architecture fonctionnelle
Niveau extraction
Moniteur et Adaptateur de sources
59/137
Architecture fonctionnelle
Niveau fusion
Médiateur
Médiateur (mediator ) :
Rôle :
Implémentation :
60/137
Architecture fonctionnelle
Niveau exploitation
Moteur OLAP et outils de fouille
Moteur OLAP
Traitement des données de l’ED ou des Magasins de données :
Exécution des requêtes interactives complexes
Analyse interactive des données suivant des points de vue ou
des niveaux de détail particuliers
Visualisation des résultats de ces analyses
Opérations OLTP classiques
Outils de fouille de données (Data Mining ) :
Traitement des données de l’ED ou des Magasins de données :
Extraction automatique de propriétés cachées
Extraction automatique de connaissances valides, nouvelles,
compréhensibles, pertinentes, implicites, ...
61/137
Architecture fonctionnelle
Dictionnaire et méta-données
62/137
Données sources
Données sources
Les données des entreprises sont généralement :
Surabondantes
Eparpillées
Peu structurées pour l’analyse
Modifiées quotidiennement
Problème : Prise de décision difficile
Solution : Utilisation d’outils et de techniques visant à préparer les
données pour l’analyse Data warehousing
Il s’agit d’une technique visant à extraire des données de
différentes sources afin de les intégrer selon des formats
plus adaptés à l’analyse et la prise de décision
→ Problématique d’intégration et définition de wrappers
63/137
Données sources
64/137
Données sources
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 ’ )
65/137
Données sources
Sources hétérogènes
66/137
Données sources
67/137
Alimentation de l’ED
68/137
Alimentation de l’ED
69/137
Alimentation de l’ED
4 étapes :
1 Sélection des données sources
2 Extraction des données
3 Nettoyage et Transformation
4 Chargement
70/137
Alimentation de l’ED
71/137
Alimentation de l’ED
72/137
Alimentation de l’ED
Objectifs du nettoyage :
Résolution des problèmes de consistance des données au sein
de chaque source
Remarques :
une centaine de type d’inconsistances ont été répertoriées
5 à 30 % des données des BD commerciales sont erronées
73/137
Alimentation de l’ED
Types d’inconsistances
74/137
Alimentation de l’ED
75/137
Alimentation de l’ED
76/137
Alimentation de l’ED
Transformation
77/137
Alimentation de l’ED
Transformation
Problèmes lors de l’intégration des schémas
Problème de modélisation
Utilisation de différents modèles de données
Problèmes de terminologie
2 noms différents pour désigner un objet
2 objets différents désignés par un même nom
Incompatibilités de contraintes
Contraintes incompatibles pour 2 concepts équivalents
78/137
Alimentation de l’ED
Transformation
Problèmes lors de l’intégration des schémas
Conflit sémantique
Différents niveaux d’abstraction pour un même concept
Conflits de structures
Différentes propriétés pour un même concept
Conflits de représentation
2 représentations différentes choisies pour les mêmes propriétés
d’un même objet
79/137
Alimentation de l’ED
Transformation
80/137
Alimentation de l’ED
Transformation
81/137
Alimentation de l’ED
Transformation
Problème lors de l’intégration des données
Équivalence de champs
Équivalence d’enregistrements
82/137
Alimentation de l’ED
Transformation
83/137
Alimentation de l’ED
Transformation
84/137
Alimentation de l’ED
Opération :
risquant d’être assez longue
plutôt mécanique
la moins complexe
Mais il est nécessaire de définir et mettre en place :
des stratégies pour assurer de bonnes conditions à sa
réalisation
une politique de rafraı̂chissement
85/137
Alimentation de l’ED
86/137
Alimentation de l’ED
Préparation à la restitution
Agrégation
Calcul de vues agrégées
Définition des indexes
Stockage dans le CDW
Personnalisation
Construction de magasins de données (Data Marts)
Construction de cubes de données
Construction des présentations demandées par les utilisateurs
87/137
Méta-données
Méta-données
Toutes les informations nécessaires pour la construction et
l’administration de l’entrepôt
informations présentes dans l’entrepôt
données source
données dérivées, dimensions, hiérarchies
contraintes d’intégrités schéma de l’entrepôt
indexes, partitions
requêtes prédéfinies
...
informations d’administration
règles de nettoyage, transformation, extraction
politique de rafraı̂chissement
sécurité
monitoring, statistiques
traçage des données
...
88/137
Méta-données
Méta-données
89/137
Méta-données
90/137
Modélisation
Modélisation multidimensionnelle
Lien direct entre les analyses décisionnelles (OLAP) et une
modélisation de l’information conceptuelle :
proche de la perception qu’en a l’analyste
basée sur une vision multidimensionnelle des données
Modèle multidimensitionnel : les données sont vues comme des
data cubes
Un cube de dimension n est dit un cuboı̈de
Le treillis des cuboı̈des d’un entrepôt de données forme un
data cube
La modélisation multidimensionnelle a donné naissance aux
concepts de fait et de dimension (Kimball 1996)
91/137
Modélisation
Cube de données
92/137
Modélisation
93/137
Modélisation
Cube de données
94/137
Modélisation
Concept de fait
Un fait :
modélisation du sujet de l’analyse
Mesures correspondant aux informations de l’activité analysée
Mesures numériques, généralement valorisées de façon
continue. On peut
les additionner
les dénombrer
calculer le minimum, le maximum ou la moyenne
Exemple : le fait de Vente peut être constitué des mesures
d’activités suivantes :
quantité de produits vendus
montant total des ventes
95/137
Modélisation
Concept de dimension
Axes ou perspectives caractérisant les mesures de l’activité d’un fait
Une dimension :
modélisation un axe d’analyse
nécessité pour chaque dimension, de définir ses différents
niveaux de détail
→ Définition d’une (ou plusieurs) hiérarchie(s) de paramètres
se compose de paramètres correspondant aux informations
faisant varier les mesures de l’activité
Dans l’exemple précédent :
Analyse du fait Vente suivant différentes perspectives correspondant
à trois dimensions :
la dimension Temps
la dimension Geographie
la dimension Categorie
96/137
Modélisation
Dimension catégorie :
couleur < nomProduit < gamme < typeProduit
97/137
Modélisation
98/137
Modélisation
99/137
Implémentation d’un entrepôt
Approche matéralisée
Approche virtuelle
Approche hybride
100/137
Implémentation d’un entrepôt
Approche des DW
Approche matéralisée :
Instanciation (matérialisation) de tous les membres de tous les
éléments appartenant à l’entrepôt
Stockage physique de données dans l’entrepôt
Volume de données très important
Stockage physique des résultats des requêtes
Aucun calcul lors de l’interrogation
101/137
Implémentation d’un entrepôt
Approche des DW
Approche virtuelle :
Pas de matérialisation des éléments de l’entrepôt
Stockage des données dans les systèmes opérationnels sources
Stockage de l’expression de la requête
Nécessité de recalculer les requêtes à chaque appel
102/137
Implémentation d’un entrepôt
Approche des DW
Approche hybride :
Combinaison entre les approches totale et virtuelle
Implantation physique des niveaux agrégés
Conservation des informations détaillées dans les systèmes de
production
103/137
Implémentation d’un entrepôt
104/137
Implémentation d’un entrepôt
105/137
Implémentation d’un entrepôt
106/137
Implémentation d’un entrepôt
Schéma en étoile
107/137
Implémentation d’un entrepôt
108/137
Implémentation d’un entrepôt
Schéma en étoile
109/137
Implémentation d’un entrepôt
Schéma en étoile
110/137
Implémentation d’un entrepôt
Schéma en étoile
111/137
Implémentation d’un entrepôt
Normalisation
112/137
Implémentation d’un entrepôt
Tables de dimensions
113/137
Implémentation d’un entrepôt
Schéma en flocon
114/137
Implémentation d’un entrepôt
Schéma en flocon
Avantages
Formalisation d’une hiérarchie au sein d’une dimension
Maintenance des tables de dimensions simplifiée
Réduction de la redondance
Inconvénients
Dénormalisation des dimensions générant une plus grande
complexité en termes de lisibilité et de gestion
Navigation coûteuse
115/137
Implémentation d’un entrepôt
Schéma en flocon
exemple
116/137
Implémentation d’un entrepôt
117/137
Implémentation d’un entrepôt
En général, on a
un schéma de constellation de faits pour l’entrepôt
une étoile de la constellation pour un magasin de données
(Data Mart)
118/137
Implémentation d’un entrepôt
Pré-agrégations
119/137
Implémentation d’un entrepôt
Exemple
cas 1
faits1(idProduit,idVille,idJour,5)
faits2(idProduit,idVille,idMois,60)
avec une table jour et une table mois
cas 2
faits(idProduit,idVille,idDate1,5)
faits(idProduit,idVille,idDate2,5)
avec une table date contenant
date(idDate1, 22, 01, 2010)
date(idDate2, ALL, 01, 2010)
120/137
Implémentation physique
Mise en œuvre :
Vues relationnelles matérialisées définies sur les bases sources,
découplées (indépendantes) des sources
Interrogation
BD multidimentionnelles
Outils OLAP
121/137
Implémentation physique
Phase 1 :
Il faut assurer la migration :
des entités vers des tables
des relations vers des clés étrangères
des attributs vers des colonnes
des identifiants uniques vers des clés primaires
122/137
Implémentation physique
123/137
Implémentation physique
c r e a t e m a t e r i a l i z e d view s u m s a l e s
parallel
b u i l d immediate
r e f r e s h f a s t on commit
as
select e . prod id , s . time id ,
count ( ∗ ) as count grp ,
sum ( s . a m o u n t s o l d ) a s s u m d o l l a r s a l e s ,
count ( s . amount sold ) as c o u n t d o l l a r s a l e s ,
sum ( s . q u a n t i t y s o l d ) a s s u m q u a n t i t y s a l e s ,
count ( s . q u a n t i t y s o l d ) as c o u n t q u a n t i t y s a l e s
from s a l e s s
group by s . p r o d i d , s . t i m e i d ;
124/137
Implémentation physique
c r e a t e m a t e r i a l i z e d v i e w l o g on t i m e s w i t h r o w i d ;
c r e a t e m a t e r i a l i z e d v i e w l o g on c u s t o m e r s w i t h r o w i d ;
c r e a t e m a t e r i a l i z e d view s a l e s m v
p a r a l l e l b u i l d immediate
refresh fast
as
s e l e c t s . rowid ” s a l e s r i d ” , t . rowid ” t i m e s r i d ” ,
c . rowid ” c ustomers rid ” , c . cust id ,
c . cust last name , s . amount sold ,
s . quantity sold , s . time id
from s a l e s s , t i m e s t , c u s t o m e r s c
where s . c u s t i d = c . c u s t i d (+) AND
s . t i m e i d = t . t i m e i d (+);
125/137
Implémentation physique
c r e a t e m a t e r i a l i z e d v i e w l o g on t i m e s
with rowid ;
c r e a t e m a t e r i a l i z e d v i e w l o g on c u s t o m e r s
with rowid ;
c r e a t e m a t e r i a l i z e d view j o i n s a l e s c u s t t i m e
r e f r e s h f a s t on commit a s
s e l e c t c . c u s t i d , c . cust last name , s . amount sold ,
s . time id , t . day number in weekn s . r o w i d s r i d ,
t . rwoid trid , c . rwoid crid
from s a l e s s , t i m e s t , c u s t o m e r s c
where s . c u s t i d = c . c u s t i d AND s . t i m e i d = t . t i m e i d ;
126/137
Implémentation physique
c r e a t e m a t e r i a l i z e d view l o g j o i n s a l e s c u s t t i m e
with rowid ( cust name , day number in weekn amount sold )
i n c l u d i n g new v a l u e s ;
c r e a t e m a t e r i a l i z e d view s u m s a l e s c u s t t i m e
r e f r e s h f a s t on commit a s
s e l e c t c o u n t ( ∗ ) c n t a l l , sum ( a m o u n t s o l d ) s u m s a l e s ,
count ( amount sold ) c n t s a l e s , c u s t l a t n a m e ,
day number in week
from j o i n s a l e s c u s t t i m e
group by c u s t l a s t n a m e , d a y n u m b e r i n w e e k ;
127/137
Maintenance
Maintenance des DW
128/137
Maintenance
Maintenance des DW
refreshing
3 stratégies :
1 Reconstruction périodique
la plus simple
la plus longue
elle suppose une longue période d’indisponibilité
2 Mise à jour périodique
volume de données concerné plus petit
algorithmes plus complexes que pour une reconstruction
3 Mise à jour instantanée
nécessite de nombreuses communications
129/137
Maintenance
Pas reconstruction
130/137
Maintenance
131/137
Maintenance
132/137
Maintenance
Maintenance de vue
Contexte
la source signale les mises à jour
l’entrepôt questionne la source
la source envoie les données concernées
l’entrepôt met la vue à jour
133/137
Maintenance
Maintenance de vue
Solutions possibles
134/137
Maintenance
Maintenance de vue
135/137
Maintenance
Maintenance de données
Pour la maintenance périodique
→ Utilisation des vues matérialisées partionnées suivant des
dates
Pour les maintenances immédiates et différées
→ Utilisation des commandes refresh on commit et
refresh on demand
136/137
Maintenance
137/137