data warehouses selection of views to materialize in a data warehouse himanshu gupta department of...

36
DATA WAREHOUSES Selection of Views to Materialize in a Data Warehouse Himanshu Gupta Department of Computer Science Stanford University Bernigaud Sébastien Chervy Myriam

Upload: esmee-berger

Post on 03-Apr-2015

103 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: DATA WAREHOUSES Selection of Views to Materialize in a Data Warehouse Himanshu Gupta Department of Computer Science Stanford University Bernigaud Sébastien

DATA WAREHOUSES

Selection of Views to Materialize in a Data Warehouse

Himanshu Gupta

Department of Computer Science

Stanford University

Bernigaud Sébastien

Chervy Myriam

Page 2: DATA WAREHOUSES Selection of Views to Materialize in a Data Warehouse Himanshu Gupta Department of Computer Science Stanford University Bernigaud Sébastien

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

Page 3: DATA WAREHOUSES Selection of Views to Materialize in a Data Warehouse Himanshu Gupta Department of Computer Science Stanford University Bernigaud Sébastien

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

Page 4: DATA WAREHOUSES Selection of Views to Materialize in a Data Warehouse Himanshu Gupta Department of Computer Science Stanford University Bernigaud Sébastien

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

Page 5: DATA WAREHOUSES Selection of Views to Materialize in a Data Warehouse Himanshu Gupta Department of Computer Science Stanford University Bernigaud Sébastien

Définitions

• Graphe direct acyclique

• Racine : V

• Feuilles : relations de base

