580 likes | 679 Views
Conception optimisée de Vues Matérialisées dans un Environnement réel d’Entreposage de données. G. K. Y. Chan Q.Li L. Feng. Bienvenu Marie - Chapelle Cédric. Introduction. Présentation d’un algorithme de réduction des coûts d’exécution des requêtes sur un entrepôt de données
E N D
Conception optimisée de Vues Matérialisées dans un Environnement réel d’Entreposage de données G. K. Y. Chan Q.Li L. Feng Bienvenu Marie - Chapelle Cédric
Introduction • Présentation d’un algorithme de réduction des coûts d’exécution des requêtes sur un entrepôt de données • Définition d’un modèle de coût • Conception de l’algorithme qui déterminera les vues à matérialiser
Introduction (2) • Étude d’un cas concret : la société R, extraction d’une partie de la base pour former l’entrepôt de données - Table de fait : Facture INV (Co_no, Inv_no, Inv_date, P_no, Qty, Amt) - Table de dimensions :Société et Produit CO (Co_no, Co_name, R_no) PD (P_no, P_name, Mfr_no, Type_no, Cat_no)
Conception du datawarehouse (1) • Différents schémas • Application à la société ‘R’: éléments nécessaires • Stockage des informations fréquemment utilisées dans des vues récapitulatives • Architecture du système et caractéristiques
Différents schémas pour les systèmes de Datawarehousing • Schéma en étoile • Schéma en constellation • Schéma en flocon
Conception du datawarehouse (2) • Différents schémas • Application à la société ‘R’: éléments nécessaires • Stockage des informations fréquemment utilisées dans des vues récapitulatives • Conception du système et caractéristiques
Application à la société ‘R’: éléments nécessaires (1) • Conception du Diagramme Entité-Association du système de facturation
Application à la société ‘R’: éléments nécessaires (2) • Nécessité d’estimer la fréquence de chaque requête et donc la fréquence d’accès à la vue associée
Conception du datawarehouse (3) • Différents schémas • Application à la société ‘R’: éléments nécessaires • Stockage des informations fréquemment utilisées dans des vues récapitulatives • Architecture du système et caractéristiques
Stockage dans des vues récapitulatives • Stocker dans des vues les clés et certains attributs des dimensions fréquemment utilisés par les requêtes + : réduit le nombre de jointures entre table de fait et tables de dimensions • : occupe de l’espace disque supplémentaire Pb : Trouver l’ensemble optimal de clés et attributs de dimension à stocker dans les vues (notions de bénéfice et d’efficacité )
Coûts d’ajout de différentes informations à la table de fait
Conception du datawarehouse (4) • Différents schémas • Application à la société ‘R’: éléments nécessaires • Stockage des informations fréquemment utilisées dans des vues récapitulatives • Conception du système et caractéristiques
Conception du système et caractéristiques (1) • Schéma hybride de la société ‘R’ • Nécessité de calculer les tailles des tables de dimension normalisées
Conception du système et caractéristiques (2) • Schéma hybride de la société ‘R’ • Nécessité de calculer les tailles des tables de dimension normalisées
Sélection des vues à matérialiser • Modèle de coût • Adaptation d’un algorithme optimal de sélection des vues à matérialiser • Analyse du coût
Modèle de coût coût total = coût de requête + coût de maintenance des vues matérialisées + coût de stockage
Coût de requête • Hypothèse : ni index , ni clé de hashage sur les vues => balayage séquentiel
Coût de maintenance (1) • Hiérarchisation des vues : notion de descendance • Calcul du coût
Coût de maintenance (2) • Hiérarchisation des vues : notion de descendance • Calcul du coût
Calcul de coût Hypothèse : fui = 1 ; Toutes les vues sur les ventes sont actualisées régulièrement
Coût de stockage (1) • Dépendance de la capacité du disque dur • Calcul du coût
Coût de stockage (2) • Dépendance de la capacité du disque dur • Calcul du coût Hypothèse : U=1, d’où
Indice d’efficacité de matérialisation • Bénéfice net • Efficacité de matérialisation
Bénéfice net • Bénéfice net : net(Bi) = bénéfice Bi - coût maintenance - coût stockage Où ai : ancêtre de i, ni : descendante de i m : nombre de descendants de i
Indice d’efficacité de matérialisation • Bénéfice net • Efficacité de matérialisation
Efficacité de matérialisation • bénéfice net par unité de stockage de la vue matérialisée
Coût total • Calcul du coût total des requêtes apres matérialisation d’une vue Coût total = Coût total – Bénéfice + Coût de stockage + coût de maintenace
Algorithme • Déterminer les chemins optimaux pour les requêtes et la maintenance des vues • Calculer le bénéfice net et le coefficient d’efficacité de chaque vue • Classer les vues par ordre décroissant d’efficacité • Déterminer le coût total minimum • Sélectionner l’ensemble optimal de vues à matérialiser
INV Co-P-Day R-P-Day R-P-Month P-Sale-Day P-Sale-Month Chemins optimaux (2)
Algorithme • Déterminer les chemins optimaux pour les requêtes et la maintenance des vues • Calculer le bénéfice net et le coefficient d’efficacité de chaque vue • Classer les vues par ordre décroissant d’efficacité • Déterminer le coût total minimum • Sélectionner l’ensemble optimal de vues à matérialiser
Algorithme • Déterminer les chemins optimaux pour les requêtes et la maintenance des vues • Calculer le bénéfice net et le coefficient d’efficacité de chaque vue • Classer les vues par ordre décroissant d’efficacité • Déterminer le coût total minimum • Sélectionner l’ensemble optimal de vues à matérialiser
Algorithme • Déterminer les chemins optimaux pour les requêtes et la maintenance des vues • Calculer le bénéfice net et le coefficient d’efficacité de chaque vue • Classer les vues par ordre décroissant d’efficacité • Déterminer le coût total minimum • Sélectionner l’ensemble optimal de vues à matérialiser
Algorithme • Déterminer les chemins optimaux pour les requêtes et la maintenance des vues • Calculer le bénéfice net et le coefficient d’efficacité de chaque vue • Classer les vues par ordre décroissant d’efficacité • Déterminer le coût total minimum • Sélectionner l’ensemble optimal de vues à matérialiser
Exemple CO_P_Day (1) • Select INV.Co_No,Co_Name,INV.P_No,Type_No,Cat_No,MFR_No,R_No,INV_DT,SUM(AMT)AMT,SUM(QTY)QTY From INV, CO, PD Where Inv.Co_No=Co.Co_No and INV.P_No=PD.P_No
Exemple Co_P_Day (2) • Coût de stockage D’après le coût d’ajout de différentes informations : {CO_P}UX = 240B
Coûts d’ajout de différentes informations à la table de fait
Exemple Co_P_Day (3) • Coût de la requête : Coût de selection + Coût des jointures 240+(12+12*240)+(6+6*240)=4578 B
Exemple Co_P_Day (4) • Coût de maintenance Coût de requête de l’ancêtre + Coût de jointure de l’ancêtre Ancêtre de Co_P_Day : INV 114 + (12+12*114) + (6+6*114) = 2184 B
Exemple Co_P_Day (5) • Bénéfice Net Bénéfice - Coût de stockage - Coût de maintenance 97694.88 - 240 - 2184 = 95270.88 B