You are on page 1of 13

Bases de donnes Rparties, Fdres et Rplication

Bernard ESPINASSE
Professeur Aix-Marseille Universit (AMU) Ecole Polytechnique Universitaire de Marseille

Plan
1. Introduction : Rpartition & Fdration 2. Bases de donnes Rparties
Problmes majeurs Fragmentation horizontale Evaluation et optimisation des requtes rparties

3. Bases de donnes Fdres


Procdure d!intgration : Traitement de l!htrognit smantique, traduction des schmas, intgration des schmas Cas de conflits dans l!intgration Architecture de rfrence

Avril 2013

1. Rpartition & Fdration 2. Bases de donnes Rparties 3. Bases de donnes Fdres 4. Accs aux donnes rparties 5. Rplication

4. Accs aux donnes rparties


RDA, DRDA, SQL-CLI, ODBC, JDBC Vues rparties et SGBD rpartis

5. Rplication
Objectifs de la rplication Modes de rplication
1
Bernard ESPINASSE - Introduction aux bases de donnes rparties et fdres

Bernard ESPINASSE - Introduction aux bases de donnes rparties et fdres

Bibliographie du cours
Livres : Gardarin G., Bases de donnes objet et relationnel , Ed. Eyrolles, 1999 (ISBN : 2-212-09060-9). Gardarin G. & Gardarin, Le Client-Serveur, Ed. Eyrolles, ISBN 2-212-08876-0, 1996 Miranda & Ruols, Client-Serveur : Concepts, moteurs, SQL et architectures parallles , Ed. Eyrolles, ISBN 2-212-08816-7, 1994 Prsentations de : Ren J. Chevance Georges Gardarin Didier Donsez

1. Introduction
La rpartition des donnes BD Rparties Fdration de BD existantes : BD Fdres

Bernard ESPINASSE - Introduction aux bases de donnes rparties et fdres

Bernard ESPINASSE - Introduction aux bases de donnes rparties et fdres

Introduction : dfinitions
BD Rpartie (Distributed DB)
un schma global et une collection de BDs logiquement relies et rparties entre plusieurs sites

Exemple de BD rpartie
Schma global :
Produit (NoProd, DesProd, Prix, NoFour) Fournisseur (NoFour, NomFour, VilleFour) Client (NoCli, NomCli, VilleCli) Reprsentants (NoRep, NomRep, VilleRep) Commande (NoProd, NoCli, Date, Qte, NoRep)

Base de donnes fdre - a priori htrogne (Federated DB)


Plusieurs BD htrognes capables d!interoprer via une vue commune (modle commun)

Schma des donnes rparties :

Multibase
Plusieurs BD (htrognes ou non) capables d!interoprer sans une vue commune (absence de modle commun)

SGBD rparti ou SGBD distribu (Distributed DBMS)


Systme grant une collection de BD logiquement relies, rparties sur diffrents sites en fournissant un moyen d!accs rendant la distribution transparente l!utilisateur
Bernard ESPINASSE - Introduction aux bases de donnes rparties et fdres

Bernard ESPINASSE - Introduction aux bases de donnes rparties et fdres

La rpartition des donnes


Centralis
+ : galit des accs Facilit de gestion - : Contention sur la BD

BD Rparties
Approche descendante : dcomposition en BD locales
BD Rpartie

Rpartition
+ : Rapidit d!accs au donnes locales Autonomie locale de chaque site, galit des accs, facilit de gestion Accs possible aux autres sites - : Gestion globale de la BD
BD Locale 1 BD Locale 2 BD locale n

Intrts :

Duplication
+ : Disponibilit des donnes Rapidit d!accs aux donnes locales - : Coordination de mises jour

Amlioration des performances (placer les traitements l!endroit o se trouvent les donnes) Disponibilit en raison de l!existence de plusieurs copies Maintien d!une vision unique de la base de donnes malgr la rpartition

Problmes :

Complexit de la rpartition (fragmentation, duplication, placement) Dfinition des schmas locaux partir du schma global
8

Bernard ESPINASSE - Introduction aux bases de donnes rparties et fdres

