Conception et optimisation d’un entrepôt de données médicales

26
Conception et optimisation d’un entrepôt de données médicales María Trinidad SERNA-ENCINAS Michel ADIBA Laboratoire LSR-IMAG Juin 2005

description

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 - PowerPoint PPT Presentation

Transcript of Conception et optimisation d’un entrepôt de données médicales

Page 1: Conception et optimisation d’un entrepôt de données médicales

Conception et optimisation d’un

entrepôt de données médicales

María Trinidad SERNA-ENCINASMichel ADIBA

Laboratoire LSR-IMAGJuin 2005

Page 2: Conception et optimisation d’un entrepôt de données médicales

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

Page 3: Conception et optimisation d’un entrepôt de données médicales

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.

Page 4: Conception et optimisation d’un entrepôt de données médicales

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é

Page 5: Conception et optimisation d’un entrepôt de données médicales

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, …

Page 6: Conception et optimisation d’un entrepôt de données médicales

Sources de données

Sources

Tableau Historique

Page 7: Conception et optimisation d’un entrepôt de données médicales

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

Page 8: Conception et optimisation d’un entrepôt de données médicales

Schéma en constellationProjet ADELEM

Page 9: Conception et optimisation d’un entrepôt de données médicales

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)

Page 10: Conception et optimisation d’un entrepôt de données médicales

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)

Page 11: Conception et optimisation d’un entrepôt de données médicales

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

Page 12: Conception et optimisation d’un entrepôt de données médicales

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

Page 13: Conception et optimisation d’un entrepôt de données médicales

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

Page 14: Conception et optimisation d’un entrepôt de données médicales

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.

Page 15: Conception et optimisation d’un entrepôt de données médicales

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}

Page 16: Conception et optimisation d’un entrepôt de données médicales

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

Page 17: Conception et optimisation d’un entrepôt de données médicales

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.

Page 18: Conception et optimisation d’un entrepôt de données médicales

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

Page 19: Conception et optimisation d’un entrepôt de données médicales

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}

Page 20: Conception et optimisation d’un entrepôt de données médicales

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

Page 21: Conception et optimisation d’un entrepôt de données médicales

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

Page 22: Conception et optimisation d’un entrepôt de données médicales

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

Page 23: Conception et optimisation d’un entrepôt de données médicales

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

Page 24: Conception et optimisation d’un entrepôt de données médicales

Questions?

Page 25: Conception et optimisation d’un entrepôt de données médicales

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.

Page 26: Conception et optimisation d’un entrepôt de données médicales

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.