P. 1
BDR Bases de données réparties 2010-1

BDR Bases de données réparties 2010-1

|Views: 8|Likes:
Publié parjlkazadi

More info:

Published by: jlkazadi on Nov 06, 2013
Droits d'auteur :Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

01/03/2014

pdf

text

original

Bases de données avancées

-

Bases de données réparties et répliquées
Matthieu Exbrayat
Licence professionnelle Novembre 20 0

Introduction

BD distribuée / répliquée =

Plusieurs SGBD Plusieurs sites (éventuellement) Des données vues comme un tout cohérent
 

En général, vue comme une base unique Eventuellement un assemblage hétérogène vace un noyau rendu cohérent

Des outils facilitant la mise en oeuvre (transparence)

BD distribuée / BD répartie

BD Distribuée (ou répartie)

Les tables du schéma sont réparties sur différentes bases, situées sur différent(e)s (instances du) SGBD Une même table peut être éclatée entre les différents sites Plusieurs exemplaires d'une base situés sur différentes instances du SGBD Les exemplaires sont maintenus en cohérence, avec éventuellement un délai Exemplaires modifiables? consultables?

BD Répliquée

vues matérialisées. … Spécificités : Database links. …   Mise en oeuvre pratique (partielle) Présentation de la répartition /réplication dans d'autres SGBDs  .Objectif du cours  Définition des différents types de BD Mise en oeuvre sous Oracle   Background : PLSQL.

!appels "dministration sous #racle $ %toc&a'e( schéma( r)le 5 .

Mise en place d’une BD ? Installation SGBD Création de la Base de Données Création d’utilisateurs Création du (des) schéma(s) 6 .

Installation d’un SGBD Utilisateur spécifi ue ! du SGBD" a#ec un ou des $roupes  propriétaire spécifi ues %uels composants sont nécessaires !  Ser#eur  Interface d’administration  Interface d’interro$ation  Utilitaires de sau#e$arde  Interface réseau (tns listener sous &racle) 7 .

Fichiers de données  (rincipe ) le SGBD $*re (toutes) ses informations sous forme de données (relationnelles)  Données  utilisateurs s-st*mes Données" inde+.iste des ta/les" audit" utilisateurs. .e ' .  Données   Ces données sont placées dans des fichiers SGBD se char$e de la $estion interne de ces fichiers  .

Tablespaces Un ta/lespace est une structure lo$i ue de stoc1a$e de données (rincipau+ ta/lespaces)  US23S ) Données utilisateurs  425( ) Données temporaires (calculs)  S6S425 ) dictionnaire de données et procédures stoc1ées  4&&.S ) audit" etc7  3BS ) 3oll/ac1 0 .

Tablespaces et fichiers 4a/lespace : or$anisation lo$i ue .ichier: or$anisation ph-si ue Un ta/lespace: 8 ou plusieurs fichiers 89 .

