Professional Documents
Culture Documents
fdres
et Transactionnel Rparti
Plan
Introduction
Contexte et dfinition
Exemple
Dfinitions complmentaires
Avantages et inconvnients
Objectifs techniques des SGBD distribus
Multi clients multiserveurs
Transparence la localisation des donnes
Meilleure disponibilit
Autonomie locale
Accs intgr des donnes htrognes
Architecture des SGBD distribus
Organisation des schmas
Architecture de rfrence
Niveaux de transparence la localisation
Client/Multibases :
RDA, DRDA, SQL-CLI, UDA/ODBC
Vues distribues
SGBD distribus
Page 2
Plan
Page 3
Contexte
Contexte
Technologique :
Rseautique, des technologies de la communication de donnes,
incarnes par lInternet, linformatique mobile, le sans fil et les
priphriques intelligents
Financier :
Organisationnel : downsizing des
dcentralisation matriels et logiciels
des activits
Bases de donnes distribues
Dfinition : BD DISTRIBUEE
ensemble de base de donnes logiquement relies entre
elles, gres par des sites diffrents et apparaissant
lutilisateur comme une base unique
Paris
Consommateurs
Commandes
Bordeaux Dijon
Vins Vins
Producteurs Producteurs
Produits Produits
Page 5
Schma global
VINS(NV,cru,anne,degr)
Produits
PRODUCTEURS(NP,nom,rgion)
PRODUIT(NV,NP,qt)
Consommateurs Vins
Commandes
schma global
relationnel Schma global
(entit association)
schma global :
dfinition de lensemble des types de
donnes de la base
pas forcment matrialis : chaque base
locale implmente une partie, ces parties sont
les seules matrialise sur le disque
Page 6
SGBD distribu
Dfinition :
SGBD distribu (Distributed DBMS) ou
SGBD rparti : Systme grant une
collection de BD logiquement relies,
distribues sur diffrents sites en
fournissant un moyen daccs rendant
la distribution transparente
Objectifs
Rend la rpartition (ou distribution)
transparente
Dfinition des donnes rparties :
Cohrence des donnes
---> dictionnaire des donnes rparties
traitement des requtes rparties
---> Requte distribue : Requte mise par un
client dont lexcution ncessite lexcution
de n sous
requtes sur n serveur (n > 1)
gestion de transactions rparties Topologie dun systme de
gestion de la cohrence et de la scurit gestion de base de
Autonomie locale des sites Donnes distribue
Support de lhtrognit
Page 7
Note : SGBD distribu ou rparti sont des termes que nous considrerons comme quivalents. On utilisera ici de prfrence distribu.
Dfinitions complmentaires
BD Interoprables
BD capable dchanger des donnes en comprenant
mutuellement ce quelles reprsentent
Page 8
Exemple de base de donnes fdres
Page 9
Dfinitions complmentaires
Traitement distribu
Il est essentiel de distinguer un SGBD
distribu du traitement distribu
Page 10
Avantages des BD Distribues
Page 11
Inconvnients des BD Distribues
Multiclients multiserveurs
Client 1 Client 2
U1
RD U2
u3
Requte Transaction
Distribue distribue
Page 13
Objectifs techniques des SGBD distribus
Meilleure disponibilit
Ne plus dpendre dun site central unique
Gestion de copies : se replier sur une copie quand un
site tombe en panne (notion de rplication)
Autonomie locale
Cache
Schma local
Distant
Cache Cache
Schma local Schma local
Distant Distant
VN
V N+1
Page 15
Objectifs techniques des SGBD distribus
Modle unifi
Langage pivot
Page 16
Niveaux de transparence la localisation
Page 17
RDA - Remote Data Access
Les usagers connaissent la localisation
Si une jointure est ncessaire, elle doit tre ralise
par lapplication
Application multibases
Protocole RDA
Page 18
RDA - Remote Data Access (2)
Exemple
Site 1 : Cartes grises
Personne (N personne, nom, prnom, adresse, )
Voiture (N vhicule, marque, type, )
Conducteur (N personne, N vhicule, NB_accidents,..)
Site 2 : Base SAMU
Accident (N accident, date, departement, N vhicule, N personne, )
Bless (N accident, N personne, gravit, .)
Site 3 : requte
Liste des blesss graves dans une voiture de marque xxx et de type yyy dans rgion parisienne
Requte en centralis :
SELECT P.nom,P.prnom FROM Personne P, Bless B, Accident A, Voiture V
WHERE P.N personne = B.N personne
AND B.gravit > commotion
AND B.N accident = A.N accident
AND A.N vhicule = V.N vhicule
AND V. marque = xxx
AND V. type = yyy
AND A.dpartement IN (75, 78 , 91, 92 ,93, 94, 95)
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 :
Application
Page 20
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
BD locale 1
BD locale 2 BD locale N
Page 21
Mthodes de conception
BD distribue BD fdre
Procdure dintgration :
Traitement de lhtrognit smantique
Traduction des schmas : traitement de lhtrognit
syntaxique
Intgration des schmas
Page 23
Fdration de BD
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 24
Fdration de BD
Intgration des schmas
Schma conceptuel global
Intgrateur
Procdure :
Identifier les lments de base qui sont lis
Choisir la reprsentation la plus adquate pour le schma global
Page 25
Intgrer les lments des schmas intermdiaires
Fdration de BD
Dmarche dintgration
Pr-intgration :
tablissement du plan dintgration
Comparaison :
mise en vidence des conflits
Mise en conformit :
rsolution des conflits
Fusion :
fusion des schmas
Restructuration :
amlioration du schma global
Page 26
Mthode descendante
Page 27
Mthode descendante
Page 28
Mthode descendante
Page 29
Fragmentation
Intrts
Lusage : dans le contexte de la rpartition des donnes, il parat
appropri de travailler sur des sous-ensembles de relations,
constituant lunit de rpartition
Lefficacit. Un stockage des donnes proximit du lieu o elles
sont le plus utilises est essentiel et inversement, les donnes
non ncessaires aux applications locales ne sont pas
emmagasines inutilement.
Le paralllisme: Lorsque le fragment constitue lunit de
rpartition, une transaction peut tre dcoupe en plusieurs
sous-requtes qui oprent sur des fragments. Ceci a pour effet
daccrotre le degr de simultanit, c'est--dire le paralllisme,
du point de vue du systme dans sa totalit, ce qui permet aux
transactions qui le peuvent, de sexcuter en parallle et en toute
scurit.
La scurit. Les donnes qui ne sont pas indispensables aux
applications locales ne sont pas prsentes inutilement des
endroits la porte des utilisateurs non autoriss
Page 30
Fragmentation correcte
Page 31
Techniques de fragmentation
2 niveaux de fragmentation :
Schma : fragmentation verticale, =>
Schma dcoup en sous-relations.
Instance : fragmentation horizontale,
=>
N-uplets dune relation affects
des fragments.
Ces 2 niveaux sont combinables: fragmentation mixte
=>
Recomposition :
Jointure(s)
Union(s)
Page 32
Units de fragmentation
Classe,
Table en relationnel
Occurrence,
Fragmentation horizontale
Lien de localisation
Attribut,
Fragmentation verticale
Valeurs,
Combinaison des fragmentations horizontale et verticale
Page 33
Fragmentation horizontale
Page 34
Fragmentation horizontale
Relation Compte
NoClient Agence TypeCompte Somme
174 723 Lausanne courant 123 345.89
177 498 Genve courant 34 564.00
201 639 Lausanne courant 45 102.50 Site 1
201 639 Lausanne dpt 325 100.00 Site 2
203 446 Genve courant 274 882.95
Site 1
Page 35
Fragmentation verticale
=>
Page 36
Fragmentation verticale
Site 2
Site 1 Site 1 Site 2
Relation Client
NoClient NomClient Prnom Age
174 723 Villard Jean 29
177 498 Cattell Blaise 38
201 639 Tsellis Alan 51
203 446 Kowalsky Vladimir 36
Page 37
Fragmentation mixte
Exemple :
Compte11 = (NoClient, Agence) (NoClient > 200 000)Compte sur le
site 11
Compte12 = (NoClient, Agence) (NoClient <= 200 000)Compte
sur le site 12
Compte2 = (NoClient, Prnom, Age)Compte sur le site 2
Page 38
Fragmentation mixte
Relation Client
NoClient NomClient Prnom Age
174 723 Villard Jean 29
Site 12
177 498 Cattell Blaise 38
201 639 Tsellis Alan 51
Site 11
203 446 Kowalsky Vladimir 36
Site 2
Page 39
Allocation de donnes
Page 40
Rplication dans les BD
PRINCIPE
Copie de chaque relation sur plusieurs sites
Rplication complte = copie sur tous les sites
Objectifs de la rplication :
Amlioration de la disponibilit des donnes
Amlioration des performances
Autonomie locale
Difficult principale de la rplication :
Synchronisation des copies
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 41
Rplication des donnes
Rplication Rplication
Validation Vidage et Copie de
Technologie base de rgles fonde sur le
deux phases rechargement table
ou de triggers journal
Page 42
Rplication des donnes
Quelques exemples dutilisation
Rplication
BD BD
production dcisionnelle
Distribution dinformation
BD
Entreprise globale
BD BD BD BD
Afrique Amrique Asie Europe
Page 43
Rplication des donnes
Illustration de stratgies de mise jour
Site matre
Page 44
Rplication des donnes
Rplication en vue de la rsistance aux
dfaillances (Disaster Recovery)
Site de secours
Site primaire
Page 46
Optimisation de requtes distribues
Page 47
Schma gnral de traitement et
doptimisation dune requte distribue
Normalisation de l criture de
Dcomposition de la requte la requte
Analyse -vrification
limination de la redondance
Arbre d valuation de la requte R-criture
sur les relations distribues
Site de contrle Schma de distribution
Localisation des donnes
Optimisation locale
Page 49
exemple
V.NV C.NV
P NV
V.degr>12
P
V.cru= Volnay P C.quantit=100
Vins Commandes
Page 50
exemple
X B.nom, B.prnom
X B.nom, B.prnom
C.NB B.NB
P B.ville= Paris
NB
X C.NB
C.NB
NB
B.NB
X B.NB
B.nom, B.prnom
V.NV C.NV
P C.date>1/1/2000 Buveurs NV
Commandes
Vins Commandes Vins
Page 51
Optimisation des requtes distribues
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 52
Rsum
Une base de donnes distribue est une collection logiquement
interconnecte de donnes partages (et une description de ces donnes)
rparties physiquement sur un rseau informatique. Le systme de gestion de
base de donnes distribue (SGBDD) est le logiciel qui gre la base de
donnes distribue et assure la transparence de la distribution vis--vis des
utilisateurs.
Un SGBDD se distingue du traitement distribu, o un SGBD centralis reoit
des accs par lentremise dun rseau. Il se distingue galement du SGBD
parallle, qui sexcute sur plusieurs processeurs et disques, et qui est conu
pour valuer des oprations en parallle chaque fois que cela est possible, de
manire amliorer les performances.
Les avantages dun SGBDD sont quil reflte la structure organisationnelle,
amliore la partage des donnes, amliore la fiabilit, la disponibilit et les
performances; il est galement plus conomique, il facilite lexpansion grce
sa modularit,il facilite lintgration et aide maintenir la comptitivit des
organisations. Ses principaux inconvnients sont son cot, sa complexit, le
manque de standards et dexprience dans lindustrie.
Un SGBDD est considr comme homogne ou htrogne. Dans un systme
homogne, tous les sites utilisent le mme produit de SGBD, tandis que, dans
un systme htrogne, les sites exploitent des produits de SGBD diffrents,
qui ne suivent pas ncessairement le mme modle de donnes sous-jacent,
de sorte que le systme peut tre compos de SGBDrelationnels, en rseau,
hirarchiques ou orients objet.
Un systme multibase de donnes (SMBD) est un SGBD distribu dont
chaque site garde sa propre autonomie..
Page 53
Rsum
Une relation peut tre scinde en un certain nombre de sous-relations,
appeles fragments, alloues (attribues) un ou plusieurs sites. Les
fragments sont ventuellement dupliqus (copis tels quels) pour offrir une
meilleure disponibilit et des performances accrues.
Nous connaissons deux types de fragmentations : horizontale et verticale. Les
fragments horizontaux sont des sous ensembles de tuples et les fragments
verticaux sont des sous-ensembles dattributs de relations. La fragmentation se
prsente aussi sous un autre type : mixte.
La dfinition de lallocation des fragments est mene de faon stratgique, de
manire garantir la localit des rfrences, une fiabilit et une disponibilit
amliores, des performances acceptables, un quilibre des capacits de
stockage et des cots, ainsi que des cots de communication rduits. Les trois
rgles dites de correction de la fragmentation sont laspect complet, la
reconstruction et la disjointure.
Quatre stratgies dallocation existent, en fonction de la disposition des
donnes : centralise (une seule base de donnes centralise), fragmente
(des fragments sont attribus un site), de rplication complte (une copie
complte de la base de donnes est entretenue dans chaque site) et de
rplication slective (une combinaison des trois autres).
Un SGBDD doit apparatre comme un SGBD centralis, en assurant une srie
de transparences. La transparence de distribution fait que les utilisateurs
ignorent la rplication ou la fragmentation des donnes. La transparence de
transaction garantit la transparence de la base de donnes globale quand des
utilisateurs accdent simultanment la base de donnes et quand des pannes
se produisent. La transparence de performances garantit que le systme gre
efficacement les requtes faisant rfrence des donnes de plus dun site. La
transparence de SGBD permet lusage de plusieurs SGBD diffrents dans le
systme, sans que lutilisateur ne sen rende compte
Page 54
Transactionnel et
transactionnel rparti
Page 55
Plan
Introduction
Concept de transaction - Proprits ACID
Caractristiques du transactionnel
Transactionnel rparti
Moniteur transactionnel
Modle X/Open
Exemple de moniteur transactionnel: Tuxedo
Moniteurs transactionnels et SGBDs
Page 56
Introduction
Page 57
Introduction
Concept de transaction
Page 58
Dfinition
Une transaction est un ensemble doprations menes sur une
BD,Ces oprations peuvent tre en lecture et/ou criture,
Une opration est atomique, cest donc une unit indivisible de
traitement,
Une transaction est soit valide par un commit, soit annule par
un rollback,soit interrompue par un abort,
Page 59
Exemple
Page 60
Proprits ACID
on appelle transaction une squence d'actions sur l'tat
physique et logique d'une application qui respecte les
proprits suivantes dites ACID (Atomicity, Consistency,
Isolation, Durability):
COMMIT
Validation de la transaction
Rend effectives toutes les mises jour de la transaction
ABORT
Annulation de la transaction
Dfait toutes les mises jour de la transaction
Page 63
Schma de transaction simple
Begin_Transaction
update
- Provoque l'intgration relle des mises
update jour dans la base
..... - Relche les verrous
Commit ou Abort
Mmoire de la
transaction
Update
Update
Abort
Commit
Poubelle
Bases de donnes
Page 65
Gestion de transactions reparties
Page 66
Transactions rparties
OBJECTIF
Garantir que toutes les mises jour d'une transaction
sont excutes sur tous les sites ou qu'aucune ne l'est.
EXEMPLE
Transfert de la somme X du compte A vers le compte B
DEBUT
site 1: A = A - X
site 2: B = B + X PANNE --> INCOHERENCE DONNEES
FIN
PROBLEME
Le contrle est rparti : chaque site peut dcider de
valider ou dannuler ...
Page 67
Validation d une Transaction
Transactions Centraliss
lapplication et les donnes sont sur la mme machine
Panne facile traiter
Validation 1 phase
transactions Distribues
lapplication et les donnes sont sur 2 N machines
Panne (partielle) difficile traiter
Validation 2 phases (2PC : Two Phases Commit)
Validation 3 phases (3PC : Three Phases Commit)
Page 68
Commit en 2 Phases
Principe
Diviser la commande COMMIT en deux phases
Phase 1 :
Prparer crire les rsultats des mises jour dans la BD
Centralisation du contrle
Phase 2 :
crire ces rsultats dans la BD
Coordinateur :
Le composant systme d'un site qui applique le
protocole
Participant :
Le composant systme d'un autre site qui participe dans
l'excution de la transaction
Page 69
Protocole C/S
1. PREPARER
Le coordinateur demande aux autres sites sils sont
prts commettre leurs mises jour.
2a. SUCCES : COMMETTRE
Tous les participants effectuent leur validation sur ordre
du client.
2b. ECHEC : ABORT
Si un participant nest pas prt, le coordinateur
demande tout les autres sites de dfaire la transaction.
REMARQUE
Le protocole ncessite la journalisation des mises jour
prpares et des tats des transactions dans un journal
local chaque participant.
Page 70
Cas Favorable
SITE COORDINATEUR
SITE PARTICIPANT 2
SITE PARTICIPANT 1
PREPARE PREPARE
OK
OK
COMMIT COMMIT
ACK ACK
Page 71
Cas Dfavorable (1)
SITE COORDINATEUR
SITE PARTICIPANT 2
SITE PARTICIPANT 1
PREPARE PREPARE
OK KO
ABORT ABORT
ACK
ACK
Page 72
Cas Dfavorable (2)
SITE COORDINATEUR
PREPARE PREPARE
OK OK
COMMIT COMMIT
ACK
STATUS
COMMIT
ACK
Page 73
Transitions d'Etats
Initial
CCommit/Prepare
Wait
VoteKO/GAbort VoteOK/GCommit
Initial
Abort Commit
Prepare/VoteOK
COORDINATEUR Ready
GAbort/Ack GCommit/Ack
Abort Commit
PARTICIPANT
Page 74
Actions du protocole
Page 75
Transactions bloques
Page 76
Commit en 3 Phases
Inconvnient du Initial
Page 77
Protocole arborescent TP
TP est le standard
propos par lISO dans le Coordinateur global
cadre OSI
Protocole arborescent
Tout participant peut
Coordinateur local
dclancher une sous-
transaction
Un responsable de la Coordinateur localPoint de validation
validation est choisi (Noeud critique)
Un coordinateur est
responsable de ses
participants pour la phase 1
collecte les PREPARE
demande la validation
Le point de validation est
Page 78
responsable de la phase 2
envoie les COMMIT
Moniteur transactionnel
Logiciel assurant le contrle de la faisabilit d'une
transaction commerciale en temps rel et l'quilibre de la
charge de traitement entre les diffrents serveurs.
Vendre des produits ou proposer des services en ligne
implique l'interaction de nombreux processus. Pour la
rservation de billets, par exemple, il faut notamment
vrifier la disponibilit du service, dbiter le compte du
client et crditer celui de l'entreprise.
Dans ce contexte, le recours un moniteur transactionnel
garantit la fois la fiabilit et la robustesse des
applications commerciales.
Le moniteur transactionnel surveille ainsi toutes les
requtes du client et appelle les fonctions correspondantes
sur le serveur.
Page 79
Moniteur transactionnel
Peu de systmes dexploitation ont t conus
dans loptique du transactionnel
Le support dun grand nombre d utilisateurs et
d un flux important de transactions (plusieurs
milliers par seconde) provoque un effondrement
des systmes
Le rle dun moniteur transactionnel est de :
Grer des processus comprenant le lancement des
applications, le contrle de leur droulement et
l quilibrage de charge (on peut parler de
multiplexage des requtes sur les ressources du
systme)
Grer des transactions (respect des proprits ACID)
dans un contexte, ventuellement distribu, mettant
en jeu plusieurs gestionnaires de donnes)
Page 80
Moniteur transactionnel
Page 81
Fonctions transactionnelles
Database
System (DBMS) . Gre les donnes partages
Page 83
Interface utilisateur
Utilisation dun API unique
Masquage de la complexit de lorganisation des services
Page 84
Moniteur transactionnel : Modle X/OPEN
communication CRM
Gestionnaire de ressources TM
RM
Interfaces standards CRM
TX = interface du TM
TM
XA = interface du RM
intgration de TP XA
Types de RM
gestionnaire de fichiers
RM
SGBD
priphrique
Page 85
Interface applicative TX
tx_open
ordonne au TM dinitialiser la communication avec tous
les RM dont les librairies daccs ont t lies
lapplication.
tx_begin
ordonne au TM de demander aux RM de dbuter une
transaction.
tx_commit ou tx_rollback
ordonne au TM de coordonner soit la validation soit
labandon de la transaction sur tous les RM impliqus.
tx_set_transaction_timeout
positionne un timeout sur les transactions
tx_info
permet dobtenir des informations sur le statut de la
transaction.
Page 86
Interface ressource XA
xa_open
ouvre un contexte pour lapplication.
xa_start
dbute une transaction.
xa_end
indique au RM quil ny aura plus de requtes pour le
compte de la transaction courante.
xa_prepare
lance ltape de prparation du commit deux phases.
xa_commit
valide la transaction.
xa_rollback
abandonne la transaction.
Page 87
Moniteurs transactionnels et SGBD
Il y a deux possibilits pour la programmation d'un systme
transactionnel:
Programmation Client/Serveur, sans moniteur
transactionnel, en relation avec les possibilits offertes par
les SGBDs. Ceci est appel "TP Lite" ou transactionnel
lger
Utilisation d'un moniteur transactionnel qui fournit le cadre
architectural des applications et utilisation des services
fournis par diffrents composants logiciels (e.g. SGBDs).
Ceci est appel "TP Heavy" ou transactionnel lourd
Pour le choix entre ces deux approches, diffrents lments
rentrent en ligne tels que:
Transactionnel lger : dpendance vis vis du fournisseur de
SGBD, limitations vis vis de la programmation des transactions
(la validation est faite au niveau du SGBD), problmes de
performance,...
Pour TP Heavy: limitation potentielle dans les progiciels que l'on
peut intgrer, prennit du moniteur, complexit de la
Page 88
programmation,....