Vous êtes sur la page 1sur 8

BD rparties 1

Conception d'une base


rpartie
BD rparties 2
Conception de schma rparti
Deux approches possibles :
schma global existe et il faut le rpartir : cas d'une migration
d'une solution centralise vers une solution rpartie
schma global n'existe pas mais on dispose d'un ensemble de
schmas locaux que l'on veut intgrer en un schma global
(intgration de schma)
Variantes existent :
les sites locaux peuvent n'exporter qu'une partie de leur schma
les sites locaux n'ont pas forcment de schma (systme de
fichiers ou site Web par exemple)
BD rparties 3
Intgration de schma
Prendre plusieurs schmas et les intgrer
(synthtiser) en un seul
ne se ramne pas de l'union
il faut comparer les abstractions de chaque schma local et
ventuellement dtecter qu'elles sont identiques ou de
simples variantes l'une de l'autre
problme avec dimension syntaxique (les langages ne sont
pas forcment les mmes) et surtout smantique
difficilement automatisable mais il existe des outils d'aide
BD rparties 4
Quelques architectures types
BD rpartie avec schma global
BD fdre
BD rpartie avec mdiateur et wrappers
BD rparties 5
BD rpartie aec schma global
BD 1 BD 1 BD 2 BD 2 BD 3 BD 3
SL 1 SL 1 SL 2 SL 2 SL 3 SL 3 SG SG
Client 1 Client 1 Client 2 Client 2
SG SG
SG SG
Chaque site dispose d'un schma local (SL) Chaque site dispose d'un schma local (SL)
et du schma global (SG) et du schma global (SG)
Chaque client peut s'adresser soit au schma global Chaque client peut s'adresser soit au schma global
soit un schma local soit un schma local
BD rparties 6
BD dre
SE1 SE1
SL1 SL1
BD1 BD1
SE2 SE2
SL2 SL2
BD2 BD2
SE3 SE3
SL3 SL3
BD3 BD3
SF1 SF1 SF2 SF2
Client 1 Client 1 Client 2 Client 2
SF : schma fdr SF : schma fdr
SE : schma externe SE : schma externe
SL : schma local SL : schma local
BD : base de donnes BD : base de donnes
BD rparties
Aantages , Inconnients
Architecture complexe
les BD ne sont pas forcment homognes
(langage des SL peuvent tre diffrents mais
mme langage pour les SE et les SF)
une BD peut exporter une partie de son
schma (plus grande autonomie)
on peut crer plusieurs fdrations partir
des mmes BDs
BD rparties 8
BD dre aec mdiateur et
wrappers
SL1 SL1
BD1 BD1
SL2 SL2
BD2 BD2
BD Oracle BD Oracle
Fichiers structurs Fichiers structurs
mdiateur mdiateur
Wrapper Wrapper 1 1 Wrapper Wrapper 2 2
Client 1 Client 1 Client 2 Client 2
SG SG
BD rparties 9
Mdiateur et wrappers
Chaque BD possde son propre langage et ne
dispose pas forcment d'un "vrai" SL
le mdiateur dispose d'un schma global homogne
peut tre relationnel, objet ou bien XML
pas forcment un "vrai" schma global
wrapper est un traducteur du langage du mdiateur
vers le langage de la BD
ne supporte pas forcment toutes les fonctionnalits (p.e
jointure ou mises jour)
ncessite l'criture d'un wrapper pour toute nouvelle source
de donnes (gnration automatique de wrappers est
tudie)
BD rparties 10
Conception de schma rparti
On prsente ici le cas de la rpartition d'un
schma centralis existant
Schma centralis Schma centralis
Ensemble de requtes Ensemble de requtes
optimiser optimiser
Algorithme Algorithme
de conception de conception
Schma rparti "optimal" Schma rparti "optimal"
BD rparties 11
Principes de conception
Pas de pertes d'information
Reconstruction possible
Partition / Duplication
Dcouper une relation en relations plus Dcouper une relation en relations plus
petites petites
Fragmentation Fragmentation
Critres de fragmentation Critres de fragmentation
BD rparties 12
Prsentation de l'exemple
NE NE NC NC DUREE DUREE VILLE VILLE
E1 E1
E2 E2
E3 E3
E4 E4
C1 C1
C2 C2
C4 C4
C2 C2
3 3
4 4
2 2
10 10
Grenoble Grenoble
Paris Paris
Damas Damas
Genve Genve
Travaille_pour Travaille_pour
NE NE ENOM ENOM AGE AGE
E1 E1
E2 E2
E3 E3
E4 E4
SH SH
ML ML
FE FE
RB RB
34 34
40 40
26 26
45 45
Employs Employs
NC NC CNOM CNOM NBEMP NBEMP
C1 C1
C2 C2
C3 C3
C4 C4
BU BU
IB IB
BO BO
SW SW
30 30
80 80
5 5
10 10
Compagnies Compagnies
BD rparties 13
Direntes ragmentations
Horizontale
Par voisinage
Verticale
BD rparties 14
lragmentation horizontale
On dcompose une relation
en groupes de n-uplets
Les groupes sont dfinis par
des prdicats de slection
Dfinitions Dfinitions
Avantage Avantage
Favorise les requtes portant sur les Favorise les requtes portant sur les
prdicats de fragmentation prdicats de fragmentation
BD rparties 15
Lxemple
Compagnies1 = Compagnies1 =
NBEMP < 30 NBEMP < 30
(Compagnies) (Compagnies)
Compagnies2 = Compagnies2 =
NBEMP NBEMP 30 30
(Compagnies) (Compagnies)
BD rparties 16
Lxemple
NC NC CNOM CNOM NBEMP NBEMP
C3 C3
C4 C4
BO BO
SW SW
5 5
10 10
Compagnies1 Compagnies1
NC NC CNOM CNOM NBEMP NBEMP
C1 C1
C2 C2
BU BU
IB IB
30 30
80 80
Compagnies2 Compagnies2
Compagnies1 = Compagnies1 =
NBEMP < 30 NBEMP < 30
(Compagnies) (Compagnies)
Compagnies2 = Compagnies2 =
NBEMP NBEMP 30 30
(Compagnies) (Compagnies)
BD rparties 1
Lxemple
Laluation des criteres
Perte Perte
d'information d'information
Dpend Dpend
du choix du choix
des prdicats des prdicats
Reconstruction Reconstruction Par Union Par Union
Partition Partition
/ /
Duplication Duplication
Dpend Dpend
du choix du choix
des prdicats des prdicats
BD rparties 18
lragmentation par oisinage
C'est une fragmentation
horizontale qui se calcule en
rfrence une autre
fragmentation horizontale
Dfinition Dfinition
Avantage Avantage
Favorise les requtes portant sur une Favorise les requtes portant sur une
jointure jointure
BD rparties 19
Lxemple
NE NE NC NC DUREE DUREE VILLE VILLE
E1 E1
E2 E2
E3 E3
E4 E4
C1 C1
C2 C2
C4 C4
C2 C2
3 3
4 4
2 2
10 10
Grenoble Grenoble
Paris Paris
Damas Damas
Genve Genve
Travaille_pour Travaille_pour
NC NC CNOM CNOM NBEMP NBEMP
C3 C3
C4 C4
BO BO
SW SW
5 5
10 10
Compagnies1 Compagnies1
NC NC CNOM CNOM NBEMP NBEMP
C1 C1
C2 C2
BU BU
IB IB
30 30
80 80
Compagnies2 Compagnies2
BD rparties 20
Lxemple
Ide : Utiliser la proprit de jointure Ide : Utiliser la proprit de jointure
NE NE NC NC DUREE DUREE VILLE VILLE
E1 E1
E2 E2
E4 E4
C1 C1
C2 C2
C2 C2
3 3
4 4
10 10
Grenoble Grenoble
Paris Paris
Genve Genve
Travaille_pour2 Travaille_pour2
NE NE NC NC DUREE DUREE VILLE VILLE
E3 E3 C4 C4 2 2 Damas Damas
Travaille_pour1 Travaille_pour1
BD rparties 21
Mode de calcul des ragments
R S =
R-attributs
(R S)
Travaille_pour1=Travaille_pour Compagnies1
Travaille_pour2=Travaille_pour Compagnies2
R S =
R-attributs
(R S)
Travaille_pour1=Travaille_pour Compagnies1
Travaille_pour2=Travaille_pour Compagnies2
Dfinition de la Dfinition de la semi semi- -jointure jointure
BD rparties 22
Lxemple de calcul
NE NE NC NC DUREE DUREE VILLE VILLE
E1 E1
E2 E2
E3 E3
E4 E4
C1 C1
C2 C2
C4 C4
C2 C2
3 3
4 4
2 2
10 10
Grenoble Grenoble
Paris Paris
Damas Damas
Genve Genve
Travaille_pour Travaille_pour
NC NC CNOM CNOM NBEMP NBEMP
C3 C3
C4 C4
BO BO
SW SW
5 5
10 10
Compagnies1 Compagnies1
NE NE NC NC DUREE DUREE VILLE VILLE
E3 E3 C4 C4 2 2 Damas Damas
Travaille_pour1 Travaille_pour1
BD rparties 23
Lxemple
Laluation des criteres
Perte Perte
d'information d'information
Pas de perte Pas de perte
si base si base
cohrente cohrente
Reconstruction Reconstruction Par union Par union
Partition Partition
/ /
Duplication Duplication
Dpend Dpend
de la relation de la relation
par rapport par rapport
laquelle laquelle
on fragmente on fragmente
BD rparties 24
Intrt de la ragmentation par
oisinage
S place par voisinage sur R
R S = (R1 R2) (S1 S2) =
(R1 S1) (R1 S2) (R2 S1) (R2 S2) =
(R1 S1) (R2 S2)
R1 S2 (R2 S1) est vide ou est dj calcul
BD rparties 25
lragmentation erticale
On dcompose une relation
en groupes d'attributs
UNE cl doit apparatre dans
tous les groupes
Dfinition Dfinition
Avantage Avantage
Favorise les requtes avec des Favorise les requtes avec des
projections projections
BD rparties 26
Lxemple
Compagnies1 = Compagnies1 =
NC, CNOM NC, CNOM
(Compagnies) (Compagnies)
Compagnies2 = Compagnies2 =
NC, NBEMP NC, NBEMP
(Compagnies) (Compagnies)
BD rparties 2
Lxemple
NC NC CNOM CNOM
C1 C1
C2 C2
C3 C3
C4 C4
BU BU
IB IB
BO BO
SW SW
Compagnies1 Compagnies1
NC NC NBEMP NBEMP
C1 C1
C2 C2
C3 C3
C4 C4
30 30
80 80
5 5
10 10
Compagnies2 Compagnies2
Compagnies1 = Compagnies1 =
NC, CNOM NC, CNOM
(Compagnies) (Compagnies)
Compagnies2 = Compagnies2 =
NC, NBEMP NC, NBEMP
(Compagnies) (Compagnies)
BD rparties 28
Lxemple
Laluation des criteres
Perte Perte
d'information d'information
Non, Non,
si respect si respect
de la dfinition de la dfinition
Reconstruction Reconstruction Par jointure Par jointure
Partition Partition
/ /
Duplication Duplication
Critre Critre
inapplicable inapplicable
BD rparties 29
Mise en oeure des ragmentations
Fragmentation mixte :
horizontale + verticale
Allocation des fragments
aux sites
Duplication :
efficace en accs
cot lev en mise jour