Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parGervaise Tissier Modifié depuis plus de 10 années
1
DynaClose: Une approche de data mining pour la sélection des index de jointure binaires dans les entrepôts de données Université de Bab Ezzouar Alger - ALGERIE Hamid NECIR Ladjel BELLATRECHE LISI/ENSMA - Université de Poitiers – FRANCE Rokia MISSAOUI Université du Québec en Outaouais (UQO) - CANADA
2
Contexte : Entrepôt de données relationnel
Poitiers 7-8 juin 2007 EDA’07 Requêtes de jointure en étoile Customer_level Product_level Channel_level Time_level UnitsSold DollarSales DollarCost Actvars Store_level Retailer_level Custlevel Code_level Class_level Group_level Family_level Line_level Division_level Prodlevel Base_level All_level Chanlevel Tid Year_level Quarter_level Month_level Timelevel : 74 9 : 24 9000 : 72 24 : 36 900 : 24 Plusieurs opérations de jointure Suivies par des opérations de sélection Exemple : SELECT A.PL, A.DL, sum(DS), sum(US) FROM Actvars A, ProdL P, TimeL T, CustL C WHERE A.PL = P.PL AND A.TL = T.TL AND A.CL = C.CL (Jointures) AND T.YL = ‘2006’ AND P.FL = ‘Beauty’ AND C.SL = ‘F’ (Sélections) GROUP BY A.PL ORDER BY P.DL Schéma en étoile Nécessité de structures d’optimisation
3
Structures d’optimisation existantes
Plan Poitiers 7-8 juin 2007 EDA’07 Structures d’optimisation existantes Sélection des index de jointure binaires Notre approche Évaluation de performances Conclusion et perspectives
4
Structures d’optimisation existantes
Sélection des index de jointure binaires Notre approche Évaluation de performances Conclusion et perspectives Poitiers 7-8 juin 2007 EDA’07 Structures redondantes Vues matérialisées Index Mono attribut (B-Tree, Hash, etc.) Index de jointure binaires (IJB) Structures non redondantes Fragmentation de données Traitement parallèle Implémentations de la jointure (Hash join, Sort join, etc.) IJB = index binaire défini sur une table des faits qui référence des attributs de sélection d’une table de dimension. Population de BI Exemple : CREATE BITMAP INDEX BI ON Actvars(FamilyLevel) FROM Actvars A, ProdLevel, P WHERE Actvars.refProd = P.Code Actvars ROWID Family: Beauty Family: Food RiD 1 1 RiD 2 RiD 3 RiD 4 RiD 5 RiD 6 SELECT count(*) FROM Actvars A, ProdLevel P WHERE A.refProd = P.Code AND FamilyLevel = ‘Food’ Problème de sélection des IJBs
5
Formalisation du problème de sélection des IJBs
Structures d’optimisation existantes Sélection des index de jointure binaires Notre approche Évaluation de performances Conclusion et perspectives Formalisation du problème de sélection des IJBs Poitiers 7-8 juin 2007 EDA’07 Exigence de ressources: Espace disque Coût de maintenance (rafraîchissement des données) Coût de calcul (pour le processus de sélection) Impossibilité de sélectionner tous IJBs Problème de Sélection des IJBs Entrées: Un entrepôt de données {F, D1, …, Dn} Un ensemble de requêtes fréquentes Une capacité de Stockage S Problème Sélectionner un ensemble de vues afin de minimiser le coût d’exécution de requêtes et satisfaire la contrainte S.
6
Étapes de Sélection des IJBs
Structures d’optimisation existantes Sélection des index de jointure binaires Notre approche Évaluation de performances Conclusion et perspectives Étapes de Sélection des IJBs Poitiers 7-8 juin 2007 EDA’07 Attributs de dimension candidats Seuil Phase d’élimination Pruning phase Modèle de coût Qualité des IBJs dépend fortement de la phase de pruning Attributs de dimension sélectionnés Greedy algorithm [Microsoft] Integer Linear Programming [Microsft] Stockage Algorithme de Sélection Selection phase Index Finaux
7
État de l’art: Phase d’élimination(1)
Structures d’optimisation existantes Sélection des index de jointure binaires Notre approche Évaluation de performances Conclusion et perspectives État de l’art: Phase d’élimination(1) Poitiers 7-8 juin 2007 EDA’07 Deux approches de Pruning: Enumeration-driven approaches [Chaudhuri04, Valentin00] Utilisation de Query Optimizer Cost Model Connaissance préalable du nombre de candidates générés (seuil) Attributs de dimension candidats Seuil Phase d’élimination Query optimizer Attributs de dimension sélectionnés Stockage Algorithme de Sélection Index Finaux
8
État de l’art: Phase d’élimination(2)
Structures d’optimisation existantes Sélection des index de jointure binaires Notre approche Évaluation de performances Conclusion et perspectives État de l’art: Phase d’élimination(2) Matrice d’usage d’attributs Poitiers 7-8 juin 2007 EDA’07 Minsup=3/5 IJB sur A6 (support=3/5) A6 ChannelLevel (9 instances) IJB sur A3 est élagué (support=2/5) A3 ProdLevel (90000 instances) Coût de jointure dépend fortement des tailles des tables Data mining : Close [Aouiche’05] Apriori-Like Algorithm (parcours par niveaux) Génération de Closed Frequent Itemsets (CFI) Élaguer si support(CFI) minsup Aucune obligation sur le nombre de candidats finaux Le critère de génération de CFI: fréquence d’apparition des attributs de dimension dans les requêtes A1 A2 A3 A4 A5 A6 Q1 1 Q2 Q3 Q4 Q5
9
Similitude entre IJB Fragmentation Verticale
Structures d’optimisation existantes Sélection des index de jointure binaires Notre approche Évaluation de performances Conclusion et perspectives Fragmentation verticale : Partition une table en fonction des colonnes Client(N°Client, Nom, Sexe, Ville, Age) Client1(N°Client, Nom, Age) et Client2(N°Client, Sexe, Ville) Index de Jointure Binaires : IJB(Nom, Age) - IJB(Sexe, Ville) IJB(Nom, Age, Sexe) … Algorithmes de fragmentation verticale Affinity-based approach : [Navathe’91] Usage des attributs/requêtes Cost-based Approach : [Bellatreche00, Fung04, ….] Évaluation de chaque solution (Modèle de coût) Data mining approach : [Le’06] Clustering DynaClose: Nouvelle approche d’élimination Nouveaux critères d’élagage (Taille des tables, fréquences)
10
DynaClose Idée principale Comment?
Structures d’optimisation existantes Sélection des index de jointure binaires Notre approche Évaluation de performances Conclusion et perspectives DynaClose Poitiers 7-8 juin 2007 EDA’07 Idée principale Pénaliser les CFIs définis sur les petites tables Privilégier les CFIs définis sur les grandes tables Comment? Fonction de pénalité n : Nombre d’attributs non clés d’un CFI. : Nombre n-uplet de la table de dimension Di. : Nombre n-uplet de la table des faits. Sup : Support
11
Exemple 1-Gén SUPP Alpha fitness 1-itemsets fermés A1 0,4 0,6448
Structures d’optimisation existantes Sélection des index de jointure binaires Notre approche Évaluation de performances Conclusion et perspectives Exemple Poitiers 7-8 juin 2007 EDA’07 1-Gén SUPP Alpha fitness 1-itemsets fermés A1 0,4 0,6448 0,12896 A1,A2,A3 A2 A3 A4 0,6 0,0003 0,0001 A4,A5,A6 A5 A6 IJB sur Customers.ProdLevel sélectionné fitness=0,12896 (support=2/5). IJB sur channels.channel_desc est élagué fitness=0,0001 (support=3/5).
12
Algorithme Greedy de Sélection
Structures d’optimisation existantes Sélection des index de jointure binaires Notre approche Évaluation de performances Conclusion et perspectives Algorithme Greedy de Sélection Poitiers 7-8 juin 2007 EDA’07 Attributs Candidats Imin: IJB défini sur un attribut de sélection de faible cardinalité DynaClose Attributs Sélectionnés Sélection Imin Stockage Modèle de coût Réduction de coût? Contrainte Stockage Oui Configuration finale NO
13
Nettoyage des CFIs sélectionnés
Structures d’optimisation existantes Sélection des index de jointure binaires Notre approche Évaluation de performances Conclusion et perspectives Nettoyage des CFIs sélectionnés Poitiers 7-8 juin 2007 EDA’07 Règles: CFIs définis seulement de clés primaires de tables de dimension ou des clés étrangères de la table des faits CFIs ne respectant pas les caractéristiques des index de jointure en étoile. Exemple: (custcust_gender ~ sales.cust_id ~ cust.cust_id ~ sales.prod_id ~ prod.prod_id) CREATE BITMAP INDEX sales_c_gender_p_cat_bjix ON sales(customers.cust_gender) FROM sales, customers, products WHERE sales.cust_id = customers.cust_id AND sales.prod_id = products.prod_id CFIs contenant que des attributs non clés.
14
Évaluation de performances (I)
Structures d’optimisation existantes Sélection des index de jointure binaires Notre approche Évaluation de performances Conclusion et perspectives Évaluation de performances (I) Poitiers 7-8 juin 2007 EDA’07 Schéma modifié de benchmark APB-1 40 requêtes OLAP [Thèse Aouiche] Java - PC PC Pentium IV de mémoire de 256 Mo Modèle de coût d’exécution de requêtes (entrées/sorties) Modèle de coût de stockage Trois scénarii d’évaluation Sans index Index avec Close Index avec DynaClose
15
Évaluation de performances (II)
Structures d’optimisation existantes Sélection des index de jointure binaires Notre approche Évaluation Conclusion et perspectives Évaluation de performances (II) Poitiers 7-8 juin 2007 EDA’07 APPORT DE L'INDEXATION 0,05 0,075 0,175 0,225 0,25 0,275 0,375 0,45 0,475 0,5 MINSUP COÛT DynaClose Indexation classique sans indexation Figure 1 : Comparaison de DynaClose avec les approches existantes APPORT DE L'INDEXATION 50 100 150 0,05 0,075 0,175 0,225 0,275 0,475 0,5 MINSUP COÛT DynaClose Indexation classique sans indexation Figure 2 : Pourcentage de gain avec contrainte d’espace
16
Conclusion & Perspectives
Structures d’optimisation existantes Sélection des index de jointure binaires Notre approche Évaluation de performances Conclusion et perspectives Poitiers 7-8 juin 2007 EDA’07 Approche de sélection de IJB dirigée par Data mining Introduction de fonction de pénalité Algorithme glouton de sélection Résultats préliminaires assez encourageants Autres évaluations de performances (grande échelle) Enrichissement de la fonction de pénalité Utilisation d’autres algorithmes de data mining (Charm) Combinaison avec d’autres structures de sélection non redondantes (partitionnement) [DEXA07]
17
MERCI
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.