Bernard ESPINASSE - Introduction aux bases de donnes rparties et fdres

Fdration de BD existantes : BD Fdres


Approche ascendante : intgration logique de BD locales
BD Fdre

2. Bases de donnes Rparties


Intrts :
BD Locale 1 BD Locale 2

BD Locale n

Problmes majeurs dans les BD rparties Fragmentation et duplication Fragmentation horizontale Evaluation et optimisation des requtes rparties

Amlioration des performances (placer les traitements o se trouvent les donnes) Donner aux utilisateurs une vue unique des donnes implmentes sur plusieurs systmes priori htrognes (plates-formes et SGBD) Cas typique rencontr lors de la concentration d!entreprises : faire cohabiter les diffrents systmes tout en leur permettant d!interoprer

Problmes :

Htrognit smantique (BD) et syntaxique (SGBD, communications,.) Intgration des schmas locaux pour crer un schma global
9
Bernard ESPINASSE - Introduction aux bases de donnes rparties et fdres

Bernard ESPINASSE - Introduction aux bases de donnes rparties et fdres

10

Problmes majeurs dans les BD rparties


Dcomposition de la BD-R : ! Fragmentation ! Duplication Evaluation et Optimisation de requtes rparties Transactionnel distribu : ! Fiabilit et rsistance aux pannes : terminaison distribue ! Contrle de concurrence : rsolution des interblocages (deadlocks) :
Bernard ESPINASSE - Introduction aux bases de donnes rparties et fdres

Fragmentation et duplication
Relation globale Fragmentation

Allocation

Site 1

Site 2

Fragmentation : ! 3 types : Horizontale, Verticale, Mixte ! Performance en favorisant les accs locaux ! Equilibrage de la charge entre les sites Duplication : ! Favoriser les accs locaux ! Augmenter la disponibilit des donnes
Bernard ESPINASSE - Introduction aux bases de donnes rparties et fdres

11

12

Fragmentation horizontale
Fragments dfinis par slection :
Client1 = select * from Client where ville = "Marseille" Client2 = select * from Client where ville <> "Marseille"

Fragmentation Verticale
Fragments dfinis par projection:
Produit1 = select NoProd, DesProd, Prix from Produit Produit2 = select NoProd, NoFour from Produit

Reconstruction : Reconstruction :
Client = Client1 U Client2
Client NoCli NomCli VilleCli C1 Marius Marseille C2 Durant Lyon C3 Duval Paris C4 Olive Marseille Client 1 NoCli NomCli VilleCli C1 Marius Marseille C4 Olive Marseille NoCli NomCli VilleCli C2 Durant Lyon C3 Duval Paris

Produit = select NP, Dsigantion, PrixUnit, NF from Produit1 join Produit2 using(NP)
Produit NoProd P1 P2 P3 P4 DesProd chaise bureau table fauteuil Prix 80 150 100 200 NoFour F1 F1 F2 F2 Produit 1 NoProd P1 P2 P3 P4 DesProd chaise bureau table fauteuil Prix 80 150 100 200

Client 2

Produit 2 NoProd NoFour P1 F1 P2 F1 P3 F2 P4 F2

Bernard ESPINASSE - Introduction aux bases de donnes rparties et fdres

13

Bernard ESPINASSE - Introduction aux bases de donnes rparties et fdres

14

Fragmentation horizontale drive


Fragments dfinis par jointure:
Commande1 = select * from Commande where NoCli in (select NoCli from Client1) Commande2 = select * from Commande where NoCli in (select NoCli from Client2)

Allocation de fragments aux sites


Non-Duplique : ! partitionne : chaque fragment n!existe que sur un seul site Duplique : ! chaque fragment est sur plus d!un site ! maintien de la cohrence des copies multiples

Reconstruction :
Commande = Commande1 U Commande2
Commande NoProd NomCli date P1 C1 10/1/04 P2 C2 10/1/04 P2 C2 21/3/04 P3 C4 15/4/04 Qte 10 20 15 20 Commande1 NoProd NomCli date P1 C1 10/1/04 P3 C4 15/4/04 NoProd NomCli date P2 C2 10/1/04 P2 C2 21/3/04 Qte 10 20 Qte 20 15

