Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parEsmée Berger Modifié depuis plus de 11 années
1
DATA WAREHOUSES Selection of Views to Materialize in a Data Warehouse Himanshu Gupta Department of Computer Science Stanford University Bernigaud Sébastien Chervy Myriam
2
PLAN Présentation générale des datawarehouses Formulation du problème de sélection des vues « AND View Graph » « OR View Graph » Sélection des vues dans des « AND-OR Views Graphs » Conclusion
3
Présentation générale des datawarehouses Entrepôt de données Ensemble de vues de sources différentes Objectif : Implémenter des supports de décision, des requêtes OLAP Contraintes : minimiser les temps de réponse et les coûts de stockage des données Problème : choix de la sélection de vues
4
Formulation du problème de sélection des vues Quelques définitions sur les « AND-OR View Graphs » Problème de sélection des vues Benefit d un ensemble de vues séléctionnées
5
Définitions Graphe direct acyclique Racine : V Feuilles : relations de base v 1 …v K fils de u si tous les v i (1<i<k) sont nécessaires pour calculer u Dépendance entre les nœuds : AND arc Chaque AND arc : un opérateur et un coût Opérateur : une fonction k-ary impliquant des opérations comme jointure, union, agrégation… Coût : somme des coûts associés à chaque fils AND-DAG expression pour une requête ou une vue V
6
Définitions (suite) Exemple : AND k ih g d c b a
7
Définitions (suite) AND OR-DAG expression pour une requête ou une vue V Graphe direct acyclique Racine : V Feuilles : relations de base Chaque nœud possède 1 ou plusieurs AND arcs
8
Définitions (suite) Exemple : AND a bc def gm l k ji h
9
AND-OR View Graph pour les vues v 1 …v k Rq : u calculable à partir de v,u 1,…,u k et v calculable à partir de v 1,…,v l u calculable à partir de u 1,…,u k,v 1,…,v l Définitions (suite) Graphe G Pour chaque v i G i G i : sous graphe de G G i : AO-DAG expression pour v i Pour chaque nœud u de G : f u, S u, g u f u : fréquence des requêtes sur u S u : espace occupé par u g u : fréquence des mises à jour sur u
10
Définitions (suite) Exemple : AND a bc def gm l k ji h AND-OR View Graph pour n importe quels sous ensembles des vues a,b,c,d,e,f
11
Problème Donnée : un AND-OR View Graph G et une quantité despace libre S Pb : sélectionner un ensemble de vues M M : sous ensemble des nœuds de G Contraintes : minimiser les temps de réponse et les coûts de maintenance, espace occupée par M<S
12
Problème (suite) Q(u,M) : coût de réponse d une requête u utilisant le sous ensemble M U(u,M) : coût de maintenance pour la vue u dans M
13
Problème (suite) Donnée : un AND-OR View Graph G et une quantité despace libre S But : sélectionner M = {v1,…vm} Contrainte : minimiser (G,M), (v M) S v S (G,M) = (i=1 à k) f Qi Q(Q i,M) + (i=1 à m) g vi U(v i,M) Conclusion :
14
Benefit Donnée : C un sous ensemble arbitraire de G Benefit de C = B(C,M) B(C,M) = (G,M) - (G,M C) Benefit de C par unité despace = B(C,M)/S(C) Benefit absolu de C = B(C, )
15
« AND View Graph » Motivations Sélection de vues dans un « AND View Graph » Incorporation des coûts de mise à jour « AND View Graph » avec index
16
Motivations Problème de sélection = simplifié Approximation du problème général Optimiseur de requêtes multiples plan global Plan global AND View Graph
17
Sélection de vues Contexte : AND View Graph sans mises à jour Donnée : AND View Graph G et une quantité S Trouver M qui minimise (G,M) avec S(M) S
18
Sélection de vues (suite) Greedy Algorithm BEGIN M= ; while (S(M)<S) Soit C tq B(C,M)/S(C)=max(B(X,M)/S(X)) M=M C; end while; return M; END.
19
Sélection de vues (suite) Greedy-Interchange Algorithm BEGIN M=solution du Greedy Algorithm; repeat Soit (C 1,C 2 ) une pair de vues tq C 1 M et le benefit absolu de (M-C 1 ) C 2 est plus grand que celui de M. M= (M-C 1 ) C 2 ; until (il nexiste plus de pair (C 1,C 2 )); return M; END.
20
Sélection de vues (suite) Compétitivité : non prouvée Solution : au moins aussi bonne que Greedy Algorithm Temps dexécution : illimité En pratique : plus performant que Greedy Algorithm
21
Mises à jour Si g v < f v Greedy Algorithm est aussi performant que sans mises à jour
22
Index Pas dindex matérialisé sans sa vue Entre u et v : autant darêtes que dindex sur v Coût associé à un arc label (i,t i ) associé à chaque arête entre u et v t i (i>0) : coût de calcul de u avec utilisation de li ème index de v f : coût de calcul de u à laide de tous ses fils utilisant leurs index respectifs f : k-ary fonction, f(t 1,…t k )
23
Index (suite) Pour chaque v i : on construit IG i IG i = v i incrémenté des index (meilleur localement) tant que S(IG i )<S C = IG i de benefit maximal par unité despace Pour chaque index tel que la vue M : le comparer avec C M = M C On recommence Inner-Level Greedy Algorithm
24
« OR View Graph » Motivations Sélection de vues dans un « OR View Graph » « OR View Graph » avec index
25
Motivations Datacubes : Databases avec 1 valeur critique organisée en plusieurs dimensions Ex : ventes de voitures organisées par modèles,couleurs,…
26
Motivations (suite) Cas des Datacubes : AND-OR OR 1 vue est calculée de plusieurs façons Chaque façon utilise une seule autre vue Bases OLAP : peu de mises à jour On supposera quon a pas de mises à jour pour cette partie
27
Sélection de vues Algorithme pour les problèmes de sélection de vue dans un OR View Graph sans mise à jour Donnée : OR View Graph et S Problème : trouver M qui minimise (G,M) avec S(M)<S sans mise à jour
28
Sélection de vues (suite) Greedy Algorithm : même performances Greedy-Interchange Algorithm : temps dexécution un peu moins qu1,5 fois celui du Greedy Algorithm Solution retournée : meilleure
29
Index Donnée : OR View Graph avec index et S Problème : trouver M qui minimise (G,M) avec S(M)<S sans mise à jour OR View Graph avec index sans mise à jour : Inner-Level Greedy Algorithm M qui utilise au plus 2S
30
Sélection des vues dans des « AND-OR Views Graphs » Quelques définitions L AO-Greedy Algorithm Le Multi-Level Greedy Algorithm
31
Définitions Graphe biparti G=(Q,E) Q : requêtes supportées par le datawarehouse : sous ensemble de V V : ensemble des vues E : ensemble des arêtes (q, ) tq permet de calculer q AND-OR View Graph Query View Graph équivalent Query View Graph
32
LAO-Greedy Algorithm F = D D : ensemble des arêtes (, ) tq H : sous-graphe de F V H : des ensembles de vues correspondant aux sommets de H Ajout de V H avec profit maximal à M Arrêt : quand S(M)>S
33
Multi-Level Greedy Algorithm G=query view graph (Q,E) F = son graphe dintersection où v à chaque nœud de F Pas de v AO-Greedy algorithme sur G =enlever v dans chaque élément de F =graphe dintersection correspondant
34
Multi-Level Greedy Algorithm (suite) F i : parties connectées à F U : selectionné à laide de Greedy U : initialisé avec v À chaque étape : sélection de J J : ensemble de vues, sous-graphe dun F i, benefit par unité despace maximal Ajout de J à U Arrêt quand benefit de U ne peut plus être amélioré
35
Multi-Level Greedy Algorithm (suite) Algo : choix dun nouveau U et ajout à M Arrêt : S(M)>S Exécution : exponentielle (tous les sous- graphes de F i possibles)
36
Conclusion Structure pour le problème général de sélection des vues dans un datawarehouse Heuristiques compétitives dans un temps polynomiale pour les cas particuliers importants Heuristiques compétitives dans un temps polynomiale pour dautres cas particuliers (arbres and-or,arbres and-or binaires,…) ? Techniques développées : aperçu significatif de lheuristique de Greedy
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.