Conception et optimisation d’un entrepôt de données médicales María Trinidad SERNA-ENCINAS Michel ADIBA Laboratoire LSR-IMAG Juin 2005 Plan Conception du schéma Projet ADELEM Sources et indicateurs Schéma pour ADELEM Algorithme pour la sélection des vues à matérialiser Algorithme Greedy Notre proposition Conclusions Le projet ADELEM Le projet ADELEM consiste en la mise au point d'outils logiciels nécessaires à l'aide à la décision logistique et médicale. Le Laboratoire TIMC Le laboratoire de Biométrie et Biologie Évolutive Le laboratoire LSR L’Organisation Mondiale de la Santé Le projet ADELEM Laboratoire de Biométrie et Biologie de Lyon Indicateur d’offre de soins : le nombre de lits par établissement Laboratoire De Biométrie Et Biologie De Lyon Année : 2000 Source : Ministère de La Santé Problématique Données: Publiques concernant la santé: RSA, RHA, FINESS, CIM10 Démographiques: RP90 et RP99 Géographiques: GéoFLCP, HEXAPOSTE, Inventaire Communal (1988) Sources de données hétérogènes, distribuées et certaines d’entre elles sont externes au domaine médical proprement dit. Nature des données: type, format, sémantique, confidentialité, degré de fiabilité et de confiance, informations manquantes ou incomplètes, … Sources de données Sources Tableau Historique Typage des indicateurs Indicateurs d’offre (géographiques - spatiotemporels) Localiser sur une carte tous les établissements de court séjour en faisant apparaître leur capacité en nombre de lits MCO (Médecine-Chirurgie-Obstétrie) Indicateurs de consommation, de besoin et de flux (temporels) Nombre de séjours par établissement durant l’année 2000 Nouveaux indicateurs (temporels) Nombre de personnes de plus de 60 ans par maladie et par établissement Schéma en constellation Projet ADELEM Description du schéma (1/2) SM = (Cs, Ds, Hs, R) Cs = {Prise_MCO, Population, Prise_SSR} Ds = {Etablissement, CIM10, Temps, Mode_sortie, Age, Zone_geo, Poids_naissance, RP99, Semaine_debut, Semaine_fin} Hs = {H_Geo, H_Temps} R = {C_Cube, C_Dimension, C_Hiérarchie} Cs = (cn, M, D) cn = Prise_MCO M = {CompteDuree_sejour, SommeDuree_sejour} D = {Etablissement, CIM10, Temps, Mode_sortie, Age, Zone_geo, Poids_naissance} Description du schéma (2/2) Ds = (dn, P, H) dn = Etablissement P = {Cle_Finess, Raison_Sociale, Adresse, Codepostal, CA1 .. CA7, CMO1 .. CMO7, NLA, NLO, Commune, Departement} H = {H_Geo} Hs = (hn, L, <} hn = H_Geo L = {Commune, Departement, Region, Pays} < = {(Commune, Departement), (Departement, Region), (Region, T)} Plan Conception du schéma Projet ADELEM Sources et indicateurs Schéma pour ADELEM Algorithme pour la sélection des vues à matérialiser Algorithme Greedy Notre proposition Conclusions Matérialisation du cube Tables du schéma ADELEM_MCO (nb de n-uplets): Prise_MCO (53799) fait Etablissement (5079) dimension CIM10 (17788) dimension Temps (12) dimension Mode_sortie (5) dimension Construction d’un entrepôt avec un échantillon de 10% des données réelles. Taille du cube = 16 vues (2n où n est le nombre de dimensions) Utilisation d’Oracle9i, Entreprise Edition Treillis du cube CC(V1) = (5K*18K)+ (14K*12)+ (47K*5) CC(V2) = (5K*18K)+ (14K+12) ECTM 90M V1 54K ECT ECM 90M V2 47K 90M V3 18K 4 Dim ETM CTM 61K V4 603 346K V5 33K CC(V6) = (5K * 18K) EC ET EM CT CM 90M V6 14K 60K V7 184 25K V8 58 216K V9 26K 90K V10 8K 5K E V12 19 C 18K V13 5K Coût de calcul (gauche) (produit des cardinalités approximatives des relations de base) 12 ALL V16 1 T V14 12 5 M V15 3 Dim TM 2 Dim 60 V11 48 1 Dim 4 0 Dim Coût de stockage (droite) (représenté par le nombre de n-uplets du résultat) Sélection des vues à matérialiser Algorithme Greedy[HRU95] Quelques notations: C(v) = Coût de stockage de la vue v. = Relation de dépendance. S = Ensemble de vues sélectionnées. B(v,S) = Bw : Bénéfice de la vue v relative à S wv Bw Bw = C(v) – C(u) si u est la vue de coût minimal dans S, telle que w u et C(v) < C(u), Bw = 0, sinon. Application de l’algorithme Greedy aux données ADELEM 1ère Choix est V4 (Coût (V4) – Coût(V1) * 8) = 53K*8 = 424K, où 8 représente le nombre de vues dépendante de V4 (V4, V7, V8, V11, V12, V14, V15, V16) 2ème Choix est V3 = 144k (36K*4 (V3, V6, V10, V13)), les autres vues dépendantes de V3 ne sont pas prises en compte, car elles donnent un gain plus élevé avec la vue V4. S = {V1, V4, V3, V5, V10, V9, V2, V6} Ensemble ordonné des vues sélectionnées Y : Coût de calcul et de stockage X : sept premières vues ordonnées par rapport à leur coût de calcul Algorithme Greedy Avantages: Inconvénient majeur: Simplicité Certaine efficacité (coût de stockage) Pas des paramètres, comme: fréquence de la requête, fréquence des mises à jour, coût de maintenance ou de calcul. Dans notre expérimentation, à partir du 6ème choix, il sélectionne les vues plus coûteuses (V2 et V6). Ceci nous motive pour un mécanisme de sélection plus efficace. Algorithme proposé Paramètres Bg = Bénéfice de Greedy Fréquence d’utilisation (fq) fq(v) = nombre de relations dépendantes de la vue v (complexité) B(v, S) = Bg * fq(v) - (CC(v) + PC(v)) CC(v) = Coût de calcul divisé par le nombre de relations dépendantes de v. Exple. CC(V2) = ((5K*18K) + (14K*12))/8 90M/8 =11M où 8 = nombre total des relations dépendantes de V2 PC(v) = Probabilité de changement des relations de base multiplié par le coût de calcul Hypothèse de 20% de changement des éléments du schéma Exple. V2 a 3 dimensions et 30 attributs qui peuvent changer PC(V2) = (3300/36*.20)*11M = 2M B(V2,S) = Bg * fq(V2) – (CC(V2) + PC(V2)) Application de notre algorithme 1ère Choix est V4 (Bg*fq) – ((CC(v)/fq) + PC(v)) = 3M (53K * 8)*8 – ((61K/8) * 1.18) où 8 représente le nombre de vues dépendante de V4 (V4, V7, V8, V11, V12, V14, V15, V16) 2ème Choix est V5 = 626K (21K*4*8)((346K/8)*1.06), où 4 est (V3, V6, V10, V13), les autres vues dépendantes de V5 ne sont pas prises en compte, car elles donnent un gain plus élevé avec la vue V4. S = {V1, V4, V5, V10, V11, V8, V15, V14} Ensemble ordonné des vues sélectionnées Y : Coût de calcul et de stockage X : sept premières vues ordonnées par rapport à leur coût de calcul Résultats Notre algorithme donne de meilleurs résultats pour notre cas expérimental. Vues sélectionnées: 3 Dim 2 meilleures vues (V4 et V5) 2 Dim 3 meilleures vues (V8, V10 et V11) 1 Dim 2 meilleures vues (V14 et V15) Faiblesses: Absence du coût d’évaluation d’une requête par rapport au type d’opération (Select, Project ou Join) Nous ne prenons pas en compte les restrictions éventuelles sur l’espace de stockage Plan Conception du schéma Projet ADELEM Sources et indicateurs Schéma pour ADELEM Algorithme pour la sélection des vues à matérialiser Algorithme Greedy Notre proposition Conclusions Bilan du travail réalisé Description du schéma conçu Algorithme pour la sélection matérialiser des vues à Paramètres: fréquence d’utilisation, coût de calcul et probabilité de changement des relations de base Faiblesse: Absence du coût d’évaluation d’une requête par rapport au type d’opération (Select, Project ou Join) Nous ne prenons pas en compte les restrictions éventuelles sur l’espace de stockage Expérimentation sur Oracle9i Questions? Application de l’algorithme Greedy aux données ADELEM 1ère Choix est V4 (Coût (V4) – Coût(V1)) = 424K (53K * 8) où 8 représente le nombre de vues dépendante de V4 (V4, V7, V8, V11, V12, V14, V15, V16) 2ème Choix est V3 = 144k (36K*4 (V3, V6, V10, V13)), les autres vues dépendantes de V3 ne sont pas prises en compte, car elles donnent un gain plus élevé avec la vue V4. Application de notre algorithme 1ère Choix est B(V4,S) = Bg * fq(V4) – (CC(V4) + PC(V4)) = 3M (424K*8) – ((61K/8)*1.18) où 8 représente le nombre de vues dépendante de V4 (V4, V7, V8, V11, V12, V14, V15, V16) 2ème Choix est V5 = 626K (21K*4*8)-((346K/8)*1.06), où 4 est (V3, V6, V10, V13), les autres vues dépendantes de V5 ne sont pas prises en compte, car elles donnent un gain plus élevé avec la vue V4.