Sei sulla pagina 1di 67

Bases de Donnes Rparties Concepts et Techniques

Matthieu Exbrayat ULP Strasbourg Dce!bre "##$

D%inition

Une base de donnes rpartie &distribue' est une base de donnes (ogique dont (es donnes sont distribues sur p(usieurs S)BD et *isib(es co!!e un tout+ Les donnes sont changes par !essages Si (es donnes sont dup(iques, on par(e p(ut-t de BD rp(ique

"

Principe %onda!enta(
` ` ` ` ` ` ` ` ` ` ` `

/ To the user, a distributed syste! shou(d (oo0 exact(y (i0e a nondistributed syste!+ 1 &C+ Date, 2ntroduction to Database Syste!s' 3utono!ie (oca(e Ega(it entre sites &pas de site / centra( 1' 4onctionne!ent continu &pas d5interruption de ser*ice' Loca(isation transparente 4rag!entation transparente 2ndpendance 6 (a rp(ication Excution de requ7tes distribues )estion de transactions rparties 2ndpendance *is 6 *is du !atrie( 2ndpendance *is 6 *is du Syst8!e d5Exp(oitation 2ndpendance *is 6 *is du rseau 2ndpendance *is 6 *is du S)BD
.

3utono!ie (oca(e

La BD (oca(e est co!p(8te et autono!e &intgrit, scurit, gestion', e((e peut *o(uer indpenda!!ent des autres &upgrades:' Un site en panne ne doit pas e!p7cher (e %onctionne!ent des autres sites &!ais perturbations possib(es' Distribution per!et rsistance aux %autes et aux pannes &en thorie'
9

Ega(it entre sites

4onctionne!ent continu

Loca(isation transparente

3cc8s uni%or!e aux donnes que( que soit (eur site de stoc0age Des donnes &d5une !7!e tab(e' parpi((es doi*ent 7tre *ues co!!e un tout Les donnes rp(iques doi*ent 7tre !aintenues en cohrence &d(ai possib(e'

4rag!entation transparente

2ndpendance 6 (a rp(ication

Requ7tes distribues

L5excution d5une requ7te peut 7tre rpartie &auto!atique!ent' entre p(usieurs sites &si (es donnes sont rparties' Le !canis!e de transactions peut 7tre rparti entre p(usieurs sites &si :' Le S)BD %onctionne sur (es di%%rentes p(ate%or!es uti(ises
<

Transactions rparties

2ndpendance *is 6 *is du !atrie(

2ndpendance *is 6 *is du SE

Le S)BD %onctionne sur (es di%%rents SE: Le S)BD est accessib(e 6 tra*ers (es di%%rents types de rseau uti(iss La base peut 7tre distibue sur des S)BD htrog8nes En thorie:

2ndpendance *is 6 *is du rseau

2ndpendance *is 6 *is du S)BD


>ue(ques ter!es qui*oques:

BD distribue

Un sch!a g(oba( Les donnes sont rparties sur p(usieurs sites, accessib(es 6 partir du site centra( ou de tous (es sites Chaque site a son sch!a (oca(, pas %orc!ent inc(us enti8re!ent dans (e sch!a g(oba( &i( y a un site centra(' Pas de sch!a g(oba(, pas de site centra(+ 3cc8s 6 &une partie des' donnes distantes+ Ex @ %dre A approche ascendante partie((e :
=

BD %dre

Syst8!e !u(ti bases

Mais i( existe d5autres d%initions ?

Conception de BD rpartie

Cn ne !et en p(ace une BD rpartie qu5en cas de re( besoin


D!arche de conception d(icate )estion co!p(exe L5*o(ution du S2 peut in*a(ider (a so(ution retenue: Do(u!es de donnes, sites distants, etc+ 4usions de S2
B

Des raisons *a(ab(es @


Deux approches de conception

Conception ascendante

Part de (5existant 2nt8gre bases (oca(es dans sch!a g(oba(

Conception descendante

Cn part du sch!a g(oba( Cn (e scinde en sch!as (ocaux

E#

Conception descendante

Cn part de Fro &nou*e((e base' Recherche de per%or!ance &pas %orc!ent de rpartition gographique' 3sseF peu %rquent Distribution pr existante Gcessite conso(idation, uni%or!isation &/ rconci(iation s!antique 1'

Conception ascendante

2denti%ier (es donnes se!b(ab(es 3ccorder (eurs types, grer (eur cohrence: 2nter%acer ou adapter (es S)BD:

Ex @ %usion, !ise en p(ace DH


EE

Sch!as d5une BD rpartie

Schma Externe Schma Conceptuel Global

SE1

SE2 SCG

SE3

Schma Conceptuel Local Schma Interne Local

SCL1 SIL1

SCL2 SIL2

SCL3 SIL3

E"

4rag!entation des donnes

4rag!entation horiFonta(e

Les tup(es sont rpartis

4rag!entation *ertica(e

Les tup(es sont dcoups et %rag!ents Gcessite co(onne co!!une &c( ou unique' dup(ique

E.

4rag!entation horiFonta(e

En conception descendante

3dquation gographique Recherche de per%or!ance &2IC, traite!ents' Des donnes co!parab(es dans di%%rentes bases Pb @ conso(idation correcte &unicit des c(s, types des attributs:'

En conception ascendante

E9

4rag!entation *ertica(e

Cn proJette (a tab(e sur des attributs di%%rents sui*ant site+ Co!!e %rag+ horiFonta(e, peut correspondre 6 conso(idation ou recherche de per%+ La reconstruction des tup(es doit 7tre possib(e &et *a(ide' M7!es prob(8!es que %+h+
E;

4rag+ horiFonta(e dri*e

P(acer deux tab(es en re(ation de !ani8re 6 (oca(iser (es Jointures Une des deux tab(es doit 7tre %rag!ente en %onction de (5autre &se!i Jointure' P(ut-t en approche descendante Peut introduire des redondances
E<

Mise en pratique de (a %rag!entation

Kistorique @ des S)BDs distribus


RL, etc+ P(ut-t expri!enta( Pas de %rag!entation exp(icite au ni*eau du sch!a 3sse!b(age A cration de *ue &ou de snapshot' Distribution des donnes M

Dans (es S)BD co!!erciaux actue(s


Une so(ution A triggers


E$

Mise en Nu*re sous S>L &3sse!b(age'

4rag+ KoriFonta(e

CRE3TE D2EH DE 3S SELECT Tab(eE+c(e, Tab(eE+attrE 4RCM Tab(eEOsiteE UG2CG SELECT Tab(e"+c(e, Tab(e"+attrE 4RCM Tab(e"Osite"

E=

Mise en Nu*re sous S>L &3sse!b(age'

4rag+ Dertica(e

CRE3TE D2EH DE 3S SELECT Tab(eE+c(e, Tab(eE+attrE, Tab(e"+attr" 4RCM Tab(eEOsiteE, Tab(e"Osite" HKERE Tab(eE+c(eATab(e"+c(e (5attribut de %rag!entation n5est pas %orc!ent (a c( pri!aire: En %rag+ *ertica(e, i( %aut au nan!ois que ce soit une c(

Re!arque @

EB

Requ7te rpartie

Les oprations prcdentes &par exe!p(e' acc8dent 6 des donnes situes sur di%%rents sites+ Le S)BD g8re (es acc8s distants en rpartissant (a requ7te

Excution distante de (a sous requ7te Rcupration de donnes rsu(tat 3sse!b(age (oca( &requ7te en (ecture'
"#

)estion de (5htrognit

Ktrognit / sans prob(8!e 1

SE et rseau @ gr par S)BD &si / bon 1 S)BD' Dersion de S)BD @ ni*eau de S)BD (e p(us ancien S)BD @ pb des dia(ectes de S>L passere((es entre S)BD Ex @ CDBC &au dpart sous HindoPs !ais port sous d5autres CS' "E Ex @ passere((es propritaires S)BD 6 S)BD

Ktrognit p(us d(icate


` `

BDR co!!ent Qa !arche


Application Schma externe Contrleur smantique SCG Requ tes rparties Gestion !e transactions Dictionnaire de rpartition

Requ tes locales Gestion !e sous"transactions SG#$

SCL %ournal !es mo!i&ications SIL

""

Co!!unication 2nter sites

Chaque S)BD dispose d5un d!on per!ettant (es connexions distantes, sur un !ode c(ient ser*eur

Listener (mdiateur)

Chaque S)BD dispose d5une tab(e des BDs accessib(es


Nom >> doit tre unique !!! Adresse Protocole

Cette approche per!et aussi un qui(ibrage de charge transparent:


".

Exe!p(e @ Crac(e

Per!et (a distribution et (a rp(ication 3ssure une bonne transparence 6 di%%rents ni*eaux Syst8!e de no!!age si!p(e

sa(es+%rance+europe+co!puters CRE3TE D3T3B3SE L2GR sa(es: s*cS!aint+e!pOsa(es+%rance+europe+co!puters


"9

3cc8s BD distante @ L2GR

3cc8s tab(e distante @ sch!a+tab(eObase

Lien pub(ic, (ien pri*

Transparence

Loca(isation @ synony!es

CRE3TE PUBL2C STGCGTM e!p(oyes 4CR s*cS!aint+e!pOsa(es+%rance+europe+co!puters

Requ7tes et transactions Cprations internes Rp(ication


";

Caractristiques

3utono!ie des sites

)estion indpendante, upgrades (oca(iss: Les uti(isateurs et (eurs r-(es doi*ent 7tre connus sur chaque site accd Possibi(it d5uti(iser un Security Ser*er Encryptage
"<

Scurit

3d!inistration g(oba(e @ enterprise !anager

Mise en oeu*re en S>L &2nsertion a*ec (es triggers Crac(e'

CRE3TE TR2))ER TrE 2GSTE3D C4 2GSERT on Tab(e BE)2G 24 @GeP+c(e U E### TKEG 2GSERT 2GTC Tab(eEOsiteE&c(e,attrE' D3LUES&@GeP+c(e,@GeP+attr'V ELSE 2GSERT 2GTC Tab(e"Osite"&c(e,attr"' D3LUES &@GeP+c(e,@GeP+attr'V EGD 24V EGDV
"$

Co!p(!ent sur triggers

Uti(isab(es ga(e!ent pour update et de(ete &@GeP et @C(d' pour


Suppression &@C(d' Modi%ication hors attribut de distribution &@GeP' Modi%ication attribut de distribution &@GeP et @C(d pour *ri%ier si bon site'

Doit 7tre crit / 6 (a !ain 1 par (e dba:

"=

)estion des contraintes distribues

Types de contraintes

Do!aine Unicit 2ntgrit r%rentie((e Dans (a d%inition des tab(es &principa(e!ent'

Dans un S)BD centra(is, c5est bien gr

Le c-t !anue( de (a distribution (i!ite (es possibi(its de gestion des contraintes

Uti(isation de *ues WW pas de contraintes


"B

Exe!p(es

Chec0 I GCT GUL

Se g8re par %rag!ent )rab(e par %rag!ent )(oba(e!ent M Rp(ication CR, 4rag!entation RC Uti(isation de trigger Site !aXtre pour nu!rotation WW perte autono!ie Pas gr en inter bases Rp(ication CR, 4rag!entation RC Uti(isation trigger
.#

Unicit

2ntgrit R%rentie((e

Ca de*ient *rai!ent (ourd 6 grer:

Liens BD @ notions a*ances

. types de (iens @

Connected user

Mode de base @ !7!e uti(isateur en (oca( et distant Ce n5est pas ncessaire!ent (e crateur du (ien Si (ien uti(is 6 partir de procdure, identi%ication en te!ps que propritaire de (a procdure 2ntr7t M Uti(isateur %ixe+ 2ntr7t M
.E

Current user

4ixed user

Exe!p(es

CRE3TE D3T3B3SE L2GR *entes+u(p+%r US2G) Y*entes5V CRE3TE D3T3B3SE L2GR *entes+u(p+%r CCGGECT TC scott 2DEGT242ED BT tiger US2G) Y*entes5V CRE3TE D3T3B3SE L2GR *entes+u(p+%r CCGGECT TC CURREGTSUSER US2G) Y*entes5V Re!arque @ US2G) W no! du ser*ice?
."

Liens BD @ notions a*ances

Disibi(it @

Pub(ic

Pratique si uti(is par un grand no!bre d5uti(isateurs Z scuris, accessib(e unique!ent au propritaire et 6 ses sous progra!!es 3ccessib(e de n5i!porte que((e base, !ais suppose une gestion centra(e &directory ser*er'

Pri*ate &d%aut'

)(oba(

..

exe!p(es

CRE3TE PUBL2C D3T3B3SE L2GR *entes+u(p+%r US2G) Y*entes5V CRE3TE PUBL2C D3T3B3SE L2GR *entes+u(p+%r CCGGECT TC scott 2DEGT242ED BT tiger US2G) Y*entes5V CRE3TE PUBL2C D3T3B3SE L2GR *entes+u(p+%r CCGGECT TC CURREGTSUSER US2G) Y*entes5V

Di%%rence a*ec pri* M


.9

Cprations sur (iens

4er!eture
Uti(e si %orte charge 3LTER SESS2CG CLCSE D3T3B3SE L2GR (ienV

Suppression

DRCP D3T3B3SE L2GR (ien

.;

2n%os uti(es:

Tab(es

DB3SDBSL2GRS @ tous (es (iens 3LLSDBSL2GRS @ tous ceux accessib(es par (5uti(isateur USERSDBSL2GRS @ tous ceux qui (ui appartiennent D[DBL2GR @ tous (es (iens ou*erts par (a transaction CPEGSL2GRS @ no!bre de (iens si!u(tans dans une !7!e session &d%aut 9, # A pas de (i!ite' .< &2G2T+CR3'

Para!trage

Liens partags

Un (ien peut 7tre partag par p(usieurs uti(isateurs Mot c( / shared 1 CREATE SHARED DATABASE LINK nomlien \CCGGECT TC uti( 2DEGT242ED BT passPd ]^ \CCGGECT TC CURREGTSUSER] AUTHENTICATED BY schema IDENTIFIED BY passwd \US2G) Yser*ice5] 3uthenti%ication pour (e (ien, connexion au sch!a distant sui*ant !ode de connexion choisi 2ntr7t @ si beaucoup de connexions, sinon surco_t &poo(ing' Peut 7tre connect *ers ser*eur 6 processus ddis ou partags
.$

Gotion de no!!age g(oba(

Crac(e peut uti(iser (e no!!age g(oba(


Chaque base est identi%ie par un no! et un do!aine+ Le no! co!p(et doit 7tre unique Uti(e a*ec (es (iens, indispensab(e pour (a rp(ication

Para!trage

)LCB3LSG3MES &2G2T+CR3'
.=

Manipu(er (es no!s g(obaux

SELECT G3ME,D3LUE 4RCM D [P3R3METER HKERE G3MEA/ dbSdo!ain 1V

Modi%ier @ dans 2G2T+CR3

SELECT L 4RCM )LCB3LSG3MEV 3LTER D3T3B3SE REG3ME )LCB3LSG3ME TC no!+do!ainV


.B

Bases de donnes rp(iques

Ense!b(e de bases de donnes identiques, dont une appe(e copie matre per!et de crer (es autres appe(es copies esclaves+ Techniques de !ise en cohrence

Synchrone@ (a !ise 6 Jour des copies est %aite dans (a !7!e transaction 3synchrone@ (a !ise 6 Jour des copies est %aite (e p(us t-t possib(e
9#

Bases de donnes rpliques

Alimentation d ent!ep"t de donn#es


S'st(me applicati& Entrept !e !onnes

Diss#mination de donn#es
S'st(me central

A)ence 1 A)ence 2

Consolidation de donn#es
S'st(me central

Stoc*1 Stoc* 2
9E

Bases de donnes rpliques

Comman!es +ro!uction

D#co$pa%e d $n p!ocess$s pa! acti&it#


,acturation

Acc's d#localis#
-a)asin L'on -a)asin +aris -a)asin #or!eaux

S(st'mes )*h+) *
S'st(me applicati& S'st(me !e secours
9"

R#plication sans con,lits En vitant les mises jour multiples (rplication as mtrique)

Bases de donnes rpliques

S(st'me ma-t!e $ni.$e


Alimentation des ent!ep"ts de donn#es Diss#mination d in,o!mation Consolidation d in,o!mation D#co$pa%e d $n p!ocess$s pa! acti&it#

S(st'me ma-t!e d#si%n# en d(nami.$e

R#plication a&ec !#sol$tion des con,lits !ne r"#le de priorit permet de rsoudre les con$lits (r% s mtrique)

S(st'mes ma-t!es m$ltiples


Acc's d#localis# S(st'me )*h+)*

9.

Bases de donnes rpliques


-a.tre

Copies ma-t!es m$ltiples


-a.tre -a.tre

Copies escla&es modi,ia/les


Copie

-a.tre

Copie

Con,i%$!ation h(/!ide
-a.tre Copie

-a.tre Copie

99

Rp(ication

Rp(ication si!p(e &!aXtre esc(a*e, read on(y'


Snapshots M3` @ co!p(8te ou incr!enta(e Snapshots co!p(exes @ p(usieurs tab(es, pas de M3`2 !u(ti!aXtre, hybride rp(ication obJet ou groupe site et cata(ogue de rp(ication

Rp(ication a*ance &!u(ti !aXtres, rP'


9;

Con%(its d5acc8s

Unicit, !odi%, suppression


Des !thodes dans (es deux pre!iers cas pour suppr, sugg8re (5uti(isation d5un %(ag / suppr 1

Possession statique @ une donne 6 un seu( ser*eur Possession dyna!ique @ (es ser*eurs de!andent (5exc(usi*it Possession partage @ (es con%(its *entue(s sont grs de !ani8re asynchrone )estion synchrone @ synchro i!!diate
9<

Cration d5une *ue !atria(ise

CRE3TE M3TER23L2aED D2EH no!!* \T3BLESP3CE : STCR3)E :] \RE4RESK 43ST^CCMPLETE^4CRCE ST3RT H2TK sysdate GEbT sysdateZE && en jours' H2TK PR2M3RT RET && si possi(le ' US2G) RCLLB3CR SE)MEGT :] 3S SELECT:
9$

Due si!p(e

Ra%raXchisse!ent rapide possib(e Repose sur c(

H2TK PR2M3RT RET H2TK RCH 2D sous requ7te de type exists union
9=

Repose sur RCH 2D

Repose sur une requ7te adapte


Des *ues / si!p(es 1:

CRE3TE M3TER23L2aED D2EH in%oSproduit RE4RESK 43ST 3S SELECT L 4RCM in%oSproduit ip HKERE id AE# 3G Eb2STS &SELECT L 4RCM descrSproduit dp HKERE:' UG2CG : Ce(a reste ra%raXchissab(e en %ast ?
9B

Des *ues p(us co!p(exes:

Pas %ast re%resh si contient @


D2ST2GCT, UG2>UE 2GTERSECT, M2GUS, UG2CG 3LL CCGGECT BT `ointure 3grgation UG2CG si pas (es !7!es types &ou requ7te co!p(exe' DBMSSD2EH+EbPL32GSMD2EH&Y*ue5'V
;#

Pour tester ra%raXchisse!ent rapide

Co!p(!ents sur (es D+M+

pour que (e RE4RESK %onctionne i( %aut para!trer Crac(e en consquence:


Go!s g(obaux ob(igatoires Uti(isation d5un (ien en %ixed user

Pour autoriser (e %ast re%resh i% %aut crer un snapshot (og sur (a tab(e source

CRE3TE SG3PSKCT LC) CG Tab(e H2TK PR2M3RT RET T3BLESP3CE +++ STCR3)E &:' DBMSSRE4RESK+RE4RESK&Y*ue5'V

Re%resh grab(e par (e biais de %onctions PLIS>L

;E

)roupe de ra%raXchisse!ent

DBMSSRE4RESK+M3RE& na!e AW5no!grp5, (istAW55, nextSdateAW STSD3TE, inter*a(AW YSTSD3TEZ: Y, i!p(icitSdestroyAW 43LSE, ro((bac0Sseg AW Y5, pushSde%erred AW TRUE, re%reshSa%terSerrors AW 43LSE'V
;"

DBMSSRE4RESK+3DD& na!eAW5no!grp5, (istAW5no!*ue5, (axATRUE'V

;.

Dues !atria(ises !odi%iab(es


2ntr7t M 3Jouter / 4CR UPD3TE 1 a*ant (e / 3S SELECT: 1 Rattacher 6 un groupe de *ues !atria(ises

;9

)roupe de *ues !atria(ises


Si!p(i%ication de (5ad!inistration D5autres a*antages: Cration du groupe @

DBMSSREPC3T+CRE3TESMD2EHSREP)RCUP& gna!eAWYno!grp5, !asterAWYbase d5origine5, propagationS!odeAWY3STGCKRCGCUS5'V DBMSSREPC3T+CRE3TESMD2EHSREPCB`ECT& gna!eAWYno!grp5, sna!eAWYsche!a5, ona!eAWYno!!*5, typeAWYSG3PSKCT5, !inSco!!unicationWAYTRUE5'V
;;

3Jout dans (e groupe

Pri*i(8ges

3LTER 3GT SG3PSKCT CRE3TE 3GT SG3PSKCT DRCP 3GT SG3PSKCT

P(ut-t pour (e DB3: Uti(e car per!et d5uti(iser (es (iens pri*s per!et aJout, !odi% et suppr Per!et gestion de *ue sous Jacente au snapshot

CRE3TE D3T3B3SE L2GR

CRE3TE SG3PSKCT

CRE3TE D2EH

;<

Dues !u(ti tiers

Cn peut a*oir des *ues !atria(ises qui reposent e((es !7!es sur des *ues !atria(ises Contraintes @ essentie((e!ent uti(isation des c(s pri!aires+

;$

Syst8!es !u(ti !aXtres

2ntr7t @

cqui(ibrage de charge Rsistance aux pannes 2nteroprabi(it entre app(ications Synchrone @ M3` i!!diate 3synchrone @ %i(es d5attente &et d5erreur:'
;=

Cohrence M

Mise en oeu*re

R-(es

3d!inistrateur

3Jout de sites, !ise en so!!ei(, etc+ En*oi des requ7tes Mise en Nu*re des requ7tes reQues

Propagateur

Rcepteur

;B

Structures

Liens p(ani%is

Liens a*ec uti(isateur %ixe Z p(ani%ication des en*ois &transactions'

Purge )roupe !aXtre


Contient (es obJets rp(iqus 2( peut y en a*oir p(usieurs: Gotion de site de d%inition 3Jouts sur (e site de d%inition
<#

Site !aXtres

Rso(ution de con%(its

Mthodes proposes par Crac(e@


P(us rcente !odi% &ti!esta!p' Rcriture Max et !in Moyenne et so!!e Esta!pi((age Priorit de groupe Priorit de site
<E

Rso(ution de con%(it

P(us rcente !odi%


La p(us rcente est (a bonne &pas de (ien entre *a(eurs' Suppose datage uni%or!e Essentie((e!ent pour !ono !aXtre

Rcriture

<"

Rso(ution de con%(it

3dditi*e

Cn aJoute (a di%%rence CR pour transactions %inanci8res par ex+ CR pour donne *o(uant *ers !oyenne CR a*ec !ono !aXtre
<.

Moyenne

3bandon

Rso(ution de con%(it

P(us ancienne date

Uti(isation (i!ite: &!ono !aXtre' Pour des donnes s5y pr7tant Priorit sui*ant (a *a(eur d5une co(one donne

Maxi!u!, Mini!u!

)roupes prioritaires

Site prioritaire
<9

3utres types de con%(its

2nsertion

Squences Co(onne de suppression

Suppression

<;

E*iter (es con%(its

)roupes de co(onnes

Cn peut !odi%ier sur deux groupes indpendants sans gnrer de con%(it )ranu(arit rg(ab(e

Site propritaire

Possession dyna!ique

<<

Co!p(!ents sur (a rp(ication

Te!p(ate de rp(ication

Pour si!p(i%ier rp(ication !assi*e Ex @ copies sur !achines no!ades Description des tab(es distribues Triggers Types d5CbJets :
<$

Rp(ication d5autres in%or!ations

Potrebbero piacerti anche