Laboratoire d Informatique Scientifique et Industrielle École Nationale Supérieure de Mécanique et d Aérotechnique, avenue Clément Ader - BP 49-8696 Futuroscope cedex - France ParAdmin: Un Outil d'assistance à l'administration et Tuning d'un Entrepôt de Données Ladjel Bellatreche, Kamel Boukhalfa et Sybille CAFFIAU Université de Poitiers - LISI/ENSMA {bellatreche, boukhalk, sybille.caffiau}@ensma.fr
Contexte Caractéristiques des entrepôts de données Volumétrie des entrepôts de plusieurs téra octets Requêtes complexes Opérations de sélection, jointure et agrégations Exigence des décideurs Importance de la conception physique Evolution permanente Instances, Requêtes, Schémas, Structures d Optimisation Importance du Tuning 2
Besoins Principaux d Administration Sélection des Techniques Vues Index Fragmentation Horizontale Clustering QUE CHOISIR? Algorithmes de sélection Moins de paramétrage Gloutons Plus de paramétrage Algorithmes génétiques Recuit simulé. Mode de sélection Isolé Combinée Choix des tables/attributs Administrateur Paramétrer les algorithmes de sélection Exemple : Algorithmes génétiques Nombre d individus Taux de mutation Taux de croisement Nécessité d une assistance lors de la conception physique 3
Exemple Sélection des Techniques Index de jointure Algorithmes de sélection Glouton basée sur la fréquence d accès Mode de sélection Isolé Choix des tables/attributs Tables volumineuses Attributs les plus utilisés Administrateur Paramétrer les algorithmes de sélection 4
PLAN Existant ParAdmin Conception Mise en oeuvre Démonstration Conclusion et perspectives 5
Existant: Outils d Administration Outil SQL Database Tuning Advisor (DTA) Oracle SQL Access Advisor DB2 Index Advisor tool Techniques Supportées Fragmentation par intervalle Vues matérialisées Index mono attribut Fragmentation: List, Range, Hash, Composite, Référence, etc. Vues matérialisées Index Fragmentation (modes simples) Vues matérialisées, index et groupement Inconvénients Outils propriétaires Aucun paramétrage des algorithmes Absence d un consensus sur les techniques supportées Non prise en considération le feedback 6
Etapes principales de mise en œuvre de ParAdmin Etude des Besoins Techniques Conception Validation Sélection des Techniques Vues Index Fragmentation Horizontale Clustering Algorithmes de sélection Mois de paramétrage Gloutons Plus de paramétrage Algorithmes génétiques Recuit simulé. Mode de sélection Isolé Combinée Choix des tables/attributs Administrateur Paramétrer les algorithmes de sélection Exemple : Algorithmes génétiques Nombre d individus Taux de mutation Taux de croisement 7
Techniques Fragmentation horizontale primaire (FHP) Appliquée sur les tables de dimension Fragmentation horizontale dérivée (FHD) Appliquée sur la table des faits Etude des Besoins Techniques Conception Validation Index de jointure binaires (IJBs) Pré-calculent des jointures entre la table des faits et les tables de dimension Définis sur la table des faits en utilisant des attributs de dimension Similarités entre FHD et IJBs Pré-calculent des jointures Définis sur les attributs de sélection Optimisent les requêtes de jointure en étoile 8
9 Similarité : exemple Client Poitiers Pascal Poitiers Eric 22 2 Nantes Didier 33 3 Nantes Patrick 44 4 Paris Yves 55 5 Poitiers Gilles 6 Ville Nom CID RID C Fitness SlimForm Jardinage Manure 2 2 Jouet Barbie 3 3 Multimédia WebCam 4 4 Beauté Clarins 5 5 Beauté Sonoflore 6 6 Catégorie Nom PID RID P 23 Juin 23 Mai 55 2 23 Avril 44 3 23 Mars 33 4 23 Février 22 5 23 Janvier 6 Année Mois TID RID T Produit Temps 8 6 22 24 9 5 33 25 7 22 5 33 26 5 6 33 27 8 55 5 22 23 44 5 22 22 5 22 2 2 55 4 2 2 22 4 9 2 22 4 55 8 4 4 22 7 44 5 6 45 44 3 22 5 7 55 3 55 4 2 55 3 3 55 2 44 2 2 2 44 2 2 33 22 9 27 33 8 2 44 7 4 55 6 22 6 4 5 44 5 4 55 4 5 33 4 3 28 6 2 25 6 Montant TID PID CID RID S Ventes SELECT count(*) FROM Ventes V, Client C, Produit P, Temps T WHERE V.CID = C.CID AND V.TID=T.TID AND V.PID=P.PID AND C.Ville = Poitiers AND T.Mois= Juin AND P.Catégorie= Beauté Client =σ ville=poitiers (Clie nt) Poitiers Pascal Poitiers Eric 22 2 Poitiers Gilles 6 Ville Nom CID RID C Beauté Clarins 5 5 Beauté Sonoflore 6 6 Catégorie Nom PID RID P 23 Juin Année Mois TID RID T Produit =σ cat=beauté (Produ it) Temps 6 =σ mois=juin (Temps) 44 5 6 28 6 2 Amount TID PID CID RID S Ventes_BJP Sous schéma en étoile 27 26 25 24 23 22 2 2 9 8 7 6 5 4 3 2 9 8 7 6 5 4 3 2 RID AND F Catégorie Mois Ville Jr J M B J u M ai A v M a Fe Ja N Pr P Index de jointure binaire FH : Que fait l optimiseur? Lire le fragment Ventes_BJP Compter le nombre de tuples Éviter trois jointures IJB : Que fait l optimiseur? Lire le bitmap Effectuer un AND logique Compter le nombre de
Modes de sélection supportées Sélection isolée FHSEULE : sélection d un schéma de fragmentation. BJISEULS : sélection d une configuration d index de jointure Sélection combinée (FH&IJBs). Sélectionner un schéma de fragmentation (SF) Etude des Besoins Techniques Conception Validation 2. Identifier les requêtes non bénéficiaires du processus de fragmentation 3. Identifier les attributs indexables 4. Sélectionner une configuration d index.
Algorithmes supportés Fragmentation Hill climbing Recuit Simulé (RS) [BNCOD 6] Etude des Besoins Techniques Conception Validation Température, décroissance de la température, équilibre, gel Algorithme génétique [DAWAK 5] Taux de mutation, taux de croisement, nombre d individus, temps d exécution Indexation Glouton [DEXA 7] Approche data mining [DAWAK 7]
Modèle de tâches pour la modélisation ParAdmin Modélisation par K-MADE [INRIA] Etude des Besoins Techniques Exprimer les activités utilisateurs Valider l interface par un simulateur de scénarii Conception Post et pré conditions Validation Exemple d un modèle de tâches 2
Architecture Administrateur Administrateur Visualiser état actuel Visualiser état actuel Etat de l entrepôt Charge de requêtes Requêtes Etat de l entrepôt Tables Charge Nature de requêtes des requêtes Description des tables Fréquence d accès Attributs Requêtes Facteurs de sélectivité Tables Domaines des attributs Nature des requêtes prédicats Description des tables Attributs Conception Fréquence physique d accès Domaines des attributs PS, Facteurs Tampon de sélectivité des prédicats Visualiser l état de l entrepôt Fragmentation/Indexation séparée Fragmentation et indexation combinée Conception physique HPSEULE IJBSEULS HP&IJB PS, Tampon HP&IJB Attributs candidats Préparation Recommandations Génération des des scripts Fixer Fixer W Type Type de de Générer le le schéma Fragmentation Exécution des des scripts Attributs de de faibles cardinalités Requêtes non bénéficiaires Requêtes non bénéficiaires Attributs de faibles Cardinalités Attributs de moins faibles attributs Cardinalités de fragmentation moins attributs de fragmentation Fragmentation Fragmentation non non personnalisée personnalisée Choix de de l algorithme Paramétrage de de l algorithme Préparation Recommandations Génération Exécution Préparation Recommandations Génération Exécution des scripts des scripts des scripts des scripts Choisir tables Choisir attributs 3
Visualisation de l état de l entrepôt Charge de requêtes Description de chaque requête Fréquence d utilisation. Tables de l entrepôt Attributs, nombre de tuples, etc. Attributs de sélection Sous domaines Taille. Etude des Besoins Techniques Conception Validation : Visual C 4
Fragmentation de l entrepôt Fragmentation non personnalisée Faire confiance à l outil Fragmentation personnalisée Etude des Besoins Techniques Conception Validation : Visual C Participation de l administrateur aux différents choix 5
Tuning de la conception physique Sélection combinée.sélectionner un schéma de fragmentation Etude des Besoins Techniques Conception Validation : Visual C 2.Sélectionner une configuration d index. 6
Recommandations L outil fournit un ensemble de recommandations Schéma de fragmentation et/ou configuration d index Temps d exécution avant et après la sélection Attributs de fragmentations Tables fragmentées L administrateur peut valider et générer les scripts. Il pourra revenir en arrière pour reconsidérer ses choix. Etude des Besoins Techniques Conception Validation : Visual C 7
Conclusion et perspectives Développement d un outil générique d administration Prise en compte d une administration personnalisée et non personnalisée. Utilisation des modèles de tâches (IHM) pour concevoir ParAdmin. Considération des feedback Enrichissement de l outil (prise en considération d autres techniques ) 8