Commande2 Client2 Produit1

Site 1 Rseau (LAN/WAN) Site 2

Site 4

Commande2

Commande1 Client1 Produit1

Site 3

Produit2 Fournisseur

Bernard ESPINASSE - Introduction aux bases de donnes rparties et fdres

15

Bernard ESPINASSE - Introduction aux bases de donnes rparties et fdres

16

Evaluation et optimisation des requtes rparties


Requtes sur les tables de schma global

Fragmentation

Schma de fragmentation

3. Bases de donnes Fdres


Procdure d!intgration Traitement de l!htrognit smantique
Schma d!allocation

Requte sur les fragments

Optimisation

Traduction des schmas Intgration des schmas

Plan d!excution rparti

Cas de conflits dans l!intgration Architecture de rfrence


17 18

Bernard ESPINASSE - Introduction aux bases de donnes rparties et fdres

Bernard ESPINASSE - Introduction aux bases de donnes rparties et fdres

Fdration de BD existantes : BD Fdres


Approche ascendante : intgration logique de BD locales
BD Fdre

Procdure dintgration Procdure d!intgration :


1. Traitement de l!htrognit smantique (donnes de la base)

BD Locale 1

BD Locale 2

BD Locale n

Intrts :
Amlioration des performances (placer les traitements o se trouvent les donnes) Donner aux utilisateurs une vue unique des donnes implmentes sur plusieurs systmes priori htrognes (plates-formes et SGBD) Cas typique rencontr lors de la concentration d!entreprises : faire cohabiter les diffrents systmes tout en leur permettant d!interoprer
Bernard ESPINASSE - Introduction aux bases de donnes rparties et fdres

2. Traitement de l!htrognit syntaxique : Traduction des schmas (SGBD, communication) 3. Intgration des schmas (pour crer un schma global)

19

Bernard ESPINASSE - Introduction aux bases de donnes rparties et fdres

20

1 - Traitement de lhtrognit smantique


Htrognit smantique : ! Origine : Rsulte des conceptions indpendantes des diffrentes BD ! Effet : Dsaccord sur la signification des donnes ! Solution : Analyse smantique compare des donnes, pralable la fdration (souvent avec la phase de traduction)

2 - Traduction des schmas


Permet une rsolution de l!htrognit syntaxique
Origine : utilisation de modles diffrents dans les BD composantes Effet : ncessite des traductions de tous les modles vers tous les modles Solution : traduction de tous les schmas dans un modle commun dit canonique ou pivot Problmatique : ! Le modle canonique doit avoir un pouvoir de modlisation suprieur ou gal ceux des modles des BD composantes ! Ncessit de complter smantiquement des modles de BD composantes qui seraient trop pauvres Choix du modle canonique : ! Entit Association, Relationnel ! Objet
21
Bernard ESPINASSE - Introduction aux bases de donnes rparties et fdres

Bernard ESPINASSE - Introduction aux bases de donnes rparties et fdres

22

3 - Intgration des schmas

Dmarche dintgration de schmas (1)


Pr-intgration : tablissement du plan d!intgration Comparaison : mise en vidence des conflits Mise en conformit : rsolution des conflits Fusion : fusion des schmas Restructuration : amlioration du schma global 23 24

Procdure :
Identifier les lments de base qui sont lis Choisir la reprsentation la plus adquate pour le schma global Intgrer les lments des schmas intermdiaires
Bernard ESPINASSE - Introduction aux bases de donnes rparties et fdres

Bernard ESPINASSE - Introduction aux bases de donnes rparties et fdres

Dmarche dintgration de schmas (2)


Pr-intgration :
! mise en vidence des dpendances induites par les schmas ! dfinitions des quivalences entre domaines ! convention de dsignation ! ! ! ! de dsignation (homonymie, synonymie) structurels de domaine de contraintes

Cas de conflits dans lintgration


Conflits d!attributs :
! Conflit de nom : -> renommage ! Conflit de type : -> conversion

Comparaison ou analyse - mise en vidence des conflits :

Attribut sans quivalent dans l!autre relation :


