Vous êtes sur la page 1sur 129

Bases de donnes rparties

Prsentation Gnrale
Matthieu Exbrayat
Licence Pro Informatique
200!200"
2
#u$est!ce qu$une base de donne
distribue

%n ensemble de donnes structures&


rparties entre plusieurs sites& a'ec un sens
(lobal)

Pourquoi rpartir *

Parce que +a prsente un intr,t-

.ites distants / localiser les acc0s aux donnes

1orte char(e / multiplier les points d$acc0s

2omment rpartir *

3 sans 4 contr5le au ni'eau des donnes


6plateformes applications& moniteurs
transactionnels7

3 a'ec 4 contr5le 8 ce ni'eau 9 .GB: rparti


;
<b=ectif du cours

2oncepts des bases de donnes

Manipulation de donnes

2ration de structures 6tables7

Gestion du .GB:

Illustration sous <racle

2rer une base& des tables& des utilisateurs

Les .GB: distribus

2oncepts et ralit

>otion de transactions rparties


4
Premi0re Partie
:finition et manipulation de donnes
sous <racle
?
<b=ectifs du cours

.a'oir manipuler des donnes

sqlplus

Rappels SELECT, INSERT, UPDATE

2onna@tre les bases de l$administration de


B:

Installation SGBD

Gestion BD, sch!a, utilisateu"s

.a'oir construire et interro(er une B:


distribue

Snapshots et acc#s $istant

Le tout a'ec <racle


A
.#L Plus

Lancement 6sous linux7

/ sqlplus

demande lo(in et passBord

%tilisation

.aisie directe des requ,tes& termines par


3 C 4

Dutre possibilit

Interface Beb isqlplus


E
.elect

.ELE2F attributs 1G<M tables


HIJEGE criteresKselL
HGG<%P BM attrK(roup HJDNI>G criteresKha'LL
H<G:EG BM attrKordre HD.2O:E.2LL

attributs 9 HFableP)LDttrP& HFable2)LDttr2Q


ou R

tables 9 FableP HaliasPL& Fable2 Halias2LQ

criteresKsel 9 selection& =ointure& I>& H><FL


ESI.F.Q

attrK(roup 9 HFableP)LDttrP& HFable2)LDttr2Q

criteresKha' 9 similaires 8 criteresKsel

attrKordre 9 HFableP)LDttrP& HFable2)LDttr2Q

Exemples

.ELE2F R 1G<M EtudiantC

.ELE2F nom&prenom 1G<M Etudiant


IJEGE a(e T 20C

.ELE2F nom& prenom 1G<M Etudiant


IJEGE nom LIUE V:%W VC

.ELE2F nom& prenom 1G<M Etudiant


IJEGE nom LIUE V:%P<>K VC
"
Exemples 627

.ELE2F nom& prenom 1G<M


Etudiant&>ote IJEGE 'aleurT D>:
Etudiant)numetudX>ote)numetudC

.ELE2F nom& prenom 1G<M


Etudiant&>ote&Matiere IJEGE 'aleurT
D>: nommat LIUE VB:$ D>:
Matiere)nummatX>ote)nummat D>:
Etudiant)numetudX>ote)numetudC
P0
Exemple 6;7

.ELE2F nom&prenom&DNG6'aleur7
1G<M Etudiant& >ote
IJEGE
Etudiant)numetudX>ote)numetud
GG<%P BM nom&prenom
<G:EG BM nom&prenom
PP
2ration de table

2GEDFE FDBLE nomtable 6


col type H:E1D%LF valLHcontrainte colL&
Q
Hcontrainte tableL
7C

contrainte

2<>.FGDI>F nom type

contrainte col

%>I#%E& PGIMDGM UEM& ><F >%LL

GE1EGE>2E. table H6col7L H<> :ELEFE 2D.2D:EL

2JE2U 6condition7

contrainte table

%>I#%E6 col1& col2&Q7& PGIMDGM UEM6col1& col2&Q7

1<GEIG> UEM 6colP& col2& )))7 GE1EGE>2E. table H6col1& col2& Q7L
H<> :ELEFE 2D.2D:EL

2JE2U 6condition7
P2
2ration de table 8 partir de
donnes existantes

2GEDFE FDBLE nom 6


attrP type P&
Q 7
D. .ELE2F Q
P;
Fypes de donnes
PY
2on'ersions D>.I O <racle
ANSI SQL Datatype Oracle Datatype
NUMERIC(p,s)
DECIMAL(p,s) NUMBER(p,s)
INTEGER
INT
SMALLINT NUMBER(38)
FLOAT(b)
DOUBLE PRECISION
REAL NUMBER
ANSI SQL Datatype Oracle Datatype
CHARACTER(n)
CHAR(n) CHAR(n)
CHARACTER VARYING(n)
CHAR VARYING(n) VARCHAR(n)
NATIONAL CHARACTER(n)
NATIONAL CHAR(n)
NCHAR(n) NCHAR(n)
NATIONAL CHARACTER VARYING(n)
NATIONAL CHAR VARYING(n)
NCHAR VARYING(n) NVARCHAR2(n)
P?
Exemples de cration de table
2GEDFE FDBLE Matiere 6
nummat >%MBEG6?7 2<>.FGDI>F PUMatiere PGIMDGM UEM&
nommat NDG2JDG26Y07 7C
2GEDFE FDBLE Etudiant 6
numetud >%MBEG6?7 2<>.FGDI>F PUEtudiant PGIMDGM UEM&
nom NDG2JDG26;07&
prenom NDG2JDG26;07&
a(e >%MBEG6277C
2GEDFE FDBLE >ote 6
nummat >%MBEG6?7 2<>.FGDI>F GE1MDF
GE1EGE>2E. Matiere6nummat7&
numetud >%MBEG627 2<>.FGDI>F GE1EF%:
GE1EGE>2E. Etudiant6numetud7&
'aleur >%MBEG62)27&
2<>.FGDI>F PU>ote PGIMDGM UEM6nummat&numetud7
7C
PA
Exemple 627
2GEDFE FDBLE EMP 6
MDFG >%MBEG6?7 2<>.FGDI>F PU PGIMDGM UEM&
><ME NDG2JDG627 2<>.FGDI>F 2% %>I#%E&
:EPF >%MBEG627 2<>.FGDI>F G: GE1EGE>2E. :EPF6:EPF7
2<>.FGDI>F NDL 2JE2U 6:EPF I> 6P& 2& ;& P077&
Q
7
PE
Modification et suppression de
table

DLFEG FDBLE nom


HD:: 6colP typeP& Q7L
HM<:I1M 6colP typeP& Q7L
H:G<P 6coP& Q7L
H:G<P 2<>.FGDI>F constrL

DLFEG FDBLE nom


GE>DME F< nouveauKnom

:G<P FDBLE
P
Index

2GEDFE H%>I#%EL I>:ES nom_index


<> nom_table 6col1& Q7

:G<P I>:ES nom_index H<>


nom_tableL
P"
2ration de tuple

I>.EGF I>F< nomtable H6colP& Q7L


NDL%E. 6'alP& Q7

I>.EGF I>F< nomtable HQL


.ELE2F )))
20
Modification et suppression de
tuple

