Conception et optimisation d’un
entrepôt de données médicales
María Trinidad SERNA-ENCINASMichel ADIBA
Laboratoire LSR-IMAGJuin 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 LaboratoireTIMC
L’OrganisationMondiale
de la Santé
Le laboratoire deBiométrie et
BiologieÉvolutive
Le laboratoireLSR
Le projetADELEM
Le projet ADELEM consiste en la mise au point d'outils logiciels nécessaires à l'aide à la décision logistique et médicale.
Laboratoire de Biométrie et Biologie de Lyon
Indicateur d’offre de soins : le nombre de lits par établissement
LaboratoireDe BiométrieEt Biologie De Lyon
Année : 2000
Source :Ministère deLa 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 - spatio-temporels) 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 constellationProjet ADELEM
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 (1/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)}
Description du schéma (2/2)
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 cubeECTM
V1
CTMV5
ETMV4
ECMV3
ECTV2
CTV9
ETV7
ECV6
TV14
CV13
EV12
ALLV16
TMV11
CMV10
EMV8
MV15
90M 61K 346K
60K 25K 216K 90K 60
5K 18K
47K
18K 603 33K
14K 184 58 26K 8K 48
19 5K 12 4
1
54K
Coût de calcul (gauche)(produit des cardinalités approximatives des relations de base)
Coût de stockage (droite)(représenté par le nombre de n-uplets du résultat)
90M
CC(V6) = (5K * 18K)
90M
12
CC(V2) = (5K*18K)+(14K+12)
5
90M
CC(V1) = (5K*18K)+(14K*12)+(47K*5)
4 Dim
3 Dim
2 Dim
1 Dim
0 Dim
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
w v 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: Simplicité Certaine efficacité (coût de stockage)
Inconvénient majeur: 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.
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))
Algorithme proposé Paramètres
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
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
Résultats
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 des vues à
matérialiser 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.