! Attribut optionnel : -> valeur nulle ! Attribut indispensable : -> relation auxiliaire

Conflit de relation :
! Conflit multi-attribut : un attribut correspond plusieurs dans l!autre relation (ex. adresse et N, rue, code, ville) : -> utilisation d!un calcul sur les attributs (ex. extraction) ! Conflit de cl : pas la mme cl : -> changement de cl la cl d!une des relations composantes n!est pas une cl gnrale : -> gnration d!une nouvelle cl par ajout d!un lment (ex. nom de commune pas dterminant au niveau national ajout du numro de dpartement au nom de la commune pour crer la nouvelle cl)

Mise en conformit : rsolution des conflits :


! renommage pour les conflits de noms ! tude au cas par cas pour les conflits structurels ! compltude (pas de perte d!information) ! minimalit (absence de redondance) ! clart

Fusion des schmas - Qualits recherches :

Restructuration - Amlioration du schma global :

! pour l!essentiel recherche de clart sans remise en cause des qualits recherches 25

Bernard ESPINASSE - Introduction aux bases de donnes rparties et fdres

Bernard ESPINASSE - Introduction aux bases de donnes rparties et fdres

26

Traduction des schmas

Architecture de rfrence
Organisation des schmas & Niveaux des langages :

Passage par un modle canonique :


Chaque site possde un traducteur local/canonique Chaque traducteur ralise 3 conversions : ! schma local : schma quivalent en modle canonique ! donnes locales : donnes quivalentes en modle canonique requtes en langage du modle canonique ! requtes quivalentes en modle local
+ Dveloppement d!un seul traducteur par SGBD + Simplification de la modlisation + Transparence - Difficult de dfinir un modle canonique aussi riche que les modles locaux - Temps de rponse accru pour les interrogations locales

Bernard ESPINASSE - Introduction aux bases de donnes rparties et fdres

27

Bernard ESPINASSE - Introduction aux bases de donnes rparties et fdres

28

Types daccs aux donnes rparties


3 types d!accs :

4. Accs aux donnes rparties


Types d!accs aux donnes rparties RDA - Remote Data Access SQL-CLI ODBC - Open Data Base Connectivity JDBC - Open Data Base Connection Vues rparties SGBD rpartis

Client / Multibases :
RDA (Remote Data Access) - Standard ISO DRDA (Distributed Relational DatabaseArchitecture) d!IBM (semble tre en voie de disparition) SQL-CLI (Call Level Interface) de l!Open Group ODBC (Open Database Connectivity) de Microsoft JDBC (Java Database Connection) de SUN

Vues rparties (sur BD fdres) SGBD rparti

Bernard ESPINASSE - Introduction aux bases de donnes rparties et fdres

29

Bernard ESPINASSE - Introduction aux bases de donnes rparties et fdres

30

RDA - Remote Data Access

SQL-CLI
1988 : consortium SAG (SQL Access Group) regroupant 44 diteurs de SGBD avec pour objectif de dfinir : un standard d!interoprabilit entre clients et SGBD; une interface (CLI Call Level Interface) dfinissant un ensemble d!API (Application Programming Interface) communes pour les diffrents SGBD.

Ex : Composants de la CLI ODBC de Microsoft

Les usagers connaissent la localisation Si une jointure est ncessaire, elle doit tre ralise par l!application

Bernard ESPINASSE - Introduction aux bases de donnes rparties et fdres

31

Bernard ESPINASSE - Introduction aux bases de donnes rparties et fdres

32

ODBC - Open Data Base Connectivity


Spcification contrle par Microsoft et supporte par les principaux fournisseurs de SGBD Difficult : niveau de SQL support, dveloppement des pilotes

JDBC - Open Data Base Connection


Spcification commune Sun et diffrents fournisseurs de SGBD Difficult : risque potentiel d!intrusion dans des systmes par l!intermdiaire du code mobile (byte-code)

Bernard ESPINASSE - Introduction aux bases de donnes rparties et fdres

33

Bernard ESPINASSE - Introduction aux bases de donnes rparties et fdres

34

Vues rparties (1)