• v1…vK fils de u si tous les vi (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

Page 6: DATA WAREHOUSES Selection of Views to Materialize in a Data Warehouse Himanshu Gupta Department of Computer Science Stanford University Bernigaud Sébastien

Définitions (suite)

Exemple : AND

ANDAND

AND

kihg

dcb

a

Page 7: DATA WAREHOUSES Selection of Views to Materialize in a Data Warehouse Himanshu Gupta Department of Computer Science Stanford University Bernigaud Sébastien

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

Page 8: DATA WAREHOUSES Selection of Views to Materialize in a Data Warehouse Himanshu Gupta Department of Computer Science Stanford University Bernigaud Sébastien

Définitions (suite)

Exemple :

ANDAND

ANDAND AND

ANDAND

AND

a

b c d e f

g mlkjih

Page 9: DATA WAREHOUSES Selection of Views to Materialize in a Data Warehouse Himanshu Gupta Department of Computer Science Stanford University Bernigaud Sébastien

AND-OR View Graph pour les vues v1…vk

Rq : u calculable à partir de v,u1,…,uk et v calculable à partir de v1,…,vl u calculable à partir de u1,…,uk,v1,…,vl

Définitions (suite)

• Graphe G

• Pour chaque vi Gi

• Gi : sous graphe de G

• Gi : AO-DAG expression pour vi

• Pour chaque nœud u de G : fu, Su, gu

• fu : fréquence des requêtes sur u

• Su : espace occupé par u

• gu : fréquence des mises à jour sur u

Page 10: DATA WAREHOUSES Selection of Views to Materialize in a Data Warehouse Himanshu Gupta Department of Computer Science Stanford University Bernigaud Sébastien

Définitions (suite)

Exemple :

ANDAND

ANDAND AND

ANDAND

AND

a

b c d e f

g mlkjih

AND-OR View Graph pour n ’importe quels sous ensembles des vues a,b,c,d,e,f

Page 11: DATA WAREHOUSES Selection of Views to Materialize in a Data Warehouse Himanshu Gupta Department of Computer Science Stanford University Bernigaud Sébastien

Problème

• Donnée : un AND-OR View Graph G et une quantité d’espace 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

Page 12: DATA WAREHOUSES Selection of Views to Materialize in a Data Warehouse Himanshu Gupta Department of Computer Science Stanford University Bernigaud Sébastien

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

Page 13: DATA WAREHOUSES Selection of Views to Materialize in a Data Warehouse Himanshu Gupta Department of Computer Science Stanford University Bernigaud Sébastien

Problème (suite)

• Donnée : un AND-OR View Graph G et une quantité d’espace libre S

• But : sélectionner M = {v1,…vm}

• Contrainte : minimiser (G,M) , (vM) SvS

(G,M) = (i=1 à k) fQiQ(Qi,M) + (i=1 à m) gviU(vi,M)

Conclusion :

Page 14: DATA WAREHOUSES Selection of Views to Materialize in a Data Warehouse Himanshu Gupta Department of Computer Science Stanford University Bernigaud Sébastien

Benefit

• Donnée : C un sous ensemble arbitraire de G

• Benefit de C = B(C,M)

• B(C,M) = (G,M) - (G,MC)

• Benefit de C par unité d’espace = B(C,M)/S(C)

• Benefit absolu de C = B(C,)

Page 15: DATA WAREHOUSES Selection of Views to Materialize in a Data Warehouse Himanshu Gupta Department of Computer Science Stanford University Bernigaud Sébastien

« 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

Page 16: DATA WAREHOUSES Selection of Views to Materialize in a Data Warehouse Himanshu Gupta Department of Computer Science Stanford University Bernigaud Sébastien

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

Page 17: DATA WAREHOUSES Selection of Views to Materialize in a Data Warehouse Himanshu Gupta Department of Computer Science Stanford University Bernigaud Sébastien

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

Page 18: DATA WAREHOUSES Selection of Views to Materialize in a Data Warehouse Himanshu Gupta Department of Computer Science Stanford University Bernigaud Sébastien

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.

Page 19: DATA WAREHOUSES Selection of Views to Materialize in a Data Warehouse Himanshu Gupta Department of Computer Science Stanford University Bernigaud Sébastien

Sélection de vues (suite)

Greedy-Interchange Algorithm

BEGIN

M=solution du Greedy Algorithm;

repeat

Soit (C1,C2) une pair de vues tq C1M et le benefit absolude (M-C1)C2 est plus grand que celui de M.

M= (M-C1)C2;

until (il n’existe plus de pair (C1,C2));

return M;

END.

Page 20: DATA WAREHOUSES Selection of Views to Materialize in a Data Warehouse Himanshu Gupta Department of Computer Science Stanford University Bernigaud Sébastien

Sélection de vues (suite)

• Compétitivité : non prouvée

• Solution : au moins aussi bonne que Greedy Algorithm

• Temps d’exécution : illimité

• En pratique : plus performant que Greedy Algorithm

Page 21: DATA WAREHOUSES Selection of Views to Materialize in a Data Warehouse Himanshu Gupta Department of Computer Science Stanford University Bernigaud Sébastien

Mises à jour

• Si gv < fv Greedy Algorithm est aussi performant que sans mises à jour

Page 22: DATA WAREHOUSES Selection of Views to Materialize in a Data Warehouse Himanshu Gupta Department of Computer Science Stanford University Bernigaud Sébastien

Index

• Pas d’index matérialisé sans sa vue

• Entre u et v : autant d’arêtes que d’index sur v

• Coût associé à un arc label (i,ti) associé à chaque arête entre u et v

• ti(i>0) : coût de calcul de u avec utilisation de l’ième index de v

• f : coût de calcul de u à l’aide de tous ses fils utilisant leurs index respectifs

• f : k-ary fonction , f(t1,…tk)

Page 23: DATA WAREHOUSES Selection of Views to Materialize in a Data Warehouse Himanshu Gupta Department of Computer Science Stanford University Bernigaud Sébastien

Index (suite)

• Pour chaque vi : on construit IGi

• IGi = vi incrémenté des index (meilleur localement) tant que S(IGi)<S

• C = IGi de benefit maximal par unité d’espace• Pour chaque index tel que la vue M :

le comparer avec C • M = M C• On recommence

Inner-Level Greedy Algorithm

Page 24: DATA WAREHOUSES Selection of Views to Materialize in a Data Warehouse Himanshu Gupta Department of Computer Science Stanford University Bernigaud Sébastien

« OR View Graph »

• Motivations

• Sélection de vues dans un « OR View Graph »

• « OR View Graph » avec index

Page 25: DATA WAREHOUSES Selection of Views to Materialize in a Data Warehouse Himanshu Gupta Department of Computer Science Stanford University Bernigaud Sébastien

Motivations

• Datacubes : Databases avec 1 valeur critique organisée en plusieurs dimensions

• Ex : ventes de voitures organisées par modèles,couleurs,…

Page 26: DATA WAREHOUSES Selection of Views to Materialize in a Data Warehouse Himanshu Gupta Department of Computer Science Stanford University Bernigaud Sébastien

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 qu’on a pas de mises à jour pour cette partie

Page 27: DATA WAREHOUSES Selection of Views to Materialize in a Data Warehouse Himanshu Gupta Department of Computer Science Stanford University Bernigaud Sébastien

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

Page 28: DATA WAREHOUSES Selection of Views to Materialize in a Data Warehouse Himanshu Gupta Department of Computer Science Stanford University Bernigaud Sébastien

Sélection de vues (suite)

• Greedy Algorithm : même performances

• Greedy-Interchange Algorithm : temps d’exécution un peu moins qu’1,5 fois celui du Greedy Algorithm

• Solution retournée : meilleure

Page 29: DATA WAREHOUSES Selection of Views to Materialize in a Data Warehouse Himanshu Gupta Department of Computer Science Stanford University Bernigaud Sébastien

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

Page 30: DATA WAREHOUSES Selection of Views to Materialize in a Data Warehouse Himanshu Gupta Department of Computer Science Stanford University Bernigaud Sébastien

Sélection des vues dans des « AND-OR Views Graphs »

• Quelques définitions

• L ’ AO-Greedy Algorithm

• Le Multi-Level Greedy Algorithm

Page 31: DATA WAREHOUSES Selection of Views to Materialize in a Data Warehouse Himanshu Gupta Department of Computer Science Stanford University Bernigaud Sébastien

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

Page 32: DATA WAREHOUSES Selection of Views to Materialize in a Data Warehouse Himanshu Gupta Department of Computer Science Stanford University Bernigaud Sébastien

L’AO-Greedy Algorithm

• F=D

• D : ensemble des arêtes (,) tq • H : sous-graphe de F

• VH : des ensembles de vues correspondant aux sommets de H

• Ajout de VH avec profit maximal à M

• Arrêt : quand S(M)>S

Page 33: DATA WAREHOUSES Selection of Views to Materialize in a Data Warehouse Himanshu Gupta Department of Computer Science Stanford University Bernigaud Sébastien

Multi-Level Greedy Algorithm

• G=query view graph (Q,E)

• F= son graphe d’intersection où v à chaque nœud de F

• Pas de v AO-Greedy algorithme sur G’=enlever v dans chaque élément de • F’=graphe d’intersection correspondant

Page 34: DATA WAREHOUSES Selection of Views to Materialize in a Data Warehouse Himanshu Gupta Department of Computer Science Stanford University Bernigaud Sébastien

Multi-Level Greedy Algorithm (suite)

• Fi : parties connectées à F’

• U : selectionné à l’aide de Greedy• U : initialisé avec v• À chaque étape : sélection de J

• J : ensemble de vues, sous-graphe d’un Fi, benefit par unité d’espace maximal

• Ajout de J à U• Arrêt quand benefit de U ne peut plus être amélioré

Page 35: DATA WAREHOUSES Selection of Views to Materialize in a Data Warehouse Himanshu Gupta Department of Computer Science Stanford University Bernigaud Sébastien

Multi-Level Greedy Algorithm (suite)

• Algo : choix d’un nouveau U et ajout à M

• Arrêt : S(M)>S

• Exécution : exponentielle (tous les sous-graphes de Fi possibles)

Page 36: DATA WAREHOUSES Selection of Views to Materialize in a Data Warehouse Himanshu Gupta Department of Computer Science Stanford University Bernigaud Sébastien

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 d’autres cas particuliers (arbres and-or,arbres and-or binaires,…) ?

• Techniques développées : aperçu significatif de l’heuristique de Greedy