BDD Reparties
BDD Reparties
BDD Reparties
1. 2. 3. 4. 5. 6. Dfinition Architectures Conception de BDR Traitement des requtes Transaction rpartie Passerelles avec autres SGBD
1. Dfinition
BD Rpartie
Ensemble de bases localises sur diffrents sites, perues par l'utilisateur comme une base unique Chaque base possde son schma local Le schma de la base rpartie constitue le schma global
il n'est gnralement pas matrialis il peut servir de support de conception
SGBD rparti
SGBDR
SGBD1
SGBD2
inconvnients
administration complexe distribution du contrle difficult de migration
IX.#
BD1
BD2
BD3
BD1
BD2
BD3
IX.#
2. Architecture de schmas
indpendance applications/BDR schma global lourd grer
application 1
application 2
Schma global
Schma local 1
Schma local 2
Schma local 3
IX.#
Schma global
schma conceptuel global
donne la description globale et unifie de toutes les donnes de la BDR (e.g., des relations globales) indpendance la rpartition
schma de placement
rgles de correspondance avec les donnes locales indpendance la localisation, la fragmentation et la duplication
Le schma global fait partie du dictionnaire de la BDR et peut tre conu comme une BDR (dupliqu ou fragment)
IX.#
IX.#
Architecture fdre
moyen contrl de migration
application 1 application 2
Schma fdr 1
Schma fdr 2
Schma local 1
Schma local 2
Schma local 3
IX.#
BD1
BD2
BDn
IX.#
fragmentation
allocation
Site 1
Site 2
IX.#
Objectifs de la dcomposition
fragmentation
trois types : horizontale, verticale, mixte performances en favorisant les accs locaux quilibrer la charge de travail entre les sites (paralllisme)
IX.#
Fragmentation horizontale
Fragments dfinis par slection
Client1 = Client where ville = "Paris" Client2 = Client where ville "Paris"
Client nclient C1 C2 C3 C4 Client1 nclient C1 C3 Reconstruction Client =Client1 U Client2 Client2 nclient C2 C4
IX.#
Cde1 ncde D1 D2
Cde2
nclient
C1 C1
produit P1 P2
qt
ncde D3 D4
nclient
C2 C4
produit P3 P4
qt
10 20
5 10
IX.#
Fragmentation verticale
Fragments dfinis par projection
Cde1 = Cde (ncde, nclient) Cde2 = Cde (ncde, produit, qt)
Cde
ncde D1 D2 D3 D4
nclient C1 C1 C2 C4
produit P1 P2 P3 P4
qt
10 20 5 10
Reconstruction
Cde = [ncde, nclient, produit, qt] where Cde1.ncde = Cde1 Cde2.ncde
ncde
D1 D2 D3 D4
10 20 5 10
IX.#
Duplique
chaque fragment sur un ou plusieurs sites maintien de la cohrence des copies multiples
Rgle intuitive:
si le ratio est [lectures/mj] > 1, la duplication est avantageuse
IX.#
Cde1
Cde2
client C1 C1 Site 1 produit P1 P2 qt 10 20 ncde D3 D4
ncde
D1 D2
client
C2 C4
produit
P3 P4
qt 5 10
Site 2
IX.#
Traduction de schmas
Traducteur 1
Traducteur 2
Traducteur 3
S local 1
S local 2
S local 3
Intgration de schmas
Intgrateur
Schma Global
IX.#
Fragmentation
Schma de fragmentation
Optimisation
Schma d'allocation
Fragmentation
R = R1 U R2
Optimisation
rsultats
IX.#
Coordinateur : composant systme dun site qui applique le protocole Participant : composant systme dun autre site qui participe dans l'excution de la transaction
IX.#
No
WAIT
VOTE-COMMIT
Yes
GLOBAL-ABORT
READY
ABORT
COMMIT
IX.#
Validation normale
P1
Coordinateur
P2
prparer
prt
valider fini
IX.#
prparer prt
prparer
timeout
abandon fini
abandon
panne
}
fini
reprise
IX.#
P2
fini
prt
timeout
panne
reprise
valider fait
IX.#
Panne du coordinateur
P1 Coordinateur P2
prparer prt
prparer prt
prparer prt
valider
fini
IX.#
6. Extracteurs et Passerelles
Extracteur
donnes Transformation table
Passerelle
procdure donnes
Select
SQL rsultat
Fournisseurs indpendants Outils ETL (ETI, Data Stage, Informatica, Sagent, Genio, Amadea, Sunopsis, ). Editeurs de SGBD passerelles entre le SGBD et les donnes sources
IX.#
SGBDR Interface rseau Interface rseau Interface SGBD1 SGBD1 Interface rseau Interface SGBD2 SGBD2
IX.#
Produits
SGBD relationnels
Oracle, DB2, SQL Server 2000, Sybase, Informix
VirtualDB (Enterworks)
bas sur GemStone, vue objet des tables
IX.#
Oracle/Star
SGBD Oracle
gestion du dictionnaire de la BDR
SQL*Net
transparence au rseau connexion client-serveur, loggin distance automatique valuation de requtes rparties validation en deux tapes et rplication
IX.#
Database link
Lien une table dans une BD distante specifi par :
nom de lien nom de l'utilisateur et password chane de connexion SQL*Net (protocole rseau, nom de site, options, etc)
Exemple
CREATE DATABASE LINK empParis CONNECT TO patrick IDENTIFIEDBY monPW USING Paris.emp
IX.#
Oracle/Star : architecture
Outils
IX.#