Transparence de la localisation assure par la dfinition des vues rparties :
! Les jointures inter-bases sont excutes par le systme ! Les mises jour sont supportes au moyen des vues rparties ! Un protocole de validation 2 phases est support

Vues rparties (2)


Dfinition de la vue rpartie (sur le site 3) :
CREATE VIEW Accident-grave {Npersonne, nom, prnom, adresse,gravit, dpartement, N vhicule, marque, type} AS SELECT P.Npersonne, P.nom, P.prnom, P.adresse, B.gravit, A.dpartement,V.N vhicule, V.marque, V.type FROM S1.Personne P, S2.Bless B, S2.Accident A, S1.Voiture V WHERE P.Npersonne = B.Npersonne AND B.gravit > commotions AND A.Nvhicule = V.Nvhicule AND A.N.accident = B.Naccident

Requte sur la vue rpartie (sur le site 3) : liste des blesss graves dans une
voiture yyy de marque xxx dans la rgion parisienne SELECT Npersonne,nom,prnom,adresse FROM Accident-grave WHERE marque = xxx AND type = yyy AND dpartement IN (75, 78, 91, 92, 93, 94, 95)
Bernard ESPINASSE - Introduction aux bases de donnes rparties et fdres

35

Bernard ESPINASSE - Introduction aux bases de donnes rparties et fdres

36

Vues rparties (3)


Fonctions ralises par le gestionnaire des vues rparties :
La transformation de la requte sur les relations de base La dcomposition de la requte en requtes mono-site : Requte sur site 1 : SELECT Nvhicule FROM Voiture !. Requte sur site 1 : SELECT * FROM Personne ! Requte sur site 2 : SELECT B.Npersonne, A.Nvhicule FROM Bless B, Accident A, ! Le contrle de l!excution des requtes L!intgration du rsultat en effectuant les diffrentes oprations (dont les jointures)

SGBD rpartis
La transparence la localisation est assure par la dfinition de la base rpartie :
! Les diffrentes oprations sont prises en charge par les diffrents SGBD ! Un protocole de validation 2 phases est support

Conclusion :
Le systme apparat l!application comme un vrai SGBD rparti mais : ! Il y a toujours 3 requtes diffrentes pour 2 sites ! La totalit de la relation personne doit tre transfre

Bernard ESPINASSE - Introduction aux bases de donnes rparties et fdres

37

Bernard ESPINASSE - Introduction aux bases de donnes rparties et fdres

38

SGBD rpartis
(RJ Chevance)

SGBD rparti : Plan dexcution rpartie


(RJ Chevance) Requte sur site SAMU :
SELECT B.Npersonne, A.Nvhicule FROM Bless B, Accident A WHERE B.Naccident = A.Naccident AND B.gravit > commotions AND A.dpartement IN (75, 78, 91, 92, 93, 94, 95) INTO temp1 SEND temp1 to S75, S78, S91, S92, S93, S94, S95

Schma conceptuel de la base :


Personne (N personne, nom, prnom, adresse, ) Voiture (N vhicule, marque, type, ) Conducteur (N personne, N vhicule, NB_accidents,..) Accident (N accident, date, dpartement, N vhicule, N personne, ) Bless (N accident, N personne, gravit, .)

Requtes sur S75, S78, S91, S92, S93, S94, S95 :


RECEIVE temp1 FROM SAMU SELECT P.nom,P.prnom FROM Personne P, temp1 T, Voiture V WHERE P.Npersonne = T.Npersonne AND T.Nvhicule = V.Nvhicule AND V.marque = xxx AND V.type = yyy INTO temp2.i SEND temp2.i TO Interrogation

Implmentation de la base :
Sites 75, 78, 91, 92, 93, 94, 95 : Bases prfectorales avec Voitures, Conducteur et Personne pour les voitures immatricules dans le dpartement (Personne, Voiture, Conducteur) SAMU : base SAMU de la rgion parisienne (Accident, Bless)

Requte sur site Interrogation :


RECEIVE temp2.75 FROM S75 RECEIVE temp2.95 FROM S95 UNION temp2.75, temp2.78,..temp2.95 INTO rsultat

