Laboratoire dInformatique Scientifique et Industrielle cole Nationale Suprieure
Laboratoire d’Informatique Scientifique et Industrielle École Nationale Supérieure de Mécanique et d’Aérotechnique 1, avenue Clément Ader - BP 40109 - 86961 Futuroscope cedex - France Dyna. Close: Une approche de data mining pour la sélection des index de jointure binaires dans les entrepôts de données Hamid NECIR Université de Bab Ezzouar Alger - ALGERIE Ladjel BELLATRECHE Rokia MISSAOUI LISI/ENSMA - Université de Université du Québec en Outaouais Poitiers – FRANCE (UQO) - CANADA EDA’ 07 Poitiers, 7 -8 Juin 2007
Contexte : Entrepôt de données relationnel Requêtes de jointure en étoile Code_level Class_level Group_level Family_level Line_level Division_level Store_level Retailer_level ðPlusieurs opérations de jointure ðSuivies par des opérations de sélection 900 : 24 Tid Year_level Quarter_level Month_level Exemple : SELECT A. PL, A. DL, sum(DS), sum(US) FROM Actvars A, Prod. L P, Time. L T, Cust. L C 24 : 36 Customer_level Product_level Channel_level Time_level Units. Sold Dollar. Sales Dollar. Cost 24786000 : 74 Schéma en étoile 9000 : 72 Base_level All_level 9 : 24 EDA’ 07 Poitiers 7 -8 juin 2007 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 è Nécessité de structures d’optimisation 2
Plan EDA’ 07 Poitiers 7 -8 juin 2007 q Structures d’optimisation existantes q Sélection des index de jointure binaires q Notre approche q Évaluation de performances q Conclusion et perspectives 3
q Structures d’optimisation existantes q Sélection des index de jointure binaires q Notre approche q Évaluation de performances q Conclusion et perspectives Structures d’optimisation existantes u Structures redondantes u Structures non redondantes t Fragmentation de données t Traitement parallèle t Implémentations de la jointure (Hash join, Sort join, etc. ) t Vues matérialisées t Index EDA’ 07 Poitiers 7 -8 juin 2007 v Mono attribut (B-Tree, Hash, etc. ) v Index de jointure binaires (IJB) IJB = index binaire défini sur une table des faits qui référence des attributs de sélection d’une table de dimension. Exemple : CREATE BITMAP INDEX BI ON Actvars(Family. Level) FROM Actvars A, Prod. Level, P WHERE Actvars. ref. Prod = P. Code SELECT count(*) FROM Actvars A, Prod. Level P WHERE A. ref. Prod = P. Code AND Family. Level = ‘Food’ Problème de sélection des IJBs Population de BI Actvars ROWID Family: Beauty Family: Food Ri. D 1 1 0 Ri. D 2 0 1 Ri. D 3 1 0 Ri. D 4 1 0 Ri. D 5 1 0 Ri. D 6 1 0
Formalisation du problème de sélection des IJBs q Structures d’optimisation existantes q Sélection des index de jointure binaires q Notre approche q Évaluation de performances q Conclusion et perspectives u Exigence de ressources: t Espace disque EDA’ 07 Poitiers 7 -8 juin 2007 t Coût de maintenance (rafraîchissement des données) t Coût de calcul (pour le processus de sélection) è Impossibilité de sélectionner tous IJBs u Problème de Sélection des IJBs – Entrées: – Un entrepôt de données {F, D 1, …, 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.
Étapes de Sélection des IJBs q Structures d’optimisation existantes q Sélection des index de jointure binaires q Notre approche q Évaluation de performances q Conclusion et perspectives Attributs de dimension candidats EDA’ 07 Poitiers 7 -8 juin 2007 Phase d’élimination Pruning phase Seuil Modèle de coût Attributs de dimension sélectionnés 1. 2. Greedy algorithm [Microsoft] Integer Linear Programming [Microsft] Algorithme de Sélection Stockage Selection phase Index Finaux ðQualité des IBJs dépend fortement de la phase de pruning
État de l’art: Phase d’élimination(1) q Structures d’optimisation existantes q Sélection des index de jointure binaires q Notre approche q Évaluation de performances q Conclusion et perspectives u Deux approches de Pruning: 1. Enumeration-driven approaches EDA’ 07 Poitiers 7 -8 juin 2007 + - [Chaudhuri 04, Valentin 00] Utilisation de Query Optimizer Cost Model Connaissance préalable du nombre de candidates générés (seuil) Attributs de dimension candidats Phase d’élimination Attributs de dimension sélectionnés Algorithme de Sélection Index Finaux Seuil Query optimizer Stockage
q Structures d’optimisation existantes q Sélection des index de jointure binaires q Notre approche q Évaluation de performances q Conclusion et perspectives État de l’art: Phase d’élimination(2) 1. Data mining : Close [Aouiche’ 05] A 1 A 2 A 3 A 4 A 5 A 6 Q 1 0 0 0 1 1 1 Q 2 0 0 0 1 1 1 q Élaguer si support(CFI) minsup Q 3 0 0 0 1 1 1 + Q 4 1 1 1 0 0 0 Q 5 1 1 1 0 0 0 q Apriori-Like Algorithm (parcours par niveaux) q Génération de Closed Frequent Itemsets (CFI) EDA’ 07 Poitiers 7 -8 juin 2007 Matrice d’usage d’attributs - 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 Minsup=3/5 q IJB sur A 6 (support=3/5) A 6 Channel. Level (9 instances) q IJB sur A 3 est élagué (support=2/5) A 3 Prod. Level (90000 instances) ]Coût de jointure dépend fortement des tailles des tables
Similitude entre IJB Fragmentation Verticale u q Structures d’optimisation existantes q Sélection des index de jointure binaires q Notre approche q Évaluation de performances q Conclusion et perspectives Fragmentation verticale : Partition une table en fonction des colonnes Client(N°Client, Nom, Sexe, Ville, Age) Client 1(N°Client, Nom, Age) et Client 2(N°Client, Sexe, Ville) u Index de Jointure Binaires : IJB(Nom, Age) - IJB(Sexe, Ville) IJB(Nom, Age, Sexe) … u Algorithmes de fragmentation verticale t Affinity-based approach : [Navathe’ 91] v Usage des attributs/requêtes t Cost-based Approach : [Bellatreche 00, Fung 04, …. ] v Évaluation de chaque solution (Modèle de coût) t Data mining approach : [Le’ 06] v Clustering ðDyna. Close: Nouvelle approche d’élimination ðNouveaux critères d’élagage (Taille des tables, fréquences)
q Structures d’optimisation existantes q Sélection des index de jointure binaires q Notre approche q Évaluation de performances q Conclusion et perspectives Dyna. Close u Idée principale EDA’ 07 Poitiers 7 -8 juin 2007 t Pénaliser les CFIs définis sur les petites tables t Privilégier les CFIs définis sur les grandes tables u Comment? t 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
q Structures d’optimisation existantes q Sélection des index de jointure binaires q Notre approche q Évaluation de performances q Conclusion et perspectives EDA’ 07 Poitiers 7 -8 juin 2007 Exemple Alpha fitness 1 -itemsets fermés 1 -Gén SUPP A 1 0, 4 0, 6448 0, 12896 A 1, A 2, A 3 A 2 0, 4 0, 6448 0, 12896 A 1, A 2, A 3 A 4 0, 6 0, 0003 0, 0001 A 4, A 5, A 6 A 5 0, 6 0, 0003 0, 0001 A 4, A 5, A 6 IJB sur Customers. Prod. Level sélectionné fitness=0, 12896 (support=2/5). IJB sur channels. channel_desc est élagué fitness=0, 0001 (support=3/5).
q Structures d’optimisation existantes q Sélection des index de jointure binaires q Notre approche q Évaluation de performances q Conclusion et perspectives Algorithme Greedy de Attributs Candidats Sélection Dyna. Close EDA’ 07 Poitiers 7 -8 juin 2007 Attributs Sélectionnés Imin: IJB défini sur un attribut de sélection de faible cardinalité Sélection Imin Stockage Oui Réduction de coût? Contrainte Stockage NO Configuration finale Modèle de coût
Nettoyage des CFIs sélectionnés q Structures d’optimisation existantes q Sélection des index de jointure binaires q Notre approche q Évaluation de performances q Conclusion et perspectives EDA’ 07 Poitiers 7 -8 juin 2007 u Règles: 1. CFIs définis seulement de clés primaires de tables de dimension ou des clés étrangères de la table des faits 2. CFIs ne respectant pas les caractéristiques des index de jointure en étoile. u Exemple: (cust_gender ~ sales. cust_id ~ sales. prod_id ~ 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 3. CFIs contenant que des attributs non clés.
Évaluation de performances (I) q Structures d’optimisation existantes q Sélection des index de jointure binaires q Notre approche q Évaluation de performances q Conclusion et perspectives u Schéma modifié de benchmark APB-1 EDA’ 07 Poitiers 7 -8 juin 2007 u 40 requêtes OLAP [Thèse Aouiche] u Java - PC PC Pentium IV de mémoire de 256 Mo u Modèle de coût d’exécution de requêtes u Modèle de coût de stockage u Trois scénarii d’évaluation 1. Sans index 2. Index avec Close 3. Index avec Dyna. Close (entrées/sorties)
Évaluation de performances (II) q Structures d’optimisation existantes q Sélection des index de jointure binaires q Notre approche q Évaluation q Conclusion et perspectives APPORT DE L'INDEXATION 12000000 EDA’ 07 Poitiers 7 -8 juin 2007 COÛT 10000000 8000000 Dyna. Close 6000000 Indexation classique 4000000 sans indexation 2000000 0 0, 05 0, 075 0, 175 0, 225 0, 275 0, 375 0, 475 0, 5 MINSUP Figure 1 : Comparaison de Dyna. Close avec les approches existantes APPORT DE L'INDEXATION COÛT 150 Dyna. Close 100 Indexation classique 50 sans indexation 0 0, 05 0, 075 0, 175 0, 225 0, 275 0, 475 0, 5 MINSUP Figure 2 : Pourcentage de gain avec contrainte d’espace
Conclusion & Perspectives q Structures d’optimisation existantes q Sélection des index de jointure binaires q Notre approche q Évaluation de performances q Conclusion et perspectives u Approche de sélection de IJB dirigée par Data mining EDA’ 07 Poitiers 7 -8 juin 2007 u Introduction de fonction de pénalité u Algorithme glouton de sélection u Résultats préliminaires assez encourageants u Autres évaluations de performances (grande échelle) u Enrichissement de la fonction de pénalité u Utilisation d’autres algorithmes de data mining (Charm) Combinaison avec d’autres structures de sélection non redondantes (partitionnement) [DEXA 07]
MERCI
- Slides: 17