1
Entreposage de Données
et Aide à la Décision
Chapitre 23, 23.828.10
2
Objectifs
Entreposage de données: OLAP vs OLTP
Modèle de données multidimensionnelles
Requêtes OLAP
Design des données multidimensionnelles
Techniques d’implémentation
Vues et aide à la décision
Matérialisation des vues
Gestion et maintien des vues matérialisées
3
Vues et Aide à La Décision
Les requêtes OLAP sont typiquement des requêtes
d’agrégats.
Du prétraitement est essentiel pour des temps de réponse
interactifs.
Le CUBE est en fait une collection de requêtes d’agrégat et
du prétraitement est important à ce sujet: le challenge
majeur est de trouver ce qui doit être prétraité étant donné
un espace limité disponible pour stocker le résultat du
prétraitement.
Un entrepôt de données peut être conçu comme une
collection de table reproduite de manière asynchrone et
comme des vues mises à jour périodiquement.
Cela a attiré un intérêt renouvelé dans la maintenance des
vues.
4
Requêtes sur les Vues:
Modification des Vues (Evaluer sur Demande)
CREATE VIEW RegionalSales(category,sales,state)
AS SELECT P.category, S.sales, L.state
FROM Products P, Sales S, Locations L
WHERE P.pid=S.pid AND S.locid=L.locid
SELECT R.category, R.state, SUM(R.sales)
FROM RegionalSales R GROUP BY R.category, R.state
SELECT R.category, R.state, SUM(R.sales)
FROM (SELECT P.category, S.sales, L.state
FROM Products P, Sales S, Locations L
WHERE P.pid=S.pid AND S.locid=L.locid) AS R
GROUP BY R.category, R.state
Vue
Requête
Requête
modifiée
5
Requêtes sur les Vues: Matérialisation
des Vues (Prétraitement)
Supposez que nous prétraitons RegionalSales et
stockons le résultat avec un index B+ groupé sur
[category,state,sales].
La requête de la page précédente peut être traitée au
moyen d’un scannage de l’index (‘ index-only scan’).
SELECT R.state, SUM(R.sales)
FROM RegionalSales R
WHERE R.category=“Laptop”
GROUP BY R.state
SELECT R.state, SUM(R.sales)
FROM RegionalSales R
WHERE R. state=“Wisconsin”
GROUP BY R.category
Utiliser l’index B+ sur la vue
Matérialisée:localiser la 1ère
Feuille qui satisfait la clause
WHERE et scanner à partir de là
L’index sera peu utile (car
un scannage de tout le
niveau des feuilles de
l’arbre B+ est nécessaire.
1 / 18 100%