Requte :
liste des blesss graves dans une voiture type yyy de marque xxx dans la rgion parisienne 39

Le SGBD rparti a pris en charge tous les problmes lis la rpartition Les transferts sont minimiss : seuls les N des blesss et des vhicules sont transfrs
Bernard ESPINASSE - Introduction aux bases de donnes rparties et fdres

Bernard ESPINASSE - Introduction aux bases de donnes rparties et fdres

40

SGBD rparti : les problmes & solutions


Validation 2 phases : utilis ds qu!une mise jour s!adresse plus d!un site ou plus d!une base sur un mme site Verrouillage 2 phases : pour assurer la srialisation des transactions (phase d!acquisition des verrous puis phase de relchement des verrous) Dtection des deadlocks Partitionnement et placement des donnes : Objectifs :
! Rduction de la charge (accs aux donnes, communication, espace de recherche) ! quilibrage de charge ! Accroissement du travail utile (e.g. effet de cache)

SGBD rpartis du march


Ingres/STAR ! le premier IBM DB2 ! 3 produits : DataLinks, DataJoiner, DataPropagator Informix ! 2 produits : Virtual Table Interface, Enterprise Replication Oracle ! 2 produits : Transparent Gateways, Database Replication Sybase ! Replication Server

Solutions :
! Partitionnement vertical ! Partitionnement horizontal
Bernard ESPINASSE - Introduction aux bases de donnes rparties et fdres

41

Bernard ESPINASSE - Introduction aux bases de donnes rparties et fdres

42

Objectifs de la rplication
Objectifs de la rplication :
Amliorer la disponibilit des donnes Respect de l!intgrit des donnes Amliorer les performances Administration centralise

5. Rplication
Objectifs de la rplication Modes de rplication

Difficults de la rplication :
Synchronisation des copies Transparence de la gestion

Copies :
Copie Primaire (ou Matre ou Source) : reoit les mises jour Copie Secondaire (ou Esclave ou Cible) : en consultation seulement peut tre dsign Primaire en cas d !arrt de la copie primaire
43 44

Bernard ESPINASSE - Introduction aux bases de donnes rparties et fdres

Bernard ESPINASSE - Introduction aux bases de donnes rparties et fdres

La Rplication : Exemples (1)


1. Mouvement d!information (OLTP DSS) :
BD production

La Rplication : Exemples (2)


3. Consolidation d!information :
Site A BD dcisionnelle

Rplication

Site A
Site A

Site B Site C Site A

Site B

Site B Site C Site A Site B Site C

Internet (WAN)

Site B Site C

Site central

2. Distribution d!information :
BD entreprise globale

Site C

4. Mises jour sans conflits :


Site A

Site A
BD Europe BD Amrique BD Asie Site A

Site B Site C Site A

Site B

Site B Site C

Internet (WAN)

Site B Site C

Site C

Bernard ESPINASSE - Introduction aux bases de donnes rparties et fdres

45

Bernard ESPINASSE - Introduction aux bases de donnes rparties et fdres

46

Modes de rplication
2 Modes de rplication : Asymtrique : une copie primaire / N copies secondaires

Modles de rplication : modes de propagation des mises jour


2 modes de propagation des Mises Jour (source -> cible): Synchrone : Mises jour globales dans une mme transaction
+ : Cohrence forte : Contrle de Concurrence (Verrouillage ) & Terminaison : 2 Phase Commit

Symtrique : N copies primaires

- : Ralentit la transaction et le dbit (mise en uvre de la validation 2 phases)

Asynchrone : Mises jour dans des transactions diffres


+ : incidence faible sur les performances - : Ncessit de mise niveau de la ou des copie(s) en cas de reprise
Bernard ESPINASSE - Introduction aux bases de donnes rparties et fdres

47

Bernard ESPINASSE - Introduction aux bases de donnes rparties et fdres

48

Modles de rplication

Modles de rplication : technologies et problmes

(D. Donsez) (D!aprs RJ Chevance)


Bernard ESPINASSE - Introduction aux bases de donnes rparties et fdres

49

Bernard ESPINASSE - Introduction aux bases de donnes rparties et fdres

50

You might also like