Académique Documents
Professionnel Documents
Culture Documents
01 BD Reparties
01 BD Reparties
Mars 2001
Ren J. Chevance
chevance@cnam.fr
Contenu
Dfinitions Exemple de BD rpartie Rpartition des donnes Rpartition - Fdration Fdration de BD
Quelques cas de conflits
Expdition de donnes et Expdition de Fonction Recherche du partitionnement idal Optimisation des requtes rparties Rplication dans les BD Un aperu sur les SGBD du commerce
Un peu dhistoire : Ingres/STAR IBM DB2, Informix, Oracle, Sybase
Dfinitions
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
Multibase
Plusieurs BD (htrognes ou non) capables dinteroprer sans une vue commune (absence de modle commun)
Fdration :
Donner aux utilisateurs une vue unique des donnes implmentes sur plusieurs systmes a priori htrognes (plate-formes et SGBD) Cas typique rencontr lors de la concentration dentreprises : faire cohabiter les diffrents systmes tout en leur permettant dinteroprer
Exemple de BD rpartie
Schma global entit - relation
Viticulteurs Viticulteurs
Produits
Vins Vins
b) - Rpartition B
+ Rapidit daccs au donnes locales + Autonomie locale de chaque site + Accs possible aux autres sites - Gestion globale de la BD
c) - Duplication
BC
+ Disponibilit des donnes + Rapidit d accs aux donnes locales - Coordination des mises jour
ABC
Page 6 RJ Chevance 2001
ABC
Rpartition - Fdration
Approche descendante
Conception dune BD rpartie
Approche ascendante
Intgration/fdration de BD existantes
BD rpartie
BD fdre
BD1 BD1
BD2 BD2
BDN BDN
BD1 BD1
BD2 BD2
BDN BDN
Matrise de la complexit de la rpartition (fragmentation, duplication, placement) Dfinition des schmas locaux partir du schma global
Matrise de lhtrognit smantique (BD) et syntaxique (SGBD, communications,.) Matrise de lintgration des schmas locaux pour crer un schma global
Fdration de BD
Procdure dintgration :
Traitement de lhtrognit smantique Traduction des schmas (rsolution de lhtrognit syntaxique) Intgration des schmas
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 groupe avec la phase de traduction
Page 8 RJ Chevance 2001
Fdration de BD (2)
Traduction des schmas (rsolution de lhtrognit 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 ceux des modles des BD composantes Ncessit de complter smantiquement des modles de BD composantes qui seraient trop pauvres
Fdration de BD (3)
Intgration des schmas
Schma conceptuel global Schma conceptuel global
Intgrateur Intgrateur
Traducteur 1 Traducteur 1
Traducteur 2 Traducteur 2
Traducteur N Traducteur N
Procdure :
Page 10 RJ Chevance 2001
Identifier les lments de base qui sont lis Choisir la reprsentation la plus adquate pour le schma global Intgrer les lments des schmas intermdiaires
Fdration de BD (4)
Dmarche dintgration
Pr-intgration : : Pr-intgration tablissement du plan dintgration tablissement du plan dintgration Comparaison :: Comparaison mise en vidence des conflits mise en vidence des conflits Mise en conformit :: Mise en conformit rsolution des conflits rsolution des conflits Fusion :: Fusion fusion des schmas fusion des schmas Restructuration :: Restructuration amlioration du schma global amlioration du schma global
Page 11 RJ Chevance 2001
Fdration de BD (5)
Dmarche dintgration
Pr-intgration :
Mise en vidence des dpendances induites par les schmas Dfinitions des quivalences entre domaines Convention de dsignation
pour lessentiel recherche de clart sans remise en cause des qualits recherches
Conflit de relation
Conflit multi-attribut : un attribut correspond plusieurs dans lautre relation (ex. adresse et N, rue, code, ville) utilisation dun calcul sur les attributs (ex. extraction) Conflit de cl
pas la mme cl changement de cl la cl dune des relations composantes nest pas une cl gnrale :
gnration dune nouvelle cl par ajout dun 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)
N x (N - 1) / 2 traducteurs
C Passage par un modle canonique : DChaque site possde un traducteur local/canonique DChaque 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 dun seul traducteur par SGBD + Simplification de la modlisation + Transparence
Page 14 RJ Chevance 2001
- Difficult de dfinir un modle canonique aussi riche que les modles locaux - Temps de rponse accru pour les interrogations locales
Architecture de rfrence
Organisation des schmas Niveau des langages
Niveau local
Niveau local
Langage daccs
Gestion objets intgrs Accs objets distants Accs objets locaux Adaptateur local
Gestion objets intgrs Accs objets distants Accs objets locaux Adaptateur local
Niveau communication
Niveau communication
Niveau interoprable
Niveau interoprable
Serveur BD A
Serveur BD B
Appli BD Appli BD
Appli BD Appli BD
Serveur BD A
Pilote A
Pilote B
Appli BD Appli BD
Appli BD Appli BD
Serveur passerelle
Serveur BD A
FAP de la passerelle
Serveur passerelle
Serveur BD B
Serveur BD C
Serveur BD A
Serveur BD C
BD locale
BD locale
BD locale
Solution RDA
Requte sur site 1 : SELECT N vhicule FROM Voiture WHERE marque = xxx AND type = yyy INTO temp1 Requte sur site 1 : SELECT * FROM Personne INTO temp2 Requte sur site 2 : SELECT B.N personne, A.N vhicule FROM Bless B, Accident A WHERE B.gravit > commotion AND B.N accident = A.N accident AND A.dpartement IN (75, 78 , 91, 92 ,93, 94, 95) INTO temp3
Conclusion
Il est ncessaire denvoyer 3 requtes pour seulement 2 sites La totalit de la relation Personne doit tre transfre Lintgration du rsultat final doit tre faite par lapplication : SELECT P.nom, P.prnom FROM temp2 P, temp3 B, temp1 V WHERE P.N personne = B.N personne AND B.N vhicule = V.N vhicule Page 22 RJ Chevance 2001
SQL-CLI
Formation, en 1988, dun consortium (le SAG pour SQL Access Group) regroupant 44 diteurs de SGBD avec pour objectif de dfinir :
un standard dinteroprabilit entre clients et SGBD; une interface (CLI Call Level Interface) dfinissant un ensemble dAPI (Application Programming Interface) communes pour les diffrents SGBD.
Application Application
BD Oracle
BD SQL Server
BD DB2
Serveur BD C Administration SGBD A Administration SGBD B Administration SGBD C Page 24 RJ Chevance 2001
Serveur BD C Administration SGBD A Administration SGBD B Administration SGBD C Page 25 RJ Chevance 2001
Vues rparties
La transparence la localisation est 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
Application Application
Calcul final
BD locale
Page 26 RJ Chevance 2001
BD locale
BD locale
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)
Le contrle de lexcution des requtes Lintgration du rsultat en effectuant les diffrentes oprations (dont les jointures)
Conclusion
Le systme apparat lapplication 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
Page 28 RJ Chevance 2001
SGBD rparti
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
Application Application
BD locale 2
BD locale N
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)
La requte liste des blesss graves dans une voiture type yyy de marque xxx dans la rgion parisienne mane dun site appel Interrogation
Page 30 RJ Chevance 2001
Conclusion
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
Page 31 RJ Chevance 2001
Verrouillage
Les SGBD utilisent le verrouillage deux phases pour assurer la srialisation des transactions (phase dacquisition des verrous puis phase de relchement des verrous) Un SGBD sait dtecter les treintes fatales locales (dtection dun cycle dans le graphe dattente) Dans le cas distribu, on peu utiliser plusieurs techniques pour traiter le cas des treintes fatales :
Prvention = viter que le problme ne survienne :
Technique destampillage : dater les transactions et tuer les transactions en attente en fonction de leur ge :
Die Wait = tuer les transactions demandant des ressources dtenues par des transactions plus anciennes et reprendre la transaction tue avec la mme estampille Wound Wait = blesser les transactions en attente de ressources dtenues par une plus ancienne, on tue la transaction blesse si elle demande une ressource dtenue par une autre transaction. On reprend la transaction tue .
Dtection :
Construction dun graphe global dattente par union des graphes locaux
Prsomption :
Page 32 RJ Chevance 2001
Abandon des transactions nayant pas termin leur excution aprs un certain temps (horloge de garde ou Watch Dog)
Partitionnement vertical
Table
Projection, dont un attribut commun, sur chacun des sites Table globale reconstitue par une jointure selon cet attribut
Systme 2
Systme 1
Note : Relation avec l'organisation des applications (minimisation des interactions entre les systmes et validation deux phases)
Partitionnement horizontal
Systme 1 Table Systme 2
Slection, selon des valeurs disjointes dun critre sur chaque site Table globale reconstitue par UNION
Page 33
RJ Chevance 2001
A...E
F...J
K...N
O...S
T...Z
1, 6
2, 7
3, 8
4, 9
5,10
Les donnes sont rparties en fonction des domaines de valeur des cls
Hash
D, S
C, L
F, N
M, Z
R, W
Note : Il existe des mthodes hybrides, ce sont des combinaisons/variations des RJ Chevance mthodes de base. 2001
Round Robin
quilibre, par dfinition, des partitions Ne facilite pas la rduction de la charge
Hash
Choix de la fonction de hashing Pas optimal pour les recherches fondes sur des domaines de valeur
Possibilit de dupliquer les donnes : problme avec les mises jour (validation deux phases)
Page 35 RJ Chevance 2001
A...E
F...J
K...N
O...S
T...Z
A...E
F...J
K...N
O...S
T...Z
Formalisation :
Pour un fragment Fk, Rl et Ul sont, respectivement, les taux daccs en lecture et en mise jour depuis le site Sl Soit Clm, le cot de communication unitaire de Sl Sm Soit Dl le cot de stockage du fragment Fk sur le site Sl
Problme :
Trouver lassignation optimale de Fk {X1, X2,Xm} telle que Xl = 1 si Fk est assign sur Sl et 0 sinon et minimisant le cot de la communication et du stockage exprim par la formule : cot = l (m (Xm x Um x Clm + Rm x Min {Clm|Xm=1})) + l Xl x D Ce problme est NP-complet (ne pouvant pas tre rsolu efficacement). De plus, il est soumis des contraintes de limitation (capacit de stockage, de communication, de temps de rponse).
Rappel : la compilation dune requte SQL produit un arbre dvaluation compos dun certain nombre doprateurs de base :
Projection : X R projection de la relation R sur la liste d attributs X Slection : P R slection des tuples de R vrifiant le prdicat P quijointure : R1 R2 jointure des relations R1 et R2 selon lattribut A (R1.A=R2.A)
A
Produit cartsien : x produit de deux relations Union : union de 2 relations Intersection : intersection de deux relations
Schma global Normalisation de l criture de la requte Analyse -vrification limination de la redondance R-criture Schma de rpartition
Site de contrle
Schma local
X
Arbre rsultant de la traduction directe
B.nom, B.prnom
C.NB NB C.NB
B.NB
C.NB
X
V.NV
X
C.NV
P
V.NV
C.date>1/1/2000 C.NV NV
Buveurs V.NV
NV C.NV,C.NB
P B.ville= Paris
Buveurs
P P
Page 40 RJ Chevance 2001
P P
C.quantit=100
Requte mise sur le site de Paris : Noms des buveurs parisiens nayant pas command en dcembre 2000 Slectivits supposes : 20% de parisiens et 1% nayant pas command Stratgies :
Simpliste : transfrer C1 et C2 vers Paris (200 000 tuples) et faire C = C1 C2 et valuer SELECT B.nom FROM Buveurs (B) WHERE B.ville = Paris AND B.NB NOT IN (SELECT NB FROM C WHERE C.date>1/12/2000 AND C.date<1/1/2001) Amliore : Transfrer vers Dijon et Bordeaux Buveurs.NB des seuls parisiens (= 2 x 2 000 petits tuples). valuer sur les sites de Dijon et Bordeaux : Buveurs.NB NOT IN (SELECT NB FROM Ci WHERE Ci.date>1/12/2000 AND Ci.date<1/1/2001) Transfrer les rsultats vers Paris (= 2 x 20 petits tuples) et faire lintersection des rsultats
Page 41 RJ Chevance 2001
Difficults de la rplication :
Synchronisation des copies Transparence de la gestion
Technologie
Vidage et rechargement
Copie de table
Problmes
Page 43 RJ Chevance 2001
Performance et administration
BD production
Rplication
BD dcisionnelle
Distribution dinformation
BD Entreprise globale
BD Afrique
BD Amrique
BD Asie
BD Europe
Site A
Site A Site B Site C Site A Site B Site C
Site Central
Site B
Site A Site B Site C
Site A
Site A Site B Site C Page 45 RJ Chevance 2001
Site C
Site B
Amrique
Base commune
Europe
Base commune
Asie
La rsolution des problmes de mise jour implique la mise en uvre dune stratgie particulire (e.g. mise jour d une copie matre qui est ensuite propage)
Page 46 RJ Chevance 2001
Site matre
Difficult de conception Difficult de reprise aprs panne Impact des mises jour sur le fonctionnement des nuds (overhead)
Page 47 RJ Chevance 2001
Mises jour asynchrones partir dun site matre Un seul point de rfrence Faible impact des mises jour sur le fonctionnement des nuds
La rplication peut tre partielle ou totale Elle peut se fonder sur une sauvegarde totale priodique (e.g. hebdomadaire) et la copie du journal des transactions intervalles rguliers. La base rplique est alors rgnre partir de la dernire sauvegarde totale et du journal
Page 48 RJ Chevance 2001
Administrateur
Gestion des dictionnaires rpartie : - Dictionnaire global sur site matre - Caches des informations dans les sites participants - Droits daccs rpartis Excution des requtes rparties : - Requtes multi-bases en Ingres-SQL ou Open-SQL - Dfinition de curseurs multi-sites Contrle des transactions rparties : - Validation deux phases - Dtection des treintes fatales
Une seule base de donnes virtuelle globale Une seule base de donnes virtuelle globale
Ingres/STAR Ingres/STAR
BD Ingres
Ingres Ingres
Communication Communication
Communication Communication
Communication Communication
Passerelle Passerelle
Base DB2
DB2 DB2
IMS IMS
Base IMS
IBM DB2
Trois produits (entre autres) :
DataLinks DataJoiner DataPropagator
DataLinks :
Permet DB2 d accder des donnes stockes indpendamment de DB2 Permet diffrents niveaux de contrle sur ces donnes externes :
Intgrit rfrentielle Contrle daccs Oprations de sauvegarde et de restauration coordonnes Transactionnel distribu
Composants de DataLinks :
Nouveau type de donnes DATALINK (URL - Uniform Resource Locator) DB2 Data Links Manager qui a deux composantes :
Data Links File Manager (DLFM) Data Links Filesystem Filter (DLFF)
API DBMS/DLFM pour dialoguer avec les Data Links File Managers
Page 52 RJ Chevance 2001
Applications Applications
Requtes fichiers Data Links Filesystem Filter Table des salaris
Nom
Dpartement
API DBMS/DLFM
D L F M
Architecture :
Application Application SQL Donnes (y compris URLs) Systme de fichiers
Illustration du fonctionnement :
Source Dtection des changements fonde sur le journal Change Capture Change Capture Table intermdiaire
ply Appply A
Cible
DB2
Dtection des changements fonde sur les dclencheurs (triggers) Change Capture Change Capture Table intermdiaire
DB2
ABC
Mthode daccs dfinie Mthode daccs dfinie par l utilisateur par l utilisateur Page 56 RJ Chevance 2001
Table Virtuelle
Journal
Ciblen
Composants fonctionnels :
Configuration et contrle Capture des transactions (via le journal) Acheminement des informations (type MOM scuris) Prise en compte des mises jour sur site distant (mises jour suivant une logique transactionnelle) Rsolution de conflits. Possibilits :
Priorit la dernire modification en date Stratgie dfinie par programme Ignorance
Transparent Gateway
SQL and Data Dictionary Translation Information : fournit aux services htrognes les informations ncessaires la traduction Traduction des types de donnes Assure la connexion des systmes non-Oracle Plusieurs possibilits concernant la localisation du Gateway
Page 58 RJ Chevance 2001
Localisation du Gateway
Application Application Application Application
Oracle Oracle
GW GW
SGBD SGBD
Oracle Oracle
GW GW
SGBD SGBD
Application Application
Application Application
GW GW
SGBD SGBD
Oracle Oracle
GW GW
SGBD SGBD
Site matre A
Site matre B
Site extrait D
Site matre C
Site matre A
Site matre B
Replication Group
Replication Group
Site matre C
Replication Group
Difficult : synchronisation
Page 61 RJ Chevance 2001
En lecture seule ou avec possibilit de mise jour de la fonction de mise jour distante (interaction avec le site dtenant la base matre)
Base rplique
Base matre
Site matre B
Replication Group
Site snapshot
Site snapshot
Site A
Site A Site B Site C
Site C
Site B
Exemple de mise jour (le site A demande la mise jour dune donne concernant le site C)
1 - Demande de modification dune donne concernant le site C Site A Site B Site C Site A Site B 3 - Rplication de la modification Site A Site B Page 65 RJ Chevance 2001 Site C 2 - Modification de la donne Site C
Site A
Site C
Site B
Bibliographie
Claude Chrisment, Genevive Pujolle, Gilles Zurfluh Bases de donnes rparties Les Techniques de lIngnieur Georges et Olivier Gardarin Le Client - Serveur Eyrolles Robert Orfali, Dan Harkey, Jerry Edwards Client/Serveur Guide de survie John Wiley, Thomson Publishing Serge Miranda, Anne Ruols Client-Serveur Eyrolles Polycopis des cours CNAM dIntgration des Systmes Client/Serveur des annes prcdentes par :
Batrice Finance Jean-Pierre Meinadier Jean-Marc Saglio, Yann Viemont