l’intérieur d’un tablespace  découpa$e de /ase ) /loc de données  découpa$e lo$i ue ) se$ments  un se$ment : une ta/le (ou un cluster)  si le se$ment est plein ) e+tension  .e mécanisme d’e+tension est $éré par des r*$les (taille e+tension" pourcenta$e d’accroissement)  Ces r*$les sont $lo/ales au ta/lespace  2lles peu#ent <tre surchar$ées lors de la définition de la ta/le 88 .

’" SI@2 ++5 D2.2 ?. ++B A2C4 --B 5IA2C42A4S ii 5>C2C42A4S DD (C4IAC32>S2 EE)F 8= .I.4 S4&3>G2 ( IAI4I>.>U. ++B A2C4 --B 5IA2C42A4S ii 5>C2C42A4S DD (C4IAC32>S2 EE)  4a/le  C32>42 4>B.2S(>C2 nomts D>4>.77 ) S4&3>G2 ( IAI4I>.Gestion des tailles de se!"ents  4a/lespace  C32>42 4>B.2 ( .

2S(>C2 ts1 425(&3>36 4>B.I2D B6 passwd D2.4 4>B. H(3&.2:limitations 8G . &A .I.2 profIF (3&.I.2S(>C2 ts2 %U&4> .#réation d’$tilisateur C32>42 US23 nom ID2A4I.>U.

%&les et pri'il(!es  pri#il*$es  3Kle : droits d’effectuer une action ) création ta/le" création inde+" etc7  e+emples : ensem/le prédéfini de pri#il*$es  Intér<t !  >ffectation ) G3>A4  G3>A4 priv/rôle H&A tableI 4& utilisateur  Suppression  32L&B2 ) 32L&B2 priv/rôle H&A tableI .3&5 utilisateur 8J .

%&les )!énérale"ent* nécessaires C&AA2C4 32S&U3C2 (ermettent de se connecter M la /ase et de $érer des données (création et suppression de ta/les" d’inde+" de clusters"de sé uences" de #ues777) 85 .

Bases de données réparties .

a présente un intér-t.BD répartie  *ourquoi répartir +    *arce que . %ites distants / localiser les acc0s aux données 1orte char'e / multiplier les points d2acc0s 4 sans 5 contr)le au niveau des données 6plateformes applications( moniteurs transactionnels7 4 avec 5 contr)le 8 ce niveau $ %9B: réparti  3omment répartir +   .

Définition

Une base de données répartie (distribuée) est une base de données logique dont les données sont distribuées sur plusieurs SGBD et visibles comme un tout. Les données sont échangées par messages Si les données sont dupliquées, on parle plutôt de BD répliquée

Cependant, une partie des tables est en général répliquée

+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 d’interruption de ser#ice) .ocalisation transparente ;ra$mentation transparente Indépendance M la réplication 2+écution de re u<tes distri/uées Gestion de transactions réparties Indépendance #isQMQ#is du matériel Indépendance #isQMQ#is du S-st*me d’2+ploitation Indépendance #isQMQ#is du réseau Indépendance #isQMQ#is du SGBD
80

>utonomie locale

.a BD locale est compl*te et autonome (inté$rité" sécurité" $estion)" elle peut é#oluer indépendamment 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 résistance au+ fautes et au+ pannes (en théorie)

2$alité entre sites

;onctionnement continu

=9

es données répli uées doi#ent <tre maintenues en cohérence (délai possi/le) =8  .ra$mentation transparente   Indépendance M la réplication  . .ocalisation transparente  >cc*s uniforme au+ données uel ue soit leur site de stoc1a$e Des données (d’une m<me ta/le) éparpillées doi#ent <tre #ues comme un tout .

) .e mécanisme de transactions peut <tre réparti entre plusieurs sites (si .e SGBD fonctionne sur les différentes plateformes utilisées  4ransactions réparties   Indépendance #isQMQ#is du matériel  == . 3e u<tes distri/uées  .’e+écution d’une re u<te peut <tre répartie (automati uement) entre plusieurs sites (si les données sont réparties) .

e SGBD est accessi/le M tra#ers les différents t-pes de réseau utilisés  Indépendance #isQMQ#is du réseau   Indépendance #isQMQ#is du SGBD .e SGBD fonctionne sur les différents S2.  =G . Indépendance #isQMQ#is du S2  .a /ase peut <tre disti/uée sur des SGBD hétéro$*nes  2n théorie. .

 BD distri/uée   Un schéma $lo/al .. =J  BD fédérée   S-st*me multiQ/ases   5ais il e+iste d’autres définitions R  .uel-ues ter"es é-ui'o-ues.es données sont réparties sur plusieurs sites" accessi/les M partir du site central ou de tous les sites Cha ue site a son schéma local" pas forcément inclus enti*rement dans le schéma $lo/al (il .a un site central) (as de schéma $lo/al" pas de site central7 >cc*s M (une partie des) données distantes7 2+ ) fédérée : approche ascendante partielle .

#onception de BD répartie  &n ne met en place une BD répartie u’en cas de réel /esoin    Démarche de conception délicate Gestion comple+e .usions de SI =5  Des raisons #ala/les )   .’é#olution du SI peut in#alider la solution retenue. Lolumes de données" sites distants" etc7 .

BD% co""ent /a "arche Application Schéma externe Contrôleur sémantique SCG Requêtes réparties Gestion de transactions Dictionnaire de répartition Requêtes locales Gestion de sous-transactions SGBD SCL Journal des modi ications S!L =6 .

De -uoi a0t0on besoin ?    .e tout sous &racle777  =7 .aire communi uer les sites 3épartir les données >ssurer la cohérence $lo/ale .

De -uoi a0t0on besoin ?    .aire communi uer les sites 3épartir les données >ssurer la cohérence $lo/ale =' .

=0 .#o""unication Inter0 sites  Cha ue SGBD dispose d’un démon permettant les conne+ions distantes" sur un mode client Q ser#eur  Listener (médiateur) Nom >> doit être unique !!! dresse !roto"ole  Cha ue SGBD dispose d’une ta/le des BDs accessi/les     Cette approche permet aussi un é uili/ra$e de char$e transparent.

IAB  >cc*s ta/le distante ) schéma7ta/leT/ase  .12e"ple 3 Oracle       (ermet la distri/ution et la réplication >ssure une /onne transparence M différents ni#eau+ S-st*me de nomma$e simple  sales7france7europe7computers C32>42 D>4>B>S2 .IAB sales USIAG SsalesS s#cUmaint7empTsales7france7europe7computers >cc*s BD distante ) .ien pu/lic" lien pri#é G9 .

ien : canal de discussion entre deu+ /ases S-nta+e V C32>42 D>4>B>S2 .Database 4in5          .IAB sales USIAG SsalesS 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 ) schéma7ta/leTlien V s#cUmaint7empTsales7france7europe7computers G8 .

ocalisation ) s-non-mes  C32>42 (UB.&3 s#cUmaint7empTsales7france7europe7computers    3e u<tes et transactions &pérations internes 3éplication G= .IC S6A&A65 emplo-es .a s-nta+e précédente est lourde et peu transparente777 .Transparence   .

uel-ues autres principes fonda"entau2 dans oracle  >utonomie des sites  Gestion indépendante" up$rades localisés.Ser#er 2ncr-pta$e  Sécurité     >dministration $lo/ale ) enterprise mana$er GG . .es utilisateurs et leurs rKles doi#ent <tre connus sur cha ue site accédé (ossi/ilité d’utiliser un Securit.BD% 3 .

De -uoi a0t0on besoin ?    .aire communi uer les sites 3épartir les données >ssurer la cohérence $lo/ale GJ .

Deu2 approches de conception  Conception ascendante   (art de l’e+istant Int*$re /ases locales dans schéma $lo/al  Conception descendante   &n part du schéma $lo/al &n le scinde en schémas locau+ G5 .

Interfacer ou adapter les SGBD. 2+ ) fusion" mise en place DW  Conception descendante    &n part de Eéro (nou#elle /ase) 3echerche de performance (pas forcément de répartition $éo$raphi ue) >sseE peu fré uent G6 . Conception ascendante   Deu2 approches de conception Distri/ution préQe+istante Aécessite consolidation" uniformisation (N réconciliation sémanti ue O)     Identifier les données sem/la/les >ccorder leurs t-pes" $érer leur cohérence.

Sché"as d’une BD répartie Schéma "xterne S"# Schéma Conceptuel Glo&al Schéma Conceptuel Local SCL# Schéma !nterne Local S!L# S"% SCG SCL% S!L% SCL$ S!L$ S"$ G7 .

ra$mentation horiEontale  .Fra!"entation des données  .ra$mentation #erticale   .es tuples sont découpés et fra$mentés Aécessite colonne commune (clé ou uni ue) dupli uée G' .es tuples sont répartis  .

Fra!"entation hori6ontale  2n conception descendante   >dé uation $éo$raphi ue 3echerche de performance (IX&" traitements) Des données compara/les dans différentes /ases (/ ) consolidation correcte (unicité des clés" t-pes des attri/uts.)  2n conception ascendante   G0 .

Fra!"entation 'erticale     &n proDette la ta/le sur des attri/uts différents sui#ant site7 Comme fra$7 horiEontale" peut correspondre M consolidation ou recherche de perf7 .a reconstruction des tuples doit <tre possi/le (et #alidée) 5<mes pro/l*mes ue f7h7 J9 .

Fra!7 hori6ontale déri'ée     (lacer deu+ ta/les en relation de mani*re M localiser les Dointures Une des deu+ ta/les doit <tre fra$mentée en fonction de l’autre (semi Dointure) (lutKt en approche descendante (eut introduire des redondances J8 .

Mise en prati-ue de la fra!"entation  Yistori ue ) des SGBDs distri/ués   3Z" etc7 (lutKt e+périmental (as de fra$mentation e+plicite au ni#eau du schéma >ssem/la$e : création de #ue (ou de snapshot) Distri/ution des données !   Dans les SGBD commerciau+ actuels    Une solution : tri$$ers J= .

%épartition des données [ [ Insertion locale V V V Lérifier le respect des contraintes de cohérence Insérer depuis un seul site" ou [ [ [ Depuis nSimporte le uel Sui#ant uel crit*re ! Comment ! Insertion $lo/ale Déplacer #ers le site de destination [ >cc*s transparent V 3econstruire les ta/les JG .

%econstitution des tables [ [ .ra$menter permet de fa#oriser les traitements locau+ (ou la montée en char$e) Il faut toutefois pou#oir reconstituer les ta/les $lo/ales JJ .

3&5 4a/le=Tsite= J5 .ra$7 YoriEontale  C32>42 LI2W L8 >S S2.2C4 4a/le=7cle" 4a/le=7attr8 .3&5 4a/le8Tsite8 UAI&A S2.2C4 4a/le87cle" 4a/le87attr8 .Mise en 8u're sous S.4 ) sse"bla!e*  .

2n fra$7 #erticale" il faut au néanmois ue ce soit une clé J6  3emar ue )   .4 ) sse"bla!e*  .3&5 4a/le8Tsite8" 4a/le=Tsite= WY232 4a/le87cle:4a/le=7cle l’attri/ut de fra$mentation n’est pas forcément la clé primaire.2C4 4a/le87cle" 4a/le87attr8" 4a/le=7attr= .ra$7 Lerticale  C32>42 LI2W L8 >S S2.Mise en 8u're sous S.

e SGBD $*re les acc*s distants en répartissant la re u<te    2+écution distante de la sous re u<te 3écupération de données résultat >ssem/la$e local (re u<te en lecture) J7 .%e-u9te répartie   .es opérations précédentes (par e+emple) acc*dent M des données situées sur différents sites7 .

De -uoi a0t0on besoin ?    .aire communi uer les sites 3épartir les données >ssurer la cohérence $lo/ale J' .

#ohérence et répartition  Yétéro$énéité 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 l’hétéro!énéité  Yétéro$énéité N sans pro/l*me O   S2 et réseau ) $é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 départ sous Windo]s mais porté sous d’autres &S) 2+ ) passerelles propriétaires SGBD M SGBD 59  Yétéro$énéité plus délicate   P P .

Gestion des contraintes distribuées  4-pes de contraintes    Domaine Unicité Inté$rité référentielle Dans la définition des ta/les (principalement)  Dans un SGBD centralisé" c’est /ien $éré   .e cKté manuel de la distri/ution limite les possi/ilités de $estion des contraintes  Utilisation de #ues ^^ pas de contraintes 58 .

5= .ra$mentation B& Utilisation tri$$er Unicité      Inté$rité 3éférentielle     Ca de#ient #raiment lourd M $érer.12e"ples   Chec1 X A&4 AU.ra$mentation B& Utilisation de tri$$er Site ma\tre pour numérotation ^^ perte autonomie (as $éré en interQ/ases 3éplication &B" .  Se $*re par fra$ment Géra/le par fra$ment Glo/alement ! 3éplication &B" .

+robl("es d:unicité   Se pose notamment pour les clés Deu+ cas de fi$ure) V Un seul site de création [ [ [ DéDM résoluR (ou pres ue) Il suffit dSutiliser un outil de $énération de #aleurs uni ues (sé uences) (uis de distri/uer a#ec un tri$$er V Insertion M partir de plusieurs sites ! 5G .

Génération de 'aleurs uni-ues [ [ 2n local ) ue fournit oracle ! 2n réparti" ue proposeEQ#ous! 5J .

#o"plé"ents [ [ 777 sur les liens entre /ases de données >pporte des précisions utiles par la suite (réplication) 55 .

4iens BD 3 notions a'ancées  G t-pes de liens )  Connected user   5ode de /ase ) m<me utilisateur en local et distant Ce n’est pas nécessairement le créateur du lien Si lien utilisé M partir de procédure" identification en temps ue propriétaire de la procédure Intér<t ! Utilisateur fi+e7 Intér<t ! 56  Current user    .i+ed user   .

IAB #entes7ulp7fr C&AA2C4 4& CU332A4UUS23 USIAG ?#entes’F 3emar ue ) USIAG Q^ nom du ser#iceR 57 .IAB #entes7ulp7fr C&AA2C4 4& scott ID2A4I.IAB #entes7ulp7fr USIAG ?#entes’F C32>42 D>4>B>S2 .12e"ples     C32>42 D>4>B>S2 .I2D B6 ti$er USIAG ?#entes’F C32>42 D>4>B>S2 .

ser#er)  Glo/al  >ccessi/le 5' .4iens BD 3 notions a'ancées  Lisi/ilité )  (u/lic  (rati ue si utilisé par un $rand nom/re d’utilisateurs  (ri#ate _ (défaut) sécurisé" accessi/le uni uement au propriétaire et M ses sousQpro$rammes de n’importe uelle /ase" mais suppose une $estion centrale (director.

I2D B6 ti$er USIAG ?#entes’F C32>42 (UB.IC D>4>B>S2 .IAB #entes7ulp7fr C&AA2C4 4& scott ID2A4I.IC D>4>B>S2 .e2e"ples    C32>42 (UB.IAB #entes7ulp7fr USIAG ?#entes’F C32>42 (UB.IC D>4>B>S2 .IAB #entes7ulp7fr C&AA2C4 4& CU332A4UUS23 USIAG ?#entes’F  Différence a#ec pri#é ! 50 .

IAB lien 69 .IAB lienF  Suppression  D3&( D>4>B>S2 .Opérations sur liens  .423 S2SSI&A C.ermeture  Utile si forte char$e  >.&S2 D>4>B>S2 .

IABS ) tous ceu+ ui lui appartiennent L`DB.  4a/les     DB>UDBU.IABS ) nom/re de liens simultanés dans une m<me session (défaut J" 9 : pas de limite) (IAI47&3>)  (aramétra$e   68 .IABS ) tous ceu+ accessi/les par l’utilisateur US23UDBU.IAB ) tous les liens ou#erts par la transaction &(2AU.Infos utiles.IABS ) tous les liens >.UDBU..

I2D B6 pass]d Ia HC&AA2C4 4& CU332A4UUS23I AUTHENTICATED BY schema IDENTIFIED BY passwd HUSIAG ?ser#ice’I >uthentification pour le lien" conne+ion au schéma distant sui#ant mode de conne+ion choisi Intér<t ) si /eaucoup de conne+ions" sinon surcobt (poolin$) (eut <tre connecté #ers ser#eur M processus dédiés ou parta$és 6= .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.

&B>.e nom complet doit <tre uni ue  Utile a#ec les liens" indispensa/le pour la réplication  (aramétra$e  G.UA>52S (IAI47&3>) 6G .otion de no""a!e !lobal  &racle peut utiliser le nomma$e $lo/al  Cha ue /ase est identifiée par un nom et un domaine7 ..

&B>.&B>.U2 .3&5 L`(>3>52423 WY232 A>52:N d/Udomain OF  5odifier ) dans IAI47&3> S2.3&5 G.UA>52F  >.2C4 Z .423 D>4>B>S2 32A>52 G.Manipuler les no"s !lobau2  S2.UA>52 4& nom7domainF  6J .2C4 A>52"L>.

%etour sur l:insertion  Comment #entiler les données insérées sur un site   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 .

423 X B2.  (eut comporter D2C.Tri!!er  Bloc de code (.242 X U(D>42 4ri$$er : déclencheur (our contrKle (our correction X modification 66  Son traitement est déclenché dans des cas précis      &n a acc*s au+ #aleurs insérées   .&32 X IAS42>D &. IAS234 X D2.XS%.>32 et 2CC2(4I&A777 5odification du contenu dSune ta/le >.

D 2+emple ) )&.D7pri+ 2+emple ! (our un acc*s indi#iduel au+ tuples il faut préciser uSil sSa$it dSun tri$$er .Manipulation des données dans le tri!!er  4uple inséré X modifié (nou#elle #aleur)   )A2W 2+emple ) )A2W7cle )&.&3 2>CY 3&W 67  4uple supprimé X modifié (ancienne #aleur)    Une opération peut impacter plusieurs tuples   .

F 2ADF ➔ Créé M la main par le DB>777  L>.Mise en oeu're en S. IAS234 on 4a/le .U2S()Ae]7cle")Ae]7attr)F 2.&32>CY 3&W B2GIA I.U2S 6' .S2 IAS234 IA4& 4a/le=Tsite=(cle"attr=) ()Ae]7cle")Ae]7attr)F 2AD I. )Ae]7cle c 8999 4Y2A IAS234 IA4& 4a/le8Tsite8(cle"attr8) L>.4 )Insertion et 'entilation a'ec les tri!!ers Oracle* C32>42 43IGG23 4r8 IAS42>D &.

Fra!"entation 'erticale a'ec un tri!!er ?  Comment procéder ! 60 .

+our info 3 répartition sous DB<  DB2 permet l'accès aux données entre bases DB2 DB2 permet l'accès à des données provenant d'autres SGBD : Wrappers   .

You're Reading a Free Preview

Télécharger
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->