%P:DFE table
.EF colPXexpP& col2Xexp2&Q
IJEGE Q

%P:DFE table
.EF 6colP&col2Q7 X 6.ELE2F Q7
IJEGE Q

:ELEFE 1G<M table IJEGE )))


2P
>otion de 'ue

%ne 'ue X une requ,te mmorise

2ration 9 2GEDFE NIEI nomK'ue


H6structure7L D. .ELE2F Q

.uppression 9 :G<P NIEI nomK'ue

Intr,t 9 fournit des donnes 3 dduites 4&


donc 9

permet le mmorisation de 3 bouts de requ,tes 4


frquents

permet de faire des interro(ations impossibles dans


un seul .ELE2F
22
Exemple

2GEDFE NIEI M<M 6nom&prenom&moyenn7


D.
.ELE2F nom&prenom&DNG6'aleur7 1G<M
Etudiant& >ote
IJEGE Etudiant)numetudX>ote)numetud
GG<%P BM nom&prenom

.ELE2F nom&prenom&moyenne 1G<M M<M


IJEGE moyenneX6.ELE2F MDS6moyenne7
1G<M M<M7C
2;
>otion de squence

2lX'aleur unique

Dttribution automatique *

2GEDFE .E#%E>2E NomSeq H.FDGF


IIFJ ValeurL

>om.eq)>ESFNDL

>om.eq)2%GGNDL

%tilisation *
24
:euxi0me Partie
Bases d$Ddministration
sous <racle
2?
Mise en place d$une B: *

Installation .GB:

2ration de la Base de :onnes

2ration d$utilisateurs

2ration du 6des7 schma6s7


2A
Installation d$un .GB:

%tilisateur spcifique *

propritaire du .GB:& a'ec un ou des


