Académique Documents
Professionnel Documents
Culture Documents
Introduction
BD distribue / rplique =
Plusieurs SGBD Plusieurs sites (ventuellement) Des donnes vues comme un tout cohrent
En gnral, vue comme une base unique Eventuellement un assemblage htrogne vace un noyau rendu cohrent
BD distribue / BD rpartie
Les tables du schma sont rparties sur diffrentes bases, situes sur diffrent(e)s (instances du) SGBD Une mme table peut tre clate entre les diffrents sites Plusieurs exemplaires d'une base situs sur diffrentes instances du SGBD Les exemplaires sont maintenus en cohrence, avec ventuellement un dlai Exemplaires modifiables? consultables?
BD Rplique
Objectif du cours
Mise en oeuvre pratique (partielle) Prsentation de la rpartition /rplication dans d'autres SGBDs
spcifi ue !
du SGBD" a#ec un ou des $roupes
propritaire
spcifi ues
%uels
Ser#eur Interface
dadministration Interface dinterro$ation Utilitaires de sau#e$arde Interface rseau (tns listener sous &racle)
7
Fichiers de donnes
(rincipe
utilisateurs s-st*mes
Donnes
Ces
.e
'
Tablespaces
Un
) Donnes utilisateurs 425( ) Donnes temporaires (calculs) S6S425 ) dictionnaire de donnes et procdures stoc1es 4&&.S ) audit" etc7 3BS ) 3oll/ac1
Tablespaces et fichiers
4a/lespace
89
de /ase ) /loc de donnes dcoupa$e lo$i ue ) se$ments un se$ment : une ta/le (ou un cluster) si le se$ment est plein ) e+tension .e mcanisme de+tension est $r par des r*$les (taille e+tension" pourcenta$e daccroissement) Ces r*$les sont $lo/ales au ta/lespace 2lles peu#ent <tre surchar$es lors de la dfinition de la ta/le
88
4a/lespace
C32>42 4>B.2S(>C2 nomts D>4>;I.2 ?," SI@2 ++5 D2;>U.4 S4&3>G2 ( IAI4I>. ++B A2C4 --B 5IA2C42A4S ii 5>C2C42A4S DD (C4IAC32>S2 EE)
4a/le
C32>42 4>B.2 ( ,77 ) S4&3>G2 ( IAI4I>. ++B A2C4 --B 5IA2C42A4S ii 5>C2C42A4S DD (C4IAC32>S2 EE)F
8=
#ration d$tilisateur
C32>42
US23 nom ID2A4I;I2D B6 passwd D2;>U.4 4>B.2S(>C2 ts1 425(&3>36 4>B.2S(>C2 ts2 %U&4> , &A , H(3&;I.2 profIF (3&;I.2:limitations
8G
%&les et pri'il(!es
pri#il*$es 3Kle
e+emples
Suppression
32L&B2
) 32L&B2
8J
de se connecter M la /ase et de $rer des donnes (cration et suppression de ta/les" dinde+" de clusters"de s uences" de #ues777)
85
BD rpartie
*ourquoi rpartir +
*arce que ,a prsente un intr-t. %ites distants / localiser les acc0s aux donnes 1orte char'e / multiplier les points d2acc0s 4 sans 5 contr)le au niveau des donnes 6plateformes applications( moniteurs transactionnels7 4 avec 5 contr)le 8 ce niveau $ %9B: rparti
3omment rpartir +
Dfinition
Une base de donnes rpartie (distribue) est une base de donnes logique dont les donnes sont distribues sur plusieurs SGBD et visibles comme un tout. Les donnes sont changes par messages Si les donnes sont dupliques, on parle plutt de BD rplique
+rincipe fonda"ental
P P P P P P P P P P P
N 4o the user" a distri/uted s-stem should loo1 e+actl- li1e a nondistri/uted s-stem7 O (C7 Date" Introduction to Data/ase S-stems) >utonomie locale 2$alit entre sites (pas de site N central O) ;onctionnement continu (pas dinterruption de ser#ice) .ocalisation transparente ;ra$mentation transparente Indpendance M la rplication 2+cution de re u<tes distri/ues Gestion de transactions rparties Indpendance #isQMQ#is du matriel Indpendance #isQMQ#is du S-st*me d2+ploitation Indpendance #isQMQ#is du rseau Indpendance #isQMQ#is du SGBD
80
>utonomie locale
.a BD locale est compl*te et autonome (int$rit" scurit" $estion)" elle peut #oluer indpendamment des autres (up$rades,) Un site en panne ne doit pas emp<cher le fonctionnement des autres sites (mais pertur/ations possi/les) Distri/ution permet rsistance au+ fautes et au+ pannes (en thorie)
;onctionnement continu
=9
.ocalisation transparente
>cc*s uniforme au+ donnes uel ue soit leur site de stoc1a$e Des donnes (dune m<me ta/le) parpilles doi#ent <tre #ues comme un tout .es donnes rpli ues doi#ent <tre maintenues en cohrence (dlai possi/le)
=8
;ra$mentation transparente
Indpendance M la rplication
3e u<tes distri/ues
.e+cution dune re u<te peut <tre rpartie (automati uement) entre plusieurs sites (si les donnes sont rparties) .e mcanisme de transactions peut <tre rparti entre plusieurs sites (si ,) .e SGBD fonctionne sur les diffrentes plateformes utilises
4ransactions rparties
==
Indpendance #isQMQ#is du S2
.e SGBD fonctionne sur les diffrents S2, .e SGBD est accessi/le M tra#ers les diffrents t-pes de rseau utiliss
=G
BD distri/ue
Un schma $lo/al .es donnes sont rparties sur plusieurs sites" accessi/les M partir du site central ou de tous les sites Cha ue site a son schma local" pas forcment inclus enti*rement dans le schma $lo/al (il - a un site central) (as de schma $lo/al" pas de site central7 >cc*s M (une partie des) donnes distantes7 2+ ) fdre : approche ascendante partielle ,
=J
BD fdre
S-st*me multiQ/ases
#onception de BD rpartie
Dmarche de conception dlicate Gestion comple+e .#olution du SI peut in#alider la solution retenue, Lolumes de donnes" sites distants" etc7 ;usions de SI
=5
=6
;aire communi uer les sites 3partir les donnes >ssurer la cohrence $lo/ale .e tout sous &racle777
=7
;aire communi uer les sites 3partir les donnes >ssurer la cohrence $lo/ale
='
Cha ue SGBD dispose dun dmon permettant les conne+ions distantes" sur un mode client Q ser#eur
Listener (mdiateur) Nom >> doit tre unique !!! dresse !roto"ole
=0
12e"ple 3 Oracle
(ermet la distri/ution et la rplication >ssure une /onne transparence M diffrents ni#eau+ S-st*me de nomma$e simple
Database 4in5
Il correspond M une /ase connue (e7$7 dans le tnsnames7ora) Il porte le m<me nom ue cette /ase Il est mono directionnel Il peut <tre pu/lic ou pri# CSest un o/Det de la /ase (persistant) Identit de lSutilisateur ! >cc*s ta/le distante ) schma7ta/leTlien
V s#cUmaint7empTsales7france7europe7computers
G8
Transparence
G=
Gestion indpendante" up$rades localiss, .es utilisateurs et leurs rKles doi#ent <tre connus sur cha ue site accd (ossi/ilit dutiliser un Securit- Ser#er 2ncr-pta$e
Scurit
;aire communi uer les sites 3partir les donnes >ssurer la cohrence $lo/ale
GJ
Conception ascendante
Conception descendante
G5
Conception ascendante
Identifier les donnes sem/la/les >ccorder leurs t-pes" $rer leur cohrence, Interfacer ou adapter les SGBD, 2+ ) fusion" mise en place DW
Conception descendante
&n part de Ero (nou#elle /ase) 3echerche de performance (pas forcment de rpartition $o$raphi ue) >sseE peu fr uent
G6
G7
;ra$mentation horiEontale
;ra$mentation #erticale
.es tuples sont dcoups et fra$ments Acessite colonne commune (cl ou uni ue) dupli ue
G'
Fra!"entation hori6ontale
2n conception descendante
>d uation $o$raphi ue 3echerche de performance (IX&" traitements) Des donnes compara/les dans diffrentes /ases (/ ) consolidation correcte (unicit des cls" t-pes des attri/uts,)
2n conception ascendante
G0
Fra!"entation 'erticale
&n proDette la ta/le sur des attri/uts diffrents sui#ant site7 Comme fra$7 horiEontale" peut correspondre M consolidation ou recherche de perf7 .a reconstruction des tuples doit <tre possi/le (et #alide) 5<mes pro/l*mes ue f7h7
J9
(lacer deu+ ta/les en relation de mani*re M localiser les Dointures Une des deu+ ta/les doit <tre fra$mente en fonction de lautre (semi Dointure) (lutKt en approche descendante (eut introduire des redondances
J8
3Z" etc7 (lutKt e+primental (as de fra$mentation e+plicite au ni#eau du schma >ssem/la$e : cration de #ue (ou de snapshot) Distri/ution des donnes !
J=
Insertion $lo/ale
>cc*s transparent
JJ
;ra$7 YoriEontale
C32>42 LI2W L8 >S S2.2C4 4a/le87cle" 4a/le87attr8 ;3&5 4a/le8Tsite8 UAI&A S2.2C4 4a/le=7cle" 4a/le=7attr8 ;3&5 4a/le=Tsite=
J5
;ra$7 Lerticale
C32>42 LI2W L8 >S S2.2C4 4a/le87cle" 4a/le87attr8" 4a/le=7attr= ;3&5 4a/le8Tsite8" 4a/le=Tsite= WY232 4a/le87cle:4a/le=7cle lattri/ut de fra$mentation nest pas forcment la cl primaire, 2n fra$7 #erticale" il faut au nanmois ue ce soit une cl
J6
3emar ue )
%e-u9te rpartie
.es oprations prcdentes (par e+emple) acc*dent M des donnes situes sur diffrents sites7 .e SGBD $*re les acc*s distants en rpartissant la re u<te
2+cution distante de la sous re u<te 3cupration de donnes rsultat >ssem/la$e local (re u<te en lecture)
J7
;aire communi uer les sites 3partir les donnes >ssurer la cohrence $lo/ale
J'
#ohrence et rpartition
Ytro$nit Contraintes
V (eut appara\tre M plusieurs ni#eau+ V (lus comple+e uSen mono site" surtout uand la contrainte impli ue plusieurs fra$ments777
J0
Gestion de lhtro!nit
S2 et rseau ) $r par SGBD (si N /on O SGBD) Lersion de SGBD ) ni#eau de SGBD le plus ancien SGBD ) p/ des dialectes de S%. passerelles entre SGBD 2+ ) &DBC (au dpart sous Windo]s mais port sous dautres &S) 2+ ) passerelles propritaires SGBD M SGBD
59
4-pes de contraintes
12e"ples
Se $*re par fra$ment Gra/le par fra$ment Glo/alement ! 3plication &B" ;ra$mentation B& Utilisation de tri$$er Site ma\tre pour numrotation ^^ perte autonomie (as $r en interQ/ases 3plication &B" ;ra$mentation B& Utilisation tri$$er
Unicit
Int$rit 3frentielle
+robl("es d:unicit
5G
5J
#o"pl"ents
[ [ 777 sur les liens entre /ases de donnes >pporte des prcisions utiles par la suite (rplication)
55
G t-pes de liens )
Connected user
5ode de /ase ) m<me utilisateur en local et distant Ce nest pas ncessairement le crateur du lien Si lien utilis M partir de procdure" identification en temps ue propritaire de la procdure Intr<t ! Utilisateur fi+e7 Intr<t !
56
Current user
;i+ed user
12e"ples
C32>42 D>4>B>S2 .IAB #entes7ulp7fr USIAG ?#entesF C32>42 D>4>B>S2 .IAB #entes7ulp7fr C&AA2C4 4& scott ID2A4I;I2D B6 ti$er USIAG ?#entesF C32>42 D>4>B>S2 .IAB #entes7ulp7fr C&AA2C4 4& CU332A4UUS23 USIAG ?#entesF 3emar ue ) USIAG Q^ nom du ser#iceR
57
Lisi/ilit )
(u/lic
(rati
(ri#ate
_
(dfaut)
scuris" accessi/le uni uement au propritaire et M ses sousQpro$rammes de nimporte uelle /ase" mais suppose une $estion centrale (director- ser#er)
Glo/al
>ccessi/le
5'
e2e"ples
C32>42 (UB.IC D>4>B>S2 .IAB #entes7ulp7fr USIAG ?#entesF C32>42 (UB.IC D>4>B>S2 .IAB #entes7ulp7fr C&AA2C4 4& scott ID2A4I;I2D B6 ti$er USIAG ?#entesF C32>42 (UB.IC D>4>B>S2 .IAB #entes7ulp7fr C&AA2C4 4& CU332A4UUS23 USIAG ?#entesF
50
;ermeture
Utile
Suppression
D3&(
69
Infos utiles.
4a/les
DB>UDBU.IABS ) tous les liens >..UDBU.IABS ) tous ceu+ accessi/les par lutilisateur US23UDBU.IABS ) tous ceu+ ui lui appartiennent L`DB.IAB ) tous les liens ou#erts par la transaction &(2AU.IABS ) nom/re de liens simultans dans une m<me session (dfaut J" 9 : pas de limite) (IAI47&3>)
(aramtra$e
68
4iens parta!s
Un lien peut <tre parta$ par plusieurs utilisateurs 5ot cl N shared O CREATE SHARED DATABASE LINK nomlien HC&AA2C4 4& util ID2A4I;I2D B6 pass]d Ia HC&AA2C4 4& CU332A4UUS23I AUTHENTICATED BY schema IDENTIFIED BY passwd HUSIAG ?ser#iceI >uthentification pour le lien" conne+ion au schma distant sui#ant mode de conne+ion choisi Intr<t ) si /eaucoup de conne+ions" sinon surcobt (poolin$) (eut <tre connect #ers ser#eur M processus ddis ou parta$s
6=
ue /ase est identifie par un nom et un domaine7 .e nom complet doit <tre uni ue Utile a#ec les liens" indispensa/le pour la rplication
(aramtra$e
G.&B>.UA>52S
(IAI47&3>)
6G
) dans IAI47&3>
6J
Site insertion R: site de stoc1a$e (fra$ment) &n dispose dSun crit*re e+plicite (automati ue) de choi+ du fra$ment &n met en place un traitement automati ue
tri$$er
65
Tri!!er
(eut comporter D2C.>32 et 2CC2(4I&A777 5odification du contenu dSune ta/le >;423 X B2;&32 X IAS42>D &; IAS234 X D2.242 X U(D>42 4ri$$er : dclencheur (our contrKle (our correction X modification
66
)A2W 2+emple ) )A2W7cle )&.D 2+emple ) )&.D7pri+ 2+emple ! (our un acc*s indi#iduel au+ tuples il faut prciser uSil sSa$it dSun tri$$er ;&3 2>CY 3&W
67
L>.U2S
6'
Comment procder !
60
DB2 permet l'accs aux donnes entre bases DB2 DB2 permet l'accs des donnes provenant d'autres SGBD : Wrappers