Академический Документы
Профессиональный Документы
Культура Документы
distribues et
fdres
M ars 2003
Ren J. Chevance
Contenu
! Dfinitions
! Exemple de BD distribue
! Distribution des donnes
! Distribution - Fdration
! Fdration de BD
" Quelques cas de conflits
! Traduction des schmas
! Architecture de rfrence
! Accs aux BD multiples
" API commune
" FAP commun avec passerelles
" FAP commun support par les SGBD
! Niveaux de transparence la localisation
" Client/Multibases :
# RDA, DRDA, SQL-CLI, UDA/ODBC
" Vues distribues
" SGBD distribus
! Quelques problmes des BD distribues et fdres
! Partitionnement et placement des donnes
" Quelques rgles pour le partitionnement
" Expdition de donnes et Expdition de Fonction
" Recherche du partitionnement idal
! Optimisation des requtes distribues
! Rplication dans les BD
! Un aperu sur les SGBD du commerce
" Un peu dhistoire : Ingres/STAR
" IBM DB2, Informix, Oracle, Sybase
! valuation des SGBD distribus
! Bibliographie
Page 2
RJ Chevance 2001
Page 1
Dfinitions
RJ Chevance 2001
! Distribues :
" Amlioration des performances (placer les traitements
lendroit o se trouvent les donnes)
" Disponibilit en raison de lexistence de plusieurs copies
" Maintient dune vision unique de la base de donnes
malgr la distribution
! Fdration :
" Donner aux utilisateurs une vue unique des donnes
implmentes sur plusieurs systmes a priori
htrognes (plates-formes et SGBD)
" Cas typique rencontr lors de la concentration
dentreprises : faire cohabiter les diffrents systmes tout
en leur permettant dinteroprer
Page 4
RJ Chevance 2001
Page 2
Exemple de BD distribue
! Schma global entit - relation
Viticulteurs
Viticulteurs
Produits
Consommateurs
Consommateurs Commandes Vins
Vins
Bordeaux Dijon
Vins
Vins Vins
Vins
Producteurs
Producteurs Producteurs
Producteurs
Produits
Produits Produits
Produits
Page 5
RJ Chevance 2001
A C
ABC ABC
Page 6
RJ Chevance 2001
Page 3
Distribution - Fdration
! Approche descendante ! Approche ascendante
" Conception dune BD " Intgration/fdration
distribue de BD existantes
BD distribue BD fdre
BD1
BD1 BD2
BD2 BDN
BDN BD1 BD2 BDN
BD1 BD2 BDN
Contenu
! Dfinitions
! Exemple de BD distribue
! Distribution des donnes
! Distribution - Fdration
$ Fdration de BD
" Quelques cas de conflits
! Traduction des schmas
! Architecture de rfrence
! Accs aux BD multiples
" API commune
" FAP commun avec passerelles
" FAP commun support par les SGBD
! Niveaux de transparence la localisation
" Client/Multibases :
# RDA, DRDA, SQL-CLI, UDA/ODBC
" Vues distribues
" SGBD distribus
! Quelques problmes des BD distribues et fdres
! Partitionnement et placement des donnes
" Quelques rgles pour le partitionnement
" Expdition de donnes et Expdition de Fonction
" Recherche du partitionnement idal
! Optimisation des requtes distribues
! Rplication dans les BD
! Un aperu sur les SGBD du commerce
" Un peu dhistoire : Ingres/STAR
" IBM DB2, Informix, Oracle, Sybase
! valuation des SGBD distribus
! Bibliographie
Page 8
RJ Chevance 2001
Page 4
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 9
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
" Choix du modle canonique :
# Entit - Association et Relationnel
# Objet
Page 10
RJ Chevance 2001
Page 5
Fdration de BD (3)
! Intgration des schmas
Schma conceptuel global
Schma conceptuel global
Intgrateur
Intgrateur
! Procdure :
" Identifier les lments de base qui sont lis
Page 11
" Choisir la reprsentation la plus adquate pour le schma global
RJ Chevance 2001
" Intgrer les lments des schmas intermdiaires
Fdration de BD (4)
! Dmarche dintgration
Pr-intgration
Pr-intgration: :
tablissement
tablissementduduplan
plandintgration
dintgration
Comparaison
Comparaison::
mise
miseen
envidence
videncedes
desconflits
conflits
Mise
Miseen
enconformit
conformit::
rsolution
rsolutiondes
desconflits
conflits
Fusion
Fusion::
fusion
fusion des
desschmas
schmas
Restructuration
Restructuration::
amlioration
amlioration du
du schma
schmaglobal
global
Page 12
RJ Chevance 2001
Page 6
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
" Comparaison ou analyse - mise en vidence des conflits :
# de dsignation (homonymie, synonymie)
# structurels
# de domaine
# de contraintes
# .
" Mise en conformit : rsolution des conflits
# renommage pour les conflits de noms
# tude au cas par cas pour les conflits structurels
" Fusion des schmas - Qualits recherches :
# compltude (pas de perte dinformation)
# minimalit (absence de redondance)
# clart
" Restructuration - Amlioration du schma global
# pour lessentiel recherche de clart sans remise en cause des qualits
Page 13 recherches
RJ Chevance 2001
! .
Page 14
RJ Chevance 2001
Page 7
Contenu
! Dfinitions
! Exemple de BD distribue
! Distribution des donnes
! Distribution - Fdration
! Fdration de BD
" Quelques cas de conflits
$ Traduction des schmas
! Architecture de rfrence
! Accs aux BD multiples
" API commune
" FAP commun avec passerelles
" FAP commun support par les SGBD
! Niveaux de transparence la localisation
" Client/Multibases :
# RDA, DRDA, SQL-CLI, UDA/ODBC
" Vues distribues
" SGBD distribus
! Quelques problmes des BD distribues et fdres
! Partitionnement et placement des donnes
" Quelques rgles pour le partitionnement
" Expdition de donnes et Expdition de Fonction
" Recherche du partitionnement idal
! Optimisation des requtes distribues
! Rplication dans les BD
! Un aperu sur les SGBD du commerce
" Un peu dhistoire : Ingres/STAR
" IBM DB2, Informix, Oracle, Sybase
! valuation des SGBD distribus
! Bibliographie
Page 15
RJ Chevance 2001
Modle
Modlecanonique
canonique
Relationnel
Relationnel Objet
Objet Relationnel Objet
Relationnel Objet
N x (N - 1) / 2 traducteurs N traducteurs
Page 8
Architecture de rfrence
! Organisation des schmas ! Niveau des langages
Niveau local
Langage
Schma interoprrable daccs
Gestion Gestion
objets intgrs Modle pivot objets intgrs
Requtes
Schma import pivot
communication
communication
Accs Accs localises
objets distants objets distants
Niveau
Niveau
Accs Accs
objets locaux Modle pivot objets locaux Requtes
pivot
Schma export sur objets
Adaptateur Adaptateur locaux
interoprable
interoprable
local Modle X (RDBMS,..) local
Niveau
Niveau
Requtes
Schma local spcifiques
X X X (SQL, OQL,..)
Page 17
RJ Chevance 2001
Contenu
! Dfinitions
! Exemple de BD distribue
! Distribution des donnes
! Distribution - Fdration
! Fdration de BD
" Quelques cas de conflits
! Traduction des schmas
! Architecture de rfrence
$ Accs aux BD multiples
" API commune
" FAP commun avec passerelles
" FAP commun support par les SGBD
! Niveaux de transparence la localisation
" Client/Multibases :
# RDA, DRDA, SQL-CLI, UDA/ODBC
" Vues distribues
" SGBD distribus
! Quelques problmes des BD distribues et fdres
! Partitionnement et placement des donnes
" Quelques rgles pour le partitionnement
" Expdition de donnes et Expdition de Fonction
" Recherche du partitionnement idal
! Optimisation des requtes distribues
! Rplication dans les BD
! Un aperu sur les SGBD du commerce
" Un peu dhistoire : Ingres/STAR
" IBM DB2, Informix, Oracle, Sybase
! valuation des SGBD distribus
! Bibliographie
Page 18
RJ Chevance 2001
Page 9
Accs aux BD multiples
Serveur
FAP A, FAP B, FAP C BD B
Serveur
BD C
Administration
SGBD A
Administration
SGBD B
Administration
SGBD C
Page 19
RJ Chevance 2001
Serveur
BD C
Administration
SGBD A
Administration
SGBD B
Administration
SGBD C
Page 20
RJ Chevance 2001
Page 10
Accs aux BD multiples (3)
! Solution N2 : FAP commun avec passerelles
Pilote passerelle
Serveur Serveur
FAP de la passerelle passerelle BD B
Serveur Serveur
passerelle BD C
Administration
SGBD A
Administration
SGBD B
Administration
SGBD C
Page 21
RJ Chevance 2001
Pilote passerelle
Serveur
FAP SQL standard BD B
Serveur
BD C
Administrateur
de base de donnes
unique
Page 22
RJ Chevance 2001
Page 11
Contenu
! Dfinitions
! Exemple de BD distribue
! Distribution des donnes
! Distribution - Fdration
! Fdration de BD
" Quelques cas de conflits
! Traduction des schmas
! Architecture de rfrence
! Accs aux BD multiples
" API commune
" FAP commun avec passerelles
" Client/Multibases :
# RDA, DRDA, SQL-CLI, UDA/ODBC
" FAP commun support par les SGBD
$ Niveaux de transparence la localisation
" Vues distribues
" SGBD distribus
! Quelques problmes des BD distribues et fdres
! Partitionnement et placement des donnes
" Quelques rgles pour le partitionnement
" Expdition de donnes et Expdition de Fonction
" Recherche du partitionnement idal
! Optimisation des requtes distribues
! Rplication dans les BD
! Un aperu sur les SGBD du commerce
" Un peu dhistoire : Ingres/STAR
" IBM DB2, Informix, Oracle, Sybase
! valuation des SGBD distribus
! Bibliographie
Page 23
RJ Chevance 2001
Page 24
RJ Chevance 2001
Page 12
RDA - Remote Data Access
! Les usagers connaissent la localisation
! Si une jointure est ncessaire, elle doit tre ralise
par lapplication
Application
Applicationmultibases
multibases
Protocole
ProtocoleRDA
RDA
Protocole
ProtocoleRDA
RDA Protocole
ProtocoleRDA
RDA Protocole
ProtocoleRDA
RDA
SGBD
SGBDlocal SGBD
SGBDlocal SGBD
local local SGBDlocal
local
Page 25
RJ Chevance 2001
" 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 :
RJ Chevance 2001
Page 13
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.
! Exemple : Composants de la CLI ODBC de Microsoft
API ODBC
Gestionnaire de pilotes ODBC
RJ Chevance 2001
Serveur
BD C
Administration
SGBD A
Administration
SGBD B
Administration
SGBD C
Page 28
RJ Chevance 2001
Page 14
Microsoft - UDA Universal Data Access
! Historique
" 1989 : ODBC = API Windows dutilisation pas trs aise
" 1993 :
# DAO (Direct Access Objects) pour Microsoft Access et Office
# RDO (Remote Data Objects) pour Visual Basic
" 1995 - Croissance dInternet, importance des sources de
donnes non-relationnelles (e.g. mail,) UDA Universal
Data Access
# OLE DB = API systme collection dinterfaces COM, accs
aux donnes (relationnelles ou non), rutilisation des connexions
ODBC existantes
# ADO (ActiveX Data Objects) interface facile demploi pour OLE
DB
! Synthse des besoins des utilisateurs:
" Performance des accs aux donnes
" Fiabilit
" Support des fournisseurs
Page 29 " Standard de lindustrie
RJ Chevance 2001
IIS
IIS
Serveur
ADO
ADO
OLE
OLEDB
DB
ODBC
ODBC
RJ Chevance 2001
Page 15
Microsoft - UDA Universal Data Access(3)
ADO
ADO
DAO
DAO
RDO
RDO
OLE
OLEDB
DB
ODBC
ODBC
RJ Chevance 2001
OLE DB
ADO
Languages
Tools
OLE DB OLE DB
ADO
Components RDBMS
Components Tools Components ISAM
Client/Serveur
OLE DB
ADO
Windows NT Mainframe
Internet/Intranet
Page 32
RJ Chevance 2001
Page 16
JDBC - Open Database Connection
! Spcification commune Sun et diffrents fournisseurs de
SGBD
! Difficult : risque potentiel dintrusion dans des systmes par
lintermdiaire du code mobile (byte-code)
Serveur
BD C
Administration
SGBD A
Administration
SGBD B
Administration
SGBD C
Page 33
RJ Chevance 2001
Vues distribues
! La transparence la localisation est assure par la dfinition des vues
distribues
! Les jointures inter-bases sont excutes par le systme
! Les mises jour sont supportes au moyen des vues distribues
! Un protocole de validation 2 phases est support
Application
Application
Gestionnaire
Gestionnairedes
desvues
vuesdistribues
distribues
Sous-requtes
SGBD
SGBDlocal SGBD
SGBDlocal SGBD
local local SGBDlocal
local
Page 34
RJ Chevance 2001
Page 17
Vues distribues (2)
! Dfinition de la vue distribue (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
Page 35
RJ Chevance 2001
Page 36
RJ Chevance 2001
Page 18
SGBD distribu
! La transparence la localisation est assure par la dfinition de la
base distribue
! Les diffrentes oprations sont prises en charge par les diffrents
SGBD
! Un protocole de validation 2 phases est support
Application
Application
BD locale 1
SGBD
SGBDdistribu
distribu . SGBD
SGBDdistribu
distribu
BD locale 2 BD locale N
Page 37
RJ Chevance 2001
SGBD distribu(2)
! Schma conceptuel de la base :
! Implmentation de la base :
RJ Chevance 2001
Page 19
SGBD distribu(3)
! Plan dexcution distribue
" 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
" 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
" Requte sur site Interrogation :
# RECEIVE temp2.75 FROM S75
RECEIVE temp2.95 FROM S95
UNION temp2.75, temp2.78,..temp2.95
INTO rsultat
! Conclusion
" Le SGBD distribu a pris en charge tous les problmes lis la
distribution
" Les transferts sont minimiss :
# seuls les N des blesss et des vhicules sont transfrs
Page 39
RJ Chevance 2001
Contenu
! Dfinitions
! Exemple de BD distribue
! Distribution des donnes
! Distribution - Fdration
! Fdration de BD
" Quelques cas de conflits
! Traduction des schmas
! Architecture de rfrence
! Accs aux BD multiples
" API commune
" FAP commun avec passerelles
" FAP commun support par les SGBD
! Niveaux de transparence la localisation
" Client/Multibases :
# RDA, DRDA, SQL-CLI, UDA/ODBC
" Vues distribues
" SGBD distribus
$ Quelques problmes des BD distribues et fdres
! Partitionnement et placement des donnes
" Quelques rgles pour le partitionnement
" Expdition de donnes et Expdition de Fonction
" Recherche du partitionnement idal
! Optimisation des requtes distribues
! Rplication dans les BD
! Un aperu sur les SGBD du commerce
" Un peu dhistoire : Ingres/STAR
" IBM DB2, Informix, Oracle, Sybase
! valuation des SGBD distribus
! Bibliographie
Page 40
RJ Chevance 2001
Page 20
Quelques problmes des BD distribues et fdres
! Validation deux phases
" Ds quune mise jour sadresse plus dun site ou plus dune base
sur un mme site, il convient dutiliser le protocole de validation deux
phases
! 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 peut 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 :
% Abandon des transactions nayant pas termin leur excution aprs un certain
temps (horloge de garde ou Watch Dog)
Page 41
RJ Chevance 2001
Note : Relation avec l'organisation des applications (minimisation des interactions entre les systmes et
validation deux phases)
! Partitionnement horizontal
Systme 1
Slection, selon des valeurs disjointes
Table
dun critre sur chaque site
Table globale reconstitue par UNION
Systme 2
Page 42
Note : Prise en compte de la validation deux phases par le SGBD
RJ Chevance 2001
Page 21
Partitionnement des donnes (2)
! Mthodes de partitionnement horizontal (exemples)
Domaine Round robin
Les donnes sont distribues en fonction Chaque article est rang dans
des domaines de valeur des cls Hash la partition suivante en squence
D, S C, L F, N M, Z R, W
RJ Chevance 2001
Page 22
Expdition de donnes et Expdition de Fonction
! Deux modles fonctionnels dans le cas d'une
architecture de SGBD distribu
" Expdition de donnes "Data Shipping"
Excution
de la requte
Page 45
A...E F...J K...N O...S T...Z
RJ Chevance 2001
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).
Page 46
RJ Chevance 2001
Page 23
Contenu
! Dfinitions
! Exemple de BD distribue
! Distribution des donnes
! Distribution - Fdration
! Fdration de BD
" Quelques cas de conflits
! Traduction des schmas
! Architecture de rfrence
! Accs aux BD multiples
" API commune
" FAP commun avec passerelles
" FAP commun support par les SGBD
! Niveaux de transparence la localisation
" Client/Multibases :
# RDA, DRDA, SQL-CLI, UDA/ODBC
" Vues distribues
" SGBD distribus
! Quelques problmes des BD distribues et fdres
! Partitionnement et placement des donnes
" Quelques rgles pour le partitionnement
" Expdition de donnes et Expdition de Fonction
" Recherche du partitionnement idal
$ Optimisation des requtes distribues
! Rplication dans les BD
! Un aperu sur les SGBD du commerce
" Un peu dhistoire : Ingres/STAR
" IBM DB2, Informix, Oracle, Sybase
! valuation des SGBD distribus
! Bibliographie
Page 47
RJ Chevance 2001
Page 48
RJ Chevance 2001
Page 24
Optimisation des requtes distribues(2)
! Schma gnral de traitement et doptimisation dune requte
distribue Requte sur la BD distribue
Dcomposition de la requte
Dcomposition de la requte Schma global
Normalisation de l criture de
la requte
Arbre d valuation de la requte
Analyse -vrification
sur les relations distirbues
limination de la redondance
R-criture
Page 49
Requtes locales optimises
RJ Chevance 2001
V.NV V.NV
C.NV,C.NB P B.ville= Paris
C.NV
NV
C.date >1/1/2000 & Buveurs
P V.degr>12 P V.degr>12 &
P C.quantit>100
V.cru= Volnay
P V.cru= Volnay P C.quantit=100
Page 50 Commandes
Vins
Vins Commandes
RJ Chevance 2001
Page 25
Optimisation des requtes distribues(4)
! Hypothse de volume :
" Buveurs (B) : 10 000 tuples
" Vins (V) : 1 000 tuples
" Commandes : 200 000 tuples
! Hypothse de distribution des BD :
" Paris : Buveurs (B)
" Dijon : Vins 1 (V1) restriction NV<= 400
Commandes 1 (C1) restriction NV<= 400
" Bordeaux : Vins 2 (V2) restriction NV > 400
Commandes 2 (C2) restriction NV>400
! 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 51
RJ Chevance 2001
Contenu
! Dfinitions
! Exemple de BD distribue
! Distribution des donnes
! Distribution - Fdration
! Fdration de BD
" Quelques cas de conflits
! Traduction des schmas
! Architecture de rfrence
! Accs aux BD multiples
" API commune
" FAP commun avec passerelles
" FAP commun support par les SGBD
! Niveaux de transparence la localisation
" Client/Multibases :
# RDA, DRDA, SQL-CLI, UDA/ODBC
" Vues distribues
" SGBD distribus
! Quelques problmes des BD distribues et fdres
! Partitionnement et placement des donnes
" Quelques rgles pour le partitionnement
" Expdition de donnes et Expdition de Fonction
" Recherche du partitionnement idal
! Optimisation des requtes distribues
$ Rplication dans les BD
! Un aperu sur les SGBD du commerce
" Un peu dhistoire : Ingres/STAR
" IBM DB2, Informix, Oracle, Sybase
! valuation des SGBD distribus
! Bibliographie
Page 52
RJ Chevance 2001
Page 26
Rplication dans les BD
! Objectifs de la rplication :
" Amlioration de la disponibilit des donnes
" Amlioration des performances
! Difficults de la rplication :
" Synchronisation des copies
" Transparence de la gestion
! Mise jour synchrone et asynchrone
" Synchrone :
+ Maintien de toutes les copies en cohrence
- Perte de performance du fait de la mise en uvre de la
validation deux phases
" Asynchrone : mise jour diffres des copies
+ Incidence minime sur les performances
- Ncessit de mise niveau de la copie ou des copies en cas
de reprise
Page 53
RJ Chevance 2001
Rplication Rplication
Validation Vidage et Copie de
Technologie base de rgles fonde sur le
deux phases rechargement table
ou de triggers journal
Page 54
RJ Chevance 2001
Page 27
Rplication des donnes (2)
! Quelques exemples dutilisation
Rplication
BD BD
production dcisionnelle
BD
Entreprise globale
BD BD BD BD
Afrique Amrique Asie Europe
Page 55
RJ Chevance 2001
Site A
Site B
Site C
Site C
Page 56 Site B
RJ Chevance 2001
Page 28
Rplication des donnes (4)
" Mises jour avec conflits daccs
# Exemple : socit de logiciel au niveau mondial (travaillant
donc 24 x 24 du fait des dcalages horaires) maintenant une
base de donnes pour le support de ses clients (erreur
connues, corrections, dtours,.). La base doit tre
accessible en permanence et tre jour.
Base
commune
Base
Amrique commune
Europe
Base
commune
Asie
Page 57
RJ Chevance 2001
Site matre
RJ Chevance 2001
Page 29
Rplication des donnes (6)
! Rplication en vue de la rsistance aux
dfaillances (Disaster Recovery)
Site de secours
Site primaire
RJ Chevance 2001
Contenu
! Dfinitions
! Exemple de BD distribue
! Distribution des donnes
! Distribution - Fdration
! Fdration de BD
" Quelques cas de conflits
! Traduction des schmas
! Architecture de rfrence
! Accs aux BD multiples
" API commune
" FAP commun avec passerelles
" FAP commun support par les SGBD
! Niveaux de transparence la localisation
" Client/Multibases :
# RDA, DRDA, SQL-CLI, UDA/ODBC
" Vues distribues
" SGBD distribus
! Quelques problmes des BD distribues et fdres
! Partitionnement et placement des donnes
" Quelques rgles pour le partitionnement
" Expdition de donnes et Expdition de Fonction
" Recherche du partitionnement idal
! Optimisation des requtes distribues
! Rplication dans les BD
$ Un aperu sur les SGBD du commerce
" Un peu dhistoire : Ingres/STAR
" IBM DB2, Informix, Oracle, Sybase
! valuation des SGBD distribus
! Bibliographie
Page 60
RJ Chevance 2001
Page 30
Un aperu sur les SGBD du commerce
! A la fin des annes 80 et au dbut des annes 90, la plupart des
fournisseurs de SGBD avaient des projets voire des produits de
versions distribues de leur SGBD et des capacits fdrer des BD
(homognes et htrognes)
! Les diffrentes expriences faites, par les utilisateurs dans le cadre
dapplications, avec ces SGBD ont montr leurs limites, en particulier
dans un contexte avec mise jour
! Au dbut des annes 2000, les fournisseurs ne mettent plus en avant
les aspects distribus.
! Les fournisseurs ont volu vers des solutions base de rplication
des bases de donnes et des moyens daccs des bases de donnes
trangres
! A titre dillustration de cette volution, Ingres qui proposait la solution
la plus lgante et la plus avance en matire de distribution a renonc
cette ambition. Ingres a t acquise par CA (Computer Automation).
CA ne met pas lemphase sur laspect distribu
! Nous allons passer rapidement en revue certaines des solutions
proposes par diffrents fournisseurs de SGBD
Page 61
RJ Chevance 2001
Utilisateur Utilisateur
local Administrateur distant Gestion des dictionnaires distribue :
Page 62
RJ Chevance 2001
Page 31
Un peu dhistoire : Ingres/STAR (2)
! Architecture Ingres/STAR
Application
Application
SQL Donnes
Ingres/STAR
Ingres/STAR
BD Ingres Ingres
Ingres Communication
Communication
Communication Communication
Communication Communication
Passerelle Passerelle
Passerelle Passerelle
SQL
Page 63
RJ Chevance 2001
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 64
RJ Chevance 2001
Page 32
IBM DB2 - DataLinks (2)
! Exemple : Applications
Applications
Requtes fichiers
Requtes SQL
! Architecture :
Application
Application Systme de fichiers
Donnes
SQL
(y compris URLs)
Donnes
Stockage
Fichiers hirarchis
Page 65
RJ Chevance 2001
Page 66
RJ Chevance 2001
Page 33
IBM DB2 - DataPropagator
! DB2 Datapropagator assure la mise jour de bases de donnes
distribues (dune source vers des cibles )
! Les composants de DataPropagator sont :
" Change Capture : dtection des changements dans la base source et
stockage dans des tables intermdiaires (staging tables)
" Apply : prend les donnes stockes dans les tables intermdiaires et
applique les changements aux bases des donnes cibles
" Administration : fonctions permettant de spcifier et de contrler le
processus de rplication
! Illustration du fonctionnement : Cible
Source
Dtection des changements lyly
pppp
AA
fonde sur le journal
Table DB2
Change Capture intermdiaire Da
DB2 Change Capture DtaaJ
taoin
Jo e
inr
er
Source non DB2 ply
Dtection des changements AApply
p
fonde sur les dclencheurs (triggers)
Table Cible non DB2
Change Capture Da
Change Capture intermdiaire
ABC DtaaJoi
taJ ne
oinr
er
XYZ
Page 67
RJ Chevance 2001
Programme client
Programme client
RJ Chevance 2001
Page 34
Informix - Enterprise Replication
! Architecture
Dfinition de la
Dfinition de la
rplication Catalogue global
rplication
Cible1
Ciblen
RJ Chevance 2001
Page 35
Oracle - Transparent Gateways (2)
! Architecture gnrale :
! Localisation du Gateway
Application
Application Application
Application
Oracle
Oracle GW
GW SGBD
SGBD Oracle
Oracle GW
GW SGBD
SGBD
Application
Application Application
Application
Oracle
Oracle GW
GW SGBD
SGBD Oracle
Oracle GW
GW SGBD
SGBD
Page 71
RJ Chevance 2001
Site extrait D
Site matre C
Page 72
RJ Chevance 2001
Page 36
Oracle Database Replication (2)
! Multimaster Replication : Plusieurs sites, dans un mode dgal
gal (peer-to-peer), grent des objets rpliqus. Utilisation :
" Recouvrement en cas de dfaillance
" Distribution de la charge de travail
Replication Group
Replication Group
Site matre C
Replication Group
! Difficult : synchronisation
Page 73
RJ Chevance 2001
Table rplicat
(lecture seule)
Table matre
(mise jour possible)
Base rplique Base matre
Page 74
RJ Chevance 2001
Page 37
Oracle Database Replication (4)
" Snapshots avec mise jour (Updateable Snapshots) :
# Les snapshops supportant la mise jour ne dpendent que dune seule table
matre et sont mis jour (refresh) de faon incrmentale ou immdiate
# Les mises jour sont propages depuis le snapshot vers la base matre. Les
mises jour peuvent tre rpercute vers dautres sites
# Les snapshots supportant la mise jour sont remis jour
# Avantages :
% Permet aux utilisateurs de consulter et de mettre jour les donnes (locale) mme en
cas de dconnexion avec le site matre
% Rduction possible du volume de la base rplique
Site matre B
Replication Group
Site snapshot
Site snapshot
RJ Chevance 2001
Log
Log Transfer
Transfer Replication
Replication Rseau
SQL
SQL Server
Server Manager
Manager Server
Server
Autres
Autres
Replication
Replication serveurs
serveurs de
de
Server
Server donnes
donnes
RJ Chevance 2001
Page 38
Sybase - Replication Server (2)
! Quelques exemples :
" Partage dinformations entre sites
# Une rgle simple : un seul site fait les mises jour des donnes qui le
concernent
Site A
Site B
Site A
Site C
Site B
Site C
Site A
Site C
Site A
Site B
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 A
Site C
Site B
Site C
Site A 3 - Rplication de la modification
Site C
Site A
Site B 2 - Modification de la donne
Site C
Page 77
Contenu
! Dfinitions
! Exemple de BD distribue
! Distribution des donnes
! Distribution - Fdration
! Fdration de BD
" Quelques cas de conflits
! Traduction des schmas
! Architecture de rfrence
! Accs aux BD multiples
" API commune
" FAP commun avec passerelles
" FAP commun support par les SGBD
! Niveaux de transparence la localisation
" Client/Multibases :
# RDA, DRDA, SQL-CLI, UDA/ODBC
" Vues distribues
" SGBD distribus
! Quelques problmes des BD distribues et fdres
! Partitionnement et placement des donnes
" Quelques rgles pour le partitionnement
" Expdition de donnes et Expdition de Fonction
" Recherche du partitionnement idal
! Optimisation des requtes distribues
! Rplication dans les BD
! Un aperu sur les SGBD du commerce
" Un peu dhistoire : Ingres/STAR
" IBM DB2, Informix, Oracle, Sybase
$ valuation des SGBD distribus
! Bibliographie
Page 78
RJ Chevance 2001
Page 39
valuation des SGBD distribus
! Les 12 + 1 critres de C. Date
" 0 - Transparence pour lutilisateur
" 1 - Autonomie de chaque site
" 2 - Absence de site privilgi
" 3 - Continuit de service
" 4 - Indpendance vis--vis de la localisation
" 5 - Indpendance vis--vis de la fragmentation
" 6 - Indpendance vis--vis de la rplication
" 7 - Traitement distribu des requtes
" 8 - Gestion distribue des transactions
" 9 - Indpendance vis--vis du matriel
" 10 - Indpendance vis--vis du systme dexploitation
" 11 - Indpendance vis--vis du rseau
" 12 - Indpendance vis--vis du SGBD
Page 79
RJ Chevance 2001
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
! Sites des principaux fournisseurs de SGBD :
" http://www.ibm.com
" http://www.informix.com
" http://www.microsoft.com
" http://www.oracle.com
Page 80
" http://www.sybase.com
RJ Chevance 2001
Page 40