(roupes spcifiques

#uels composants sont ncessaires *

.er'eur

Interface d$administration

Interface d$interro(ation

%tilitaires de sau'e(arde

Interface rseau 6tns listener sous <racle7


2E
1ichiers de donnes

Principe 9 le .GB: (0re 6toutes7 ses


informations sous forme de donnes
6relationnelles7

:onnes utilisateurs

:onnes& indexQ

:onnes syst0mes

Liste des tables& audit& utilisateursQ

2es donnes sont places dans des fichiers

Le .GB: se char(e de la (estion interne de ces


fichiers
2
Fablespaces

%n tablespace est une structure lo(ique


de stocZa(e de donnes

Principaux tablespaces9

%.EG. 9 :onnes utilisateurs

FEMP 9 :onnes temporaires 6calculs7

.M.FEM 9 dictionnaire de donnes et


procdures stocZes

F<<L. 9 audit& etc)

GB. 9 GollbacZ
2"
Fablespaces et fichiers

Fablespace X or(anisation lo(ique

1ichierX or(anisation physique

%n tablespaceX P ou plusieurs fichiers


;0
D l$intrieur d$un tablespace

dcoupa(e de base 9 bloc de donnes

dcoupa(e lo(ique 9 se(ments

un se(ment X une table 6ou un cluster7

si le se(ment est plein 9 extension

Le mcanisme d$extension est (r par des


r0(les 6taille extension& pourcenta(e
d$accroissement7

2es r0(les sont (lobales au tablespace

Elles peu'ent ,tre surchar(es lors de la


dfinition de la table
;P
Gestion des tailles de se(ments

Fablespace

2GEDFE FDBLE.PD2E nomts


:DFD1ILE VQ$& .I[E xxM
:E1D%LF .F<GDGE 6 I>IFIDL xxU
>ESF yyU
MI>ESFE>F. ii
MDSESFE>F. ==
P2FI>2GED.E \\7

Fable

2GEDFE FDBLE 6 Q))


7
.F<GDGE 6 I>IFIDL xxU
>ESF yyU
MI>ESFE>F. ii
MDSESFE>F. ==
P2FI>2GED.E \\7C
;2
2ration d$%tilisateur

2GEDFE %.EG nom


I:E>FI1IE: BM passwd
:E1D%LF FDBLE.PD2E ts1
FEMP<GDGM FDBLE.PD2E ts2
#%<FD Q <> Q
HPG<1ILE profLC

PG<1ILEXlimitations
;;
G5les et pri'il0(es

pri'il0(es X droits d$effectuer une action

exemples 9 cration table& cration index& etc)

G5le X ensemble prdfini de pri'il0(es

Intr,t *

Dffectation 9 GGD>F

GGD>F priv/rle H<> tableL F< utilisateur

.uppression 9 GEN<UE

GEN<UE priv/rle H<> tableL 1G<M utilisateur


;Y
G5les 6(nralement7 ncessaires

2<>>E2F

GE.<%G2E

Permettent de se connecter 8 la base et


de (rer des donnes 6cration et
suppression de tables& d$index& de
clusters&de squences& de 'ues)))7
35
Bases de :onnes Gparties
2oncepts et Fechniques
Matthieu Exbrayat
LPI ! :cembre 200E
;A
:finition

%ne base de donnes rpartie


6distribue7 est une base de donnes
lo(ique dont les donnes sont
distribues sur plusieurs .GB: et
'isibles comme un tout)

Les donnes sont chan(es par


messa(es

.i les donnes sont dupliques& on


parle plut5t de B: rplique
;E
Principe fondamental

3 Fo the user& a distributed system should looZ exactly liZe a


nondistributed system) 4
62) :ate& Introduction to :atabase .ystems7
`U
Dutonomie locale
`U
E(alit entre sites 6pas de site 3 central 47
`U
1onctionnement continu 6pas d$interruption de ser'ice7
`U
Localisation transparente
`U
1ra(mentation transparente
`U
Indpendance 8 la rplication
`U
Excution de requ,tes distribues
`U
Gestion de transactions rparties
`U
Indpendance 'is!8!'is du matriel
`U
Indpendance 'is!8!'is du .yst0me d$Exploitation
`U
Indpendance 'is!8!'is du rseau
`U
Indpendance 'is!8!'is du .GB:
;

Dutonomie locale
O
La B: locale est compl0te et autonome
6int(rit& scurit& (estion7& elle peut 'oluer
indpendamment des autres 6up(radesQ7

E(alit entre sites


O
%n site en panne ne doit pas emp,cher le
fonctionnement des autres sites 6mais
perturbations possibles7

1onctionnement continu
O
:istribution permet rsistance aux fautes et aux
pannes 6en thorie7
;"

Localisation transparente
O
Dcc0s uniforme aux donnes quel que
soit leur site de stocZa(e

1ra(mentation transparente
O
:es donnes 6d$une m,me table7
parpilles doi'ent ,tre 'ues comme un
tout

Indpendance 8 la rplication
O
Les donnes rpliques doi'ent ,tre
maintenues en cohrence 6dlai possible7
Y0

Gequ,tes distribues
O
L$excution d$une requ,te peut ,tre rpartie
6automatiquement7 entre plusieurs sites 6si les
donnes sont rparties7

Fransactions rparties
O
Le mcanisme de transactions peut ,tre rparti
entre plusieurs sites 6si Q7

Indpendance 'is!8!'is du matriel


O
Le .GB: fonctionne sur les diffrentes
plateformes utilises
YP

Indpendance 'is!8!'is du .E
O
Le .GB: fonctionne sur les diffrents
.EQ

Indpendance 'is!8!'is du rseau


O
Le .GB: est accessible 8 tra'ers les
diffrents types de rseau utiliss

Indpendance 'is!8!'is du .GB:


O
La base peut ,tre distibue sur des
.GB: htro(0nes
O
En thorieQ
Y2
#uelques termes
qui'oquesQ

B: distribue
O
%n schma (lobal
O
Les donnes sont rparties sur plusieurs sites&
accessibles 8 partir du site central ou de tous les
sites

B: fdre
O
2haque site a son schma local& pas forcment
inclus enti0rement dans le schma (lobal 6il y a un
site central7

.yst0me multi!bases
O
Pas de schma (lobal& pas de site central) Dcc0s 8
6une partie des7 donnes distantes)

Mais il existe d$autres dfinitions -


O
Ex 9 fdre X approche ascendante partielle Q
Y;
2onception de B: rpartie

<n ne met en place une B: rpartie


qu$en cas de rel besoin
O
:marche de conception dlicate
O
Gestion complexe
O
L$'olution du .I peut in'alider la solution
retenueQ

:es raisons 'alables 9


O
Nolumes de donnes& sites distants& etc)
O
1usions de .I
YY
:eux approches de
conception

2onception ascendante
O
Part de l$existant
O
Int0(re bases locales
dans schma (lobal

2onception
descendante
O
<n part du schma
(lobal
O
<n le scinde en schmas
locaux
Y?

2onception descendante
O
<n part de \ro 6nou'elle base7
O
Gecherche de performance 6pas forcment de rpartition
(o(raphique7
O
Dsse\ peu frquent

2onception ascendante
O
:istribution pr!existante
O
>cessite consolidation& uniformisation 63 rconciliation smantique
47

Identifier les donnes semblables

Dccorder leurs types& (rer leur cohrenceQ

Interfacer ou adapter les .GB:Q


O
Ex 9 fusion& mise en place :I
YA
.chmas d$une B: rpartie
SE% SE& SE'
SCG
SCL% SCL' SCL&
SIL% SIL' SIL&
Sch!a E(te"ne
Sch!a Conceptuel Glo)al
Sch!a Conceptuel Local
Sch!a Inte"ne Local
YE
1ra(mentation des donnes

1ra(mentation
hori\ontale
O
Les tuples sont rpartis

1ra(mentation
'erticale
O
Les tuples sont
dcoups
et fra(ments
O
>cessite colonne
commune 6cl ou
unique7 duplique
Y
1ra(mentation hori\ontale

En conception descendante
O
Ddquation (o(raphique
O
Gecherche de performance 6IO<&
traitements7

En conception ascendante
O
:es donnes comparables dans
diffrentes bases
O
Pb 9 consolidation correcte 6unicit des
cls& types des attributsQ7
Y"
1ra(mentation 'erticale

<n pro=ette la table sur des attributs


diffrents sui'ant site)

2omme fra() hori\ontale& peut


correspondre 8 consolidation ou
recherche de perf)

La reconstruction des tuples doit ,tre


possible 6et 'alide7

M,mes probl0mes que f)h)


?0
1ra() hori\ontale dri'e

Placer deux tables en relation de


mani0re 8 localiser les =ointures

%ne des deux tables doit ,tre


fra(mente en fonction de l$autre
6semi =ointure7

Plut5t en approche descendante

Peut introduire des redondances


?P
Mise en pratique de la
fra(mentation

Jistorique 9 des .GB:s distribus


O
GR& etc)
O
Plut5t exprimental

:ans les .GB: commerciaux actuels


O
Pas de fra(mentation explicite au ni'eau du
schma
O
Dssembla(e X cration de 'ue 6ou de
snapshot7
O
:istribution des donnes *

%ne solution X tri((ers


?2
Mise en ]u're sous .#L
6Dssembla(e7

1ra() Jori\ontale
O
2GEDFE NIEI NP
D. .ELE2F FableP)cle& FableP)attrP
1G<M FableP^siteP
%>I<>
.ELE2F Fable2)cle& Fable2)attrP
1G<M Fable2^site2
?;
Mise en ]u're sous .#L
6Dssembla(e7

1ra() Nerticale
O
2GEDFE NIEI NP
D. .ELE2F FableP)cle& FableP)attrP&
Fable2)attr2
1G<M FableP^siteP& Fable2^site2
IJEGE FableP)cleXFable2)cle

Gemarque 9
O
l$attribut de fra(mentation n$est pas
forcment la cl primaireQ
O
En fra() 'erticale& il faut au nanmois que ce
soit une cl
?Y
Gequ,te rpartie

Les oprations prcdentes 6par


exemple7 acc0dent 8 des donnes
situes sur diffrents sites)

Le .GB: (0re les acc0s distants en


rpartissant la requ,te
O
Excution distante de la sous requ,te
O
Gcupration de donnes rsultat
O
Dssembla(e local 6requ,te en lecture7
??
Gestion de l$htro(nit

Jtro(nit 3 sans probl0me 4


O
.E et rseau 9 (r par .GB: 6si 3 bon 4
.GB:7
O
Nersion de .GB: 9 ni'eau de .GB: le plus
ancien

Jtro(nit plus dlicate


O
.GB: 9 pb des dialectes de .#L
`U
passerelles entre .GB:
`U
Ex 9 <:B2 6au dpart sous IindoBs mais port
sous d$autres <.7
`U
Ex 9 passerelles propritaires .GB: 8 .GB:
?A
B:G comment +a marche
Application
Cont"*leu" s!antique
Requ+tes "pa"ties
Gestion $e t"ansactions
Sch!a e(te"ne
SCG
Dictionnaire de
rpartition
Gestion $e sous,t"ansactions
Requ+tes locales
SGBD
SCL
-ou"nal $es !o$i.ications
SIL
?E
2ommunication Inter!sites

2haque .GB: dispose d$un dmon permettant


les connexions distantes& sur un mode client !
ser'eur
O
Listener m!diateur"

2haque .GB: dispose d$une table des B:s


accessibles
O
Nom ## doit $tre unique %%%
O
&dresse
O
'rotocole

2ette approche permet aussi un quilibra(e de


char(e transparentQ
?
Exemple 9 <racle

Permet la distribution et la rplication

Dssure une bonne transparence 8 diffrents


ni'eaux

.yst0me de nomma(e simple


O
sales)france)europe)computers

Dcc0s B: distante 9 LI>U


O
2GEDFE :DFDBD.E LI>U salesQ

Dcc0s table distante 9 schma)table^base


O
s'cKmaint)emp^sales)france)europe)computers

Lien public& lien pri'


?"
Fransparence

Localisation 9 synonymes
O
2GEDFE P%BLI2 .M><>MM employes
1<G
s'cKmaint)emp^sales)france)europe)computers

Gequ,tes et transactions

<prations internes

Gplication
A0
2aractristiques

Dutonomie des sites


O
Gestion indpendante& up(rades
localissQ

.curit
O
Les utilisateurs et leurs r5les doi'ent ,tre
connus sur chaque site accd
O
Possibilit d$utiliser un .ecurity .er'er
O
Encrypta(e

Ddministration (lobale 9 enterprise


mana(er
AP
Mise en oeu're en .#L
6Insertion a'ec les tri((ers <racle7

2GEDFE FGIGGEG FrP


I>.FED: <1 I>.EGF on Fable
BEGI>
I1 9>eB)cle T P000 FJE>
I>.EGF I>F< FableP^siteP6cle&attrP7
NDL%E.69>eB)cle&9>eB)attr7C
EL.E
I>.EGF I>F< Fable2^site26cle&attr27
NDL%E. 69>eB)cle&9>eB)attr7C
E>: I1C
E>:C
A2
2omplment sur tri((ers

%tilisables (alement pour update et


delete 69>eB et 9<ld7 pour
O
.uppression 69<ld7
O
Modification hors attribut de distribution
69>eB7
O
Modification attribut de distribution 69>eB
et 9<ld pour 'rifier si bon site7

:oit ,tre crit 3 8 la main 4 par le


dbaQ
A;
Gestion des contraintes
distribues

Fypes de contraintes
O
:omaine
O
%nicit
O
Int(rit rfrentielle

:ans un .GB: centralis& c$est bien (r


O
:ans la dfinition des tables 6principalement7

Le c5t manuel de la distribution limite les


possibilits de (estion des contraintes
O
%tilisation de 'ues // pas de contraintes
AY
Exemples

2hecZ O ><F >%L


O
.e (0re par fra(ment

%nicit
O
Grable par fra(ment
O
Globalement * Gplication <U& 1ra(mentation U<
O
%tilisation de tri((er
O
.ite ma@tre pour numrotation // perte autonomie

Int(rit Gfrentielle
O
Pas (r en inter!bases
O
Gplication <U& 1ra(mentation U<
O
%tilisation tri((er

2a de'ient 'raiment lourd 8 (rerQ


A?
Liens B: 9 notions a'ances

; types de liens 9
O
2onnected user

Mode de base 9 m,me utilisateur en local et distant

2e n$est pas ncessairement le crateur du lien


O
2urrent user

.i lien utilis 8 partir de procdure& identification en


temps que propritaire de la procdure

Intr,t *
O
1ixed user

%tilisateur fixe)

Intr,t *
AA
Exemples

2GEDFE :DFDBD.E LI>U 'entes)ulp)fr


%.I>G V'entes$C

2GEDFE :DFDBD.E LI>U 'entes)ulp)fr


2<>>E2F F< scott I:E>FI1IE: BM ti(er
%.I>G V'entes$C

2GEDFE :DFDBD.E LI>U 'entes)ulp)fr


2<>>E2F F< 2%GGE>FK%.EG
%.I>G V'entes$C

Gemarque 9 %.I>G !/ nom du ser'ice-


AE
Liens B: 9 notions a'ances

Nisibilit 9
O
Public

Pratique si utilis par un (rand nombre


d$utilisateurs
O
Pri'ate 6dfaut7

_ scuris& accessible uniquement au


propritaire et 8 ses sous!pro(rammes
O
Global

Dccessible de n$importe quelle base& mais


suppose une (estion centrale 6directory
ser'er7
A
exemples

2GEDFE P%BLI2 :DFDBD.E LI>U 'entes)ulp)fr


%.I>G V'entes$C

2GEDFE P%BLI2 :DFDBD.E LI>U 'entes)ulp)fr


2<>>E2F F< scott I:E>FI1IE: BM ti(er
%.I>G V'entes$C

2GEDFE P%BLI2 :DFDBD.E LI>U 'entes)ulp)fr


2<>>E2F F< 2%GGE>FK%.EG
%.I>G V'entes$C

:iffrence a'ec pri' *


A"
<prations sur liens

1ermeture
O
%tile si forte char(e
O
DLFEG .E..I<> 2L<.E :DFDBD.E
LI>U lienC

.uppression
O
:G<P :DFDBD.E LI>U lien
E0
Infos utilesQ

Fables
O
:BDK:BKLI>U. 9 tous les liens
O
DLLK:BKLI>U. 9 tous ceux accessibles par
l$utilisateur
O
%.EGK:BKLI>U. 9 tous ceux qui lui
appartiennent
O
N`:BLI>U 9 tous les liens ou'erts par la
transaction

Paramtra(e
O
<PE>KLI>U. 9 nombre de liens simultans dans
une m,me session 6dfaut Y& 0 X pas de limite7
O
6I>IF)<GD7
EP
Liens parta(s

%n lien peut ,tre parta( par plusieurs utilisateurs

Mot cl 3 shared 4

CREATE SHARED DATABASE LINK nomlien


H2<>>E2F F< util I:E>FI1IE: BM passBd La
H2<>>E2F F< 2%GGE>FK%.EGL
AUTHENTICATED BY scema IDENTI!IED BY pass"#
H%.I>G Vser'ice$L

Duthentification pour le lien& connexion au schma distant


sui'ant mode de connexion choisi

Intr,t 9 si beaucoup de connexions& sinon surcobt


6poolin(7

Peut ,tre connect 'ers ser'eur 8 processus ddis ou


parta(s
E2
>otion de nomma(e (lobal

<racle peut utiliser le nomma(e (lobal


O
2haque base est identifie par un nom et
un domaine) Le nom complet doit ,tre
unique
O
%tile a'ec les liens& indispensable pour la
rplication

Paramtra(e
O
GL<BDLK>DME. 6I>IF)<GD7
E;
Manipuler les noms (lobaux

.ELE2F >DME&NDL%E 1G<M N


`PDGDMEFEG IJEGE >DMEX3
dbKdomain 4C
O
Modifier 9 dans I>IF)<GD

.ELE2F R 1G<M GL<BDLK>DMEC

DLFEG :DFDBD.E GE>DME


GL<BDLK>DME F< nom)domainC
EY
Bases de donnes rpliques

Ensemble de bases de donnes identiques&


dont une appele copie ma(tre permet de
crer les autres appeles copies esclaves)

Fechniques de mise en cohrence


O
.ynchrone9 la mise 8 =our des copies est faite
dans la m,me transaction
O
Dsynchrone9 la mise 8 =our des copies est faite
le plus t5t possible
E?
Bases de donnes
rpliques

Alimentation # $entrep%t #e #onn&es

Diss&mination #e #onn&es

Consoli#ation #e #onn&es
S/st#!e
applicati.
Ent"ep*t
$e $onnes
S/st#!e
cent"al
A0ence %
A0ence '
Stoc1%
Stoc1 '
S/st#!e
cent"al
EA
Bases de donnes
rpliques

D&co'pa(e #$'n process's par acti)it&

Acc*s #&localis&

Syst*mes +,-+ ,
Co!!an$es P"o$uction 2actu"ation
S/st#!e
applicati.
S/st#!e $e
secou"s
3a0asin
L/on
3a0asin
Pa"is
3a0asin
Bo"$eau(
EE
Bases de donnes
rpliques

R&plication sans con.lits


)n !vitant les mises * +our multiples r!plication asym!trique"
O
Syst*me ma/tre 'ni0'e

Alimentation #es entrep%ts #e #onn&es

Diss&mination #$in.ormation

Consoli#ation #$in.ormation
O
Syst*me ma/tre #&si(n& en #ynami0'e

D&co'pa(e #$'n process's par acti)it&

R&plication a)ec r&sol'tion #es con.lits


,ne r-.le de priorit! permet de r!soudre les conflits r/
sym!trique"
O
Syst*mes ma/tres m'ltiples

Acc*s #&localis&

Syst*me +,-+,
E
Bases de donnes
rpliques

Copies ma/tres m'ltiples

Copies escla)es mo#i.ia1les

Con.i('ration y1ri#e
3a4t"e
3a4t"e 3a4t"e
3a4t"e
Copie Copie
3a4t"e 3a4t"e
Copie Copie
E"
Gplication

Gplication simple 6ma@tre!escla'e& read


only7
O
.napshots
O
MDc 9 compl0te ou incrmentale
O
.napshots complexes 9 plusieurs tables& pas
de MDcI

Gplication a'ance 6multi ma@tres& rB7


O
multima@tre& hybride
O
rplication ob=et ou (roupe
O
site et catalo(ue de rplication
0
2onflits d$acc0s

%nicit& modif& suppression


O
:es mthodes dans les deux premiers cas
O
pour suppr& su((0re l$utilisation d$un fla( 3 suppr 4

Possession statique 9 une donne 8 un seul


ser'eur

Possession dynamique 9 les ser'eurs


demandent l$exclusi'it

Possession parta(e 9 les conflits 'entuels


sont (rs de mani0re asynchrone

Gestion synchrone 9 synchro immdiate


P
2ration d$une 'ue matrialise

2GEDFE MDFEGIDLI[E: NIEI nomm'


HFDBLE.PD2E Q .F<GDGE QL
HGE1GE.J 1D.Fa2<MPLEFEa1<G2E
.FDGF IIFJ sysdate
>ESF sysdate_P // en +ours0
IIFJ PGIMDGM UEM // si possible 0
%.I>G G<LLBD2U .EGME>F QL
D.
.ELE2FQ
2
Nue simple

Gafra@chissement rapide possible

Gepose sur cl
O
IIFJ PGIMDGM UEM

Gepose sur G<I I:


O
IIFJ G<I I:

Gepose sur une requ,te adapte


O
sous requ,te de type exists
O
union
;
:es 'ues 3 simples 4Q

2GEDFE MDFEGIDLI[E: NIEI


infoKproduit GE1GE.J 1D.F D.
.ELE2F R 1G<M infoKproduit ip
IJEGE id XP0 D> ESI.F.
6.ELE2F R 1G<M descrKproduit dp
IJEGEQ7
%>I<>
Q

2ela reste rafra@chissable en fast -


Y
:es 'ues plus complexesQ

Pas fast refresh si contient 9


O
:I.FI>2F& %>I#%E
O
I>FEG.E2F& MI>%.& %>I<> DLL
O
2<>>E2F BM
O
cointure
O
D(r(ation
O
%>I<> si pas les m,mes types 6ou requ,te
complexe7

Pour tester rafra@chissement rapide


O
:BM.KNIEI)ESPLDI>KMNIEI6V'ue$7C
?
2omplments sur les N)M)

pour que le GE1GE.J fonctionne il faut


paramtrer <racle en consquenceQ
O
>oms (lobaux obli(atoires
O
%tilisation d$un lien en fixed user

Pour autoriser le fast refresh if faut crer un


snapshot lo( sur la table source
O
2GEDFE .>DP.J<F L<G <> Fable
IIFJ PGIMDGM UEM
FDBLE.PD2E ))) .F<GDGE 6Q7
Gefresh (rable par le biais de fonctions PLO.#L
O
:BM.KGE1GE.J)GE1GE.J6V'ue$7C
A
Groupe de rafra@chissement

:BM.KGE1GE.J)MDUE6
name X/$nom(rp$&
listX/$$&
nextKdateX/ .M.:DFE&
inter'alX/ V.M.:DFE_Q V&
implicitKdestroyX/ 1DL.E&
rollbacZKse( X/ V$&
pushKdeferred X/ FG%E&
refreshKafterKerrors X/ 1DL.E7C
E

:BM.KGE1GE.J)D::6
nameX/$nom(rp$&
listX/$nom'ue$&
laxXFG%E7C

Nues matrialises modifiables

Intr,t *

D=outer 3 1<G %P:DFE 4 a'ant le 3


D. .ELE2FQ 4

Gattacher 8 un (roupe de 'ues


matrialises
"
Groupe de 'ues matrialises

.implification de l$administration

:$autres a'anta(esQ

2ration du (roupe 9
O
:BM.KGEP2DF)2GEDFEKMNIEIKGEPGG<%P6
(nameX/Vnom(rp$&
masterX/Vbase d$ori(ine$&
propa(ationKmodeX/VD.M>2JG<><%.$7C

D=out dans le (roupe


O
:BM.KGEP2DF)2GEDFEKMNIEIKGEP<BcE2F6
(nameX/Vnom(rp$&
snameX/Vschema$&
onameX/Vnomm'$&
typeX/V.>DP.J<F$&
minKcommunication/XVFG%E$7C
"0
Pri'il0(es

DLFEG D>M .>DP.J<F

2GEDFE D>M .>DP.J<F

:G<P D>M .>DP.J<F


O
Plut5t pour le :BDQ

2GEDFE :DFDBD.E LI>U


O
%tile car permet d$utiliser les liens pri's

2GEDFE .>DP.J<F
O
permet a=out& modif et suppr

2GEDFE NIEI
O
Permet (estion de 'ue sous!=acente au
snapshot
"P
Nues multi tiers

<n peut a'oir des 'ues matrialises


qui reposent elles m,mes sur des
'ues matrialises

2ontraintes 9 essentiellement
utilisation des cls primaires)
"2
.yst0mes multi ma@tres

Intr,t 9
O
dquilibra(e de char(e
O
Gsistance aux pannes
O
Interoprabilit entre applications

2ohrence *
O
.ynchrone 9 MDc immdiate
O
Dsynchrone 9 files d$attente 6et d$erreurQ7
";
Mise en oeu're

G5les
O
Ddministrateur

D=out de sites& mise en sommeil& etc)


O
Propa(ateur

En'oi des requ,tes


O
Gcepteur

Mise en ]u're des requ,tes re+ues


"Y
.tructures

Liens planifis
O
Liens a'ec utilisateur fixe _ planification des
en'ois 6transactions7

Pur(e

Groupe ma@tre
O
2ontient les ob=ets rpliqus
O
Il peut y en a'oir plusieursQ
O
>otion de site de dfinition

.ite ma@tres
O
D=outs sur le site de dfinition
"?
Gsolution de conflits

Mthodes proposes par <racle9


O
Plus rcente modif 6timestamp7
O
Gcriture
O
Max et min
O
Moyenne et somme
O
Estampilla(e
O
Priorit de (roupe
O
Priorit de site
"A
Gsolution de conflit

Plus rcente modif


O
La plus rcente est la bonne
O
6pas de lien entre 'aleurs7
O
.uppose data(e uniforme

Gcriture
O
Essentiellement pour mono ma@tre
"E
Gsolution de conflit

Ddditi'e
O
<n a=oute la diffrence
O
<U pour transactions financi0res par ex)

Moyenne
O
<U pour donne 'oluant 'ers moyenne

Dbandon
O
<U a'ec mono ma@tre
"
Gsolution de conflit

Plus ancienne date


O
%tilisation limiteQ 6mono ma@tre7

Maximum& Minimum
O
Pour des donnes s$y pr,tant

Groupes prioritaires
O
Priorit sui'ant la 'aleur d$une colone
donne

.ite prioritaire
""
Dutres types de conflits

Insertion
O
.quences

.uppression
O
2olonne de suppression
P00
E'iter les conflits

Groupes de colonnes
O
<n peut modifier sur deux (roupes
indpendants sans (nrer de conflit

.ite propritaire
O
Granularit r(lable

Possession dynamique
P0P
2omplments sur la rplication

Femplate de rplication
O
Pour simplifier rplication massi'e
O
Ex 9 copies sur machines nomades
O
:escription des tables distribues

Gplication d$autres informations


O
Fri((ers
O
Fypes d$<b=ets
O
Q
102
Gestion de Fransactions
dans les .yst0mes :istribus
P0;

e Pour faire un contrat deux ou plus de parties n(ocient


et par'iennent 8 un accord) L$accord est scell en co!
si(nant un document ou par un autre acte) .i les parties
se soup+onnent ou 'eulent s$assurer& ils rnum0rent un
intermdiaire pour coordonner la 'alidation de la
transactionf
O
)x!cution durable de tout le contrat

2rimiti)es #&limitant 'ne transaction


O
:butKtransaction
O
1inKtransaction

2rimiti)es con#itionnant la terminaison #$'ne


transaction
O
NaliderKtransaction 6commit7 )tat final
O
Dbandonner une transaction 6rollbacZ7 )tat initial
Structure dune transaction
P0Y
E3emple
FDBLE.N<L6N><& :DFE& DK:EP& DKDGG&
.IEGE.KNE>:%.&2DPD2IFE7
2LIE>F62><M& D:GE..E& .<L:EK2<MPFE7
N<LK2LIE>F6N><& :DFE& 2><M& .PE2IDL7
D&1't4transaction) 1!servation
entres 6'olKno& date& nomKclient7C
ESE2 .#L .ELE2F .IEGE.KNE>:%.& 2DPD2IFE
I>F< tempP&temp2
1G<M N<L
IJEGE N>< X 'olKno
D>: :DFE X dateC
si tempP X temp2 alors
dbut
afficher 6e plus de places f7C
A1an#onner4transaction
fin
P0?
E3emple 5s'ite6
sinon dbut
ESE# .#L %P:DFE N<L
.EF .IEGE.KNE>:%. X .IEGE.KNE>:%._P
IJEGE N>< X 'olKno
D>: :DFE X dateC
ESE2 .#L I>.EGF
I>F< N<LK2LIE>F6N><& :DFE& 2><M& .PE2IDL7
NDL%E.6'olKno& date& nomKclient& null7C
7ali#er4transactionC
afficher6 e rser'ation effectue f7
fin
finKsi
!in4transaction)
P0A
Gestion de la
Concurrence

%ne transaction atomique et cohrente ne met pas en cause l$int(rit de


la base de donnes)

Lorsque plusieurs transactions sont excutes en concurrence& leurs


oprations peu'ent interfrer de sorte 8 aboutir 8 de rsultats incorrects)

)xemples2 cc compte courant ce compte d3!par.ne


mise 8 9o'r per#'e lect're incorrecte
T: T+ T; T,
CC L6cc7 C L6cc7 C L6cc7 C L6cc7
ccXcc_?00 ccXcc_P000 ccXcc!?00 C L6ce7
C E6cc7 C E6cc7 C E6cc7 imprimer6cc&ce7
'alider 'alider C L6ce7 'alider
ceXce_?00
E6ce7
'alider
P0E
Proprits dune transaction

ATO<ICITE
les oprations d$une transaction seront toutes enti0rement
excutes& en cas de probl0me a'ant terminaison& les
oprations excutes seront annules)

COHERENCE
la transaction est un pro(ramme correct qui fait passer la
base de donnes d$un tat cohrent 'ers un autre tat
cohrent)

ISOLATION
les rsultats intermdiaires d$une transaction 6a'ant
terminaison7 ne seront pas accessibles par les autres
transactions

DURABILITE
les rsultats d$une transaction sont permanents apr0s
terminaison et ne doi'ent ,tre altrs par aucun type de
panne
P0
:e(rs de cohrence

F ne modifie pas les donnes sales des


autres transactions

F ne 'alide pas d $critures a'ant


d $a'oir fini toutes ses critures

F ne lit pas les donnes sales des


autres transactions

Les autres transactions ne salissent pas


les donnes lues par F =usqu $8 ce que
F soit termine)
0
P
2
;
P0"
Gisques lis 8 une mau'aise
isolation

Lecture sale
O
Lecture d $une donne dont la 'aleur n $a pas t
'alide 9 la donne peut a'oir une 'aleur diffrente ou
ne plus exister 8 terme)))

Lecture floue 6non rptable7


O
Lectures rptes d $une 'aleur en cours de
modification 9 les calculs sont biaiss& ou la donnes
n $est plus disponible)))

1ant5mes
O
:es tuples sont a=outs par F2 alors qu $un requ,te a
t pose sur leur table par FP9 il y a des tuples
3 fant5mes 4
PP0
>i'eaux d $isolation

Gead uncommitted
O
Les trois probl0mes peu'ent se prsenter )))

Gead committed
O
on limine les lectures sales

Gepeatable read
O
Il ne reste que les fant5mes

Dnomaly seriali\able
O
Fout se passe bien
O
Mais cela ncessite plus de contr5les et de
'errous)))
PPP
E3&c'tions en s&rie
E3&c'tions s&rialisa1les

L$excution en srie des transactions consiste 8 ce


que& pour tout couple de transactions& toutes les
oprations de l$une se soient excutes a'ant toute
opration de l$autre performances"

%ne excution est srialisable si elle produit les


m,mes rsultats et les m,mes effets sur la base que
l$excution en srie des m,mes transactions) La
srialisabilit d$une excution concurrente de
transactions est le crit0re habituel de correction des
mthodes de contr5le de concurrence)
PP2
E3&c'tions en s&rie
E3&c'tions s&rialisa1les
Excution srie Excution srialisable Excution non-srialisable
T: T+ T: T+ T: T+
L6y7 L6y7 L6x7
y=y>+?? L536 3=3>:??
E6y7 yXy!200 E6x7
L5@6 3=3>:?? L5y6
\X\_200 E6y7 yXy!200
E5@6 E536 L5y6
L6x7 L6\7 E6y7
3=3>:?? L5y6 y=yA:??
E6x7 \X\_200 E6y7
L5y6 y=yA:?? L5@6
yXy_P00 E6\7 \X\_200
E5y6 E5y6 E5@6
PP;
Gestion de la concurrence et bases de
donnes rparties

Bases #e #onn&es r&parties


.i une base n$est pas duplique et si chaque ordonnancement
local est srialisable& alors leur union 6ordonnancement (lobal7
est aussi srialisable

Bases #e #onn&es #'pli0'&es 5copies m'ltiples6


Les ordonnancements capables de maintenir la cohrence des
bases de donnes dupliques sont appeles e one!copy!
serialisable f& et respectent les conditions sui'antes9
! chaque ordonnancement local est srialisable)
! deux oprations conflictuelles doi'ent respecter le m,me
ordre relatif dans les ordonnancements locaux og ils
apparaissent)
PPY
Mthodes de gestion de concurrence

Approce pessimiste
il est considr que plusieurs transactions seront en conflit& la
synchronisation des excutions concurrentes se fera au dbut des
transactions
,tilis!e dans le cas de beaucoup de transactions parta.eant peu de
donn!es2 syst-mes d3information op!rationnels

Approce optimiste
il est considr que peu de transactions seront en conflit& la
synchronisation est reporte 8 la fin des transactions
,tilis!e dans le cas de peu de transactions parta.eant beaucoup de
donn!es2 syst-mes d3aide * la conception
PP?
Verrouillage (oc!ing"

La synchronisation des transactions est obtenue en


appliquant des 'errous sur un (ranule de la base) La
taille de ces (ranules& appele (ranularit du
'errouilla(e& a un impact certain sur les
performances) 2ertains syst0mes mettent en ]u're
des (ranularits diffrentes 8 la demande)

Les 'errous demands par les transactions sont


(rs dans des tables de 'errouilla(e)

2ompatibilit des 'errous


Nerrou actuel
pas de 'errou parta( exclusif
Nerrou demand
pas de 'errou oui oui oui
parta( oui oui non
exclusif oui non non
PPA
Verrouillage (oc!ing"

Nerrouilla(e 8 deux phases


O
phase de croissance9 obtenir des 'errous
O
phase de rtrcissement9 librer les 'errous
nombre de
'errous
dbut point de 'errouilla(e fin
PPE
Esta#pillage
($i#esta#p ordering"

L$estampilla(e consiste 8 ordonner les transactions rparties lors du


lancement de leur excution et 8 imposer que les oprations d$acc0s aux
donnes respectent l$ordre prtabli) Pour ce faire& un numro d$ordre
unique appel estampille est affect 8 chaque transaction et 8 chaque
(ranule accd)

:ans un syst0me rparti l$unicit de l$estampille est obtenu par la


synchronisation des horlo(es 6Fime .er'ice7)

Estampilla(e 1asi0'e9 une transaction Fi acc0de au (ranule dont


l$estampille est =)
.i =i alors l$acc0s par Fi respecte l$ordre d$arri'e des transactions et peut
,tre excute)
.inon Fi sera abandonne et reprise a'ec une nou'elle estampille

Estampilla(e conser)ati.9 l$ordonnanceur retardera artificiellement les


oprations pour 'iter les abandons

Estampilla(e m'lti>)ersions9 les mises!8!=our ne modifient pas la base


mais une copie de celle!ci
PP
Gestion dinter blocages

Fout mcanisme d$allocation exclusi'e de ressources peut aboutir 8


un inter bloca(e 6deadlocZ7

%n inter bloca(e sur'ient quand deux 6ou plus7 transactions se


mettent en attente sur des ressources 'errouilles de mani0re croise)

%n inter bloca(e est un phnom0ne permanentC il ne dispara@tra que


par une inter'ention externe9 utilisateur& oprateur syst0me& syst0me
d$exploitation& .GB:&)))

FP F2
lire6x7 lire6y7
lire6y7 lire6x7

%n outil d$analyse des inter bloca(es est le (raphe d$attente GD& qui
est un (raphe orient dont les arcs reprsentent une relation d$attente
entre transactions) %n arc FiF= indique que Fi attend que F= lib0re un
'errou) Les circuits du GD indiquent des inter bloca(es
T
i
T
j
PP"
Gestion dinter blocages%
#thodes

PGENE>IG
Pour qu$un inter bloca(e soit impossible il faut 'iter de mettre en
excution les transactions qui pourraient rentrer en conflit& a'ec une pr!
dclaration des donnes utilises)

ENIFEG
<rdonner les ressources et demander que les transactions respectent
l$ordre d$acc0s) .e ser'ir des estampilles pour affecter des priorits)

:EFE2FEG EF GE.<%:GE
La dtection se fait par l$identification des cycles dans les (raphes
d$attente ou par des temporisations)
La rsolution se fait par l$abandon d$une ou plusieurs transactions
e 'ictimes f)
2rit0res de choix9
! la quantit de tra'ail d=8 effectu par les transactions
! le cobt de l$abandon en termes de mises!8!=our 8 dfaire
! la quantit de tra'ail restant 8 effectuer
! le nombre de cycles concerns par chaque transaction
P20
Validation sur site
centralis

La technique de pr'ention de pannes est la =ournalisation 6lo(7


O
cournal des ima(es a'ant modification 4!faire 5 ,ndo"
O
cournal des ima(es apr0s modification 1efaire 5 1edo"

Fechnique associe9 lo( Brite ahead 6pr!criture du fichier


=ournal7

.tructure du fichier =ournal9


O
identificateur de la transaction
O
identificateur de l$enre(istrement
O
le type d$action 6insertion& effacement& modification7
O
l$ancienne 'aleur de l$enre(istrement
O
la nou'elle 'aleur de l$enre(istrement
O
pointeur 'ers l$enre(istrement prcdent concernant la m,me
transaction
O
les primiti'es transactionnelles9 :butKtr)& NaliderKtr)& DbandonnerKtr)
O
PointKdeKcontr5le contenant les identificateurs des transactions
acti'es
O
en rparti 5 'r!pare6 'r$t6 &bandonner_.lobal6 Valider_.lobal6
7omplet
P2P
Validation sur site centralis

2roc&#'re #e reprise s'r site centralis&


O
Pannes sans perte din&or#ation' a(ec perte de
##oire (i(e

C :terminer toutes les transactions non 'alides qui doi'ent


,tre dfaitesC celles pour qui il y a un :butKtr mais pas de
NaliderKtr ou DbandonnerKtr

C :terminer toutes les transaction pou'ant a'oir besoin


d$,tre refaitesC celles pour qui il y a un NaliderKtr

C :faire les transactions identifies en C et refaire les


transactions identifies en C
O
Pannes a(ec perte de ##oire secondaire' a(ec perte
de ##oire stable (&ichier )ournal existe"

Geconstitution de la base en partant de la derni0re


sau'e(arde et en appliquant dessus toutes les ima(es apr0s
modification
P22
$ransactions rparties

%ne transaction rpartie est une transaction D2I:


dont les parties s$excutent sur des syst0mes
diffrents)

Exemple9 'irement bancaire

.ur chaque site il est possible de mettre en oeu're


la procdure centraliseC le probl0me se situe au
ni'eau de la dcision commune entre les syst0mes9
protocole de communication)
S%
$)it
S'
c"$it
S&
co!pta)ilit
P2;
Protocole de (alidation
rpartie

Protocole de 'alidation 8 deux phases 8wo


p9ase commit"

Implment dans <.I!FP et .>D!L%A)2

.tructure de communication hirarchique


Coo"$inateu"
Coo"$inateu" Coo"$inateu"
Pa"ticipant
Pa"ticipant
Pa"ticipant Pa"ticipant Pa"ticipant
Pa"ticipant
P2Y
Protocole de (alidation
* deux phases
2oordinateur9 Ecrire PGEPDGE dans =ournal
En'oyer messa(e PGEPDGE aux participants et
acti'er une temporisation
Participant9 Dttendre messa(e PGEPDGE
.i le participant 'eut 'alider alors dbut
Ecrire PGEF dans =ournal
En'oyer PGEF au coordinateur
fin
sinon dbut
Ecrire DBD>:<>>EG dans =ournal
En'oyer DBD>:<>>EG au coordinateur
fin
2oordinateur9 Dttendre les rponses 6PGEF ou DBD>:<>>EG7 des
participants ou la temporisation
.i chute de temporisation ou au moins une rponse
DBD>:<>>EG alors dbut
Ecrire DBD>:<>>EGKGL<BDL dans =ournal
En'oyer DBD>:<>>EG 8 tous les participants
fin
P2?
Protocole de (alidation *
deux phases
sinon dbut
Ecrire NDLI:EGKGL<BDL dans =ournal
En'oyer NDLI:EG aux participants
fin
Participant9 Dttendre messa(e de commande
Ecrire DBD>:<>>EG ou NDLI:EG dans =ournal
En'oyer D22%.EK:EKGE2EPFI<> au
coordinateur
Excuter la commande
2oordinateur9 Dttendre D22%.EK:EKGE2EPFI<> des
participant
Ecrire 2<MPLEF dans =ournal
P2A
+PC % ,sistance aux pannes

2ANNES DE SITE

%n participant choue a'ant d$crire PGEF dans son =ournal

%n participant choue apr0s l$criture de PGEF dans son =ournal

Le coordinateur tombe en panne apr0s a'oir crit PGEPDGE mais


a'ant l$criture de NDLI:EGKGL<BDL ou
DBD>:<>>EGKGL<BDL

Le coordinateur tombe en panne apr0s a'oir crit


NDLI:EGKGL<BDL ou DBD>:<>>EGKGL<BDL& mais a'ant
l$criture de 2<MPLEF

Le coordinateur tombe en panne apr0s l$criture de 2<MPLEF

<ESSABES 2ERDUS

%n messa(e de rponse 6PGEF ou DBD>:<>>EG7 d$un


participant est perdu

%n messa(e PGEPDGE est perdu

%n messa(e de commande 6NDLI:EG ou DBD>:<>>EG7 est


perdu

RESEAU 2ARTITIONNE
P2E
#ue faire * FimeoutQ

25t coordinateur
O
Fimeout en PGEPDGE

Peut choisir d$abandonner


O
Fimeout en 2<MMIF ou DB<GF

:cision d=8 prise / ou ren'oie les


messa(es NDLI:EGKGL<BDL ou
DBD>:<>>EGKGL<BDL =usqu$8 D2U de
tout le monde
P2
#ue faire * FimeoutQ

25t participant
O
Fimeout en I>IFIDL 6attente PGEPDGE7

Probablement dfaillance du coordinateur /


peut choisir d$abandonner)

Ensuite& si re+oit PGEPDGE& soit rpond pas&


soit 'ote pour l$abandon
O
Fimeout en PGhF

D 'ot pour commit& ne sait pas ce qu$on fait


les autresQ

Dttente 6bloca(e7
P2"
Gseau Partitionn *

Peut!on dcider si la panne pro'ient


du rseau ou des participants *

#ue faire *
O
En rpliqu *
O
En rparti *

Vous aimerez peut-être aussi