Professional Documents
Culture Documents
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
Avril 2013
1. Rpartition & Fdration 2. Bases de donnes Rparties 3. Bases de donnes Fdres 4. Accs aux donnes rparties 5. Rplication
5. Rplication
Objectifs de la rplication Modes de rplication
1
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
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)
Multibase
Plusieurs BD (htrognes ou non) capables d!interoprer sans une vue commune (absence de modle commun)
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
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
10
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
13
14
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
Site 4
Commande2
Site 3
Produit2 Fournisseur
15
16
Fragmentation
Schma de fragmentation
Optimisation
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
20
22
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
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)
! pour l!essentiel recherche de clart sans remise en cause des qualits recherches 25
26
Architecture de rfrence
Organisation des schmas & Niveaux des langages :
27
28
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
29
30
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.
Les usagers connaissent la localisation Si une jointure est ncessaire, elle doit tre ralise par l!application
31
32
33
34
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
36
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
37
38
SGBD rpartis
(RJ Chevance)
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 :
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
40
Solutions :
! Partitionnement vertical ! Partitionnement horizontal
Bernard ESPINASSE - Introduction aux bases de donnes rparties et fdres
41
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
Rplication
Site A
Site A
Site B
Internet (WAN)
Site B Site C
Site central
2. Distribution d!information :
BD entreprise globale
Site C
Site A
BD Europe BD Amrique BD Asie Site A
Site B
Site B Site C
Internet (WAN)
Site B Site C
Site C
45
46
Modes de rplication
2 Modes de rplication : Asymtrique : une copie primaire / N copies secondaires
47
48
Modles de rplication
49
50