Base de Données Réparties
Base de Données Réparties
Base de Données Réparties
M. Nassar
Plan
n Introduction
n Définitions et vocabulaire
n Cas d’Oracle
n Conclusion
1
Introduction
BD centralisée – sur 1 site : « locale »
Serveur de BD
BD centralisée
Même site
Clients
Clients
Introduction
BD centralisée – sur n ≥ 2 sites : « distante »
Site de la BD Site éloigné
réseaux
BD centralisée
Clients
Clients
2
Introduction
BD centralisée – avantages et inconvénients
Avantages :
n Un seul SGBD
n Un seul administrateur de la BD
n La requête est calculée sur le serveur par le SGBD et les résultats sont acheminés vers le
client distant
Inconvénients :
n Le réseau peut tomber en panne !
n Sur utilisation du réseau
Introduction
Problème 1
Enoncé :
Hypothèse :
3
Introduction
Solution 1 : BD centralisée
Site de Casa Site Tanger
Serveur de communication
Serveur de BD
BD centralisée
Réseau
Clients
Clients
Site Fès
Serveur de communication
Site Agadir
Serveur de communication
Clients
Clients
Introduction
Solution 1, Critiques
Avantages :
n Un seul SGBD
n Un seul administrateur de la BD
n La requête est calculée sur le serveur par le SGBD et les résultats sont acheminés vers le
client distant
Inconvénients :
n Si le site central tombe en panne ?!
n Si le réseau tombe en panne ?!
n Le coût de la communication et du transfert des données
n Charge de calcul concentrée sur le serveur central
4
Introduction
Solution 2, BD dupliquée
Site de Tanger
Site de Casa
Serveur de BD
Serveur de BD
MAJ Périodique
BD dupliquée
BD centralisée
Réseau
Clients Clients
Site principal
Site d ’Agadir Site de Fès
Serveur de BD Serveur de BD
BD dupliquée BD dupliquée
Clients Clients
Introduction
Solution 2, Critiques
Avantages :
n Toute la base de données est localisée dans chaque site
n La requête est calculée sur le serveur local par le SGBD local
n Réduction du coût de la communication
Inconvénients :
n Plusieurs SGBDs
n Problèmes de MAJ et d’incohérence de la base
n Plusieurs administrateurs de la base
n Surcharge de la base par des données non nécessairement utiles en local
5
Introduction
Question 1
Introduction
Problème 2
Enoncé :
Hypothèse :
6
Introduction
Problème 2.1 : Distribution géographique
* Site de Casa * Site de Tanger
BD centralisée BD centralisée
Serveur de BD Serveur de BD
Clients Clients
Serveur de BD Serveur de BD
Clients Clients
Introduction
Problème 2.2 : Hétérogénéité des SGBDs
* Site de Casa * Site de Tanger
BD centralisée BD centralisée
Serveur de BD Serveur de BD
Clients Clients
Serveur de BD Serveur de BD
Clients Clients
7
Introduction
Problème 2.3 : Hétérogénéité des modèles
* Site de Casa * Site de Tanger
BD centralisée BD centralisée
Serveur de BD Serveur de BD
Clients Clients
Serveur de BD Serveur de BD
Clients Clients
Introduction
Question 2
8
Les bases de données réparties
Définitions
UM5A
Select * from
Etudiant
UM5S
Avantages :
n Prendre en compte la répartition géographique des données
n Prendre en compte la distribution fonctionnelle des données
n Une meilleure disponibilité des données en présence de panne ou de dysfonctionnement
des applications
n Une plus grande flexibilité afin d’assurer le partage des données hétérogènes et réparties
n Meilleures performances (données réparties sur plusieurs bases gérées par des serveurs
différents mieux adaptés)
Inconvénients :
n Complexité des SGBDRs
n Problèmes de cohérence dus à la distribution du contrôle de données entre plusieurs sites
n Difficulté de changement (ex. intégration d’un nouveau type de SGBD)
9
Les bases de données réparties
Objectifs des SGBDRs (1/3)
n Multiclients multiserveurs
Ø Fournir un mécanisme de contrôle des accès concurrents adapté
Ø Garantir que l’effet de l’exécution simultanée des transactions est le même que celui
d’une exécution séquentielle (sérialisabilité des transactions)
Ø Permettre l’exécution des requêtes distribuées
Une requête distribuée est une requête émise par un client dont l’exécution nécessite
l’exécution de N sous-requêtes sur N serveurs avec N>1
Une transaction distribuée est une transaction qui met en œuvre plusieurs serveurs
Client1 Client2
RD R1
R2
R3
Requête Transaction
distribuée distribuée
Avantages :
- Simplifier l’écriture des requêtes
- Introduire la possibilité de déplacer les objets sans modifier les requêtes
Inconvénient :
- Contraindre le SGBDR à rechercher les sites capables de générer des éléments de réponse
à une requête pour l’exécuter (fonction pas évidente)
Solution :
- Utilisation d’un nom hiérarchique pour les objets : <objet>@<base>
- Utilisation d’un alias pour retrouver l’indépendance à la localisation
10
Les bases de données réparties
Objectifs des SGBDRs (3/3)
n Meilleure disponibilité
- Disponibilité des données : une des justifications essentielles des SGBDR
- La répartition permet de ne plus dépendre d’un site central
- Gestion des copies : se replier sur une copie lorsqu’une autre est indisponible (site en
panne) ===> Réplication
- Atomicité des transactions
n Autonomie locale
Garder une administration locale séparée et indépendante pour chaque serveur participant à
la base de données répartie (pas d’administration globale)
===> les reprises après panne et les mises à niveau des logiciels doivent être accomplies
localement et ne pas impacter les autres sites
n Conception descendante
- Utilisée lors de la constitution de nouvelles bases de données
- Un schéma conceptuel est tout d’abord élaboré puis les diverses entités de ce schéma sont
distribuées sur les sites ===> définition des schémas locaux
BDR
n Conception ascendante
- Intégration des BD locales existantes dans une base fédérée
===> intégration des schémas locaux existants afin de constituerun schéma global
BDR
11
Les bases de données réparties
Les 12 règles d’un SGBD
12
Les bases de données réparties
2 – Pas de site fédérateur
13
Les bases de données réparties
4 – Indépendance à la localisation
- La conception ascendante d’une BD conduit à distribuer sur diffé rents sites des fragments
- Pour la conception descendante, une table globale étant aussi di visée en fragments
14
Les bases de données réparties
Fragmentation horizontale
UNION
Etudiant_L
Etudiant_M Etudiant
Etudiant_D
Projection et restriction
Jointure
Projection
15
Les bases de données réparties
Fragmentation mixte
16
Les bases de données réparties
7 – Requêtes distribuées
17
Les bases de données réparties
8- Transactions distribuées
- Atomicité : Une transaction doit effectuer toutes ses mises à jour ou ne rien faire du tout
- Cohérence : Une transaction doit faire passer la BD d’un état cohérent à un autre
- Isolation : Les résultats d’une transaction ne doivent être visibles aux autres transactions
qu’une fois la transaction validée
- Durabilité : Dès qu’une transaction valide ses modifications, le système doitgarantir que ces
modification seront conservées en cas de panne
Dans le cadre d’un système réparti, chaque site peut décider de valider ou
d’annuler une transaction ====> il faut donc coordonner les validations
18
Les bases de données réparties
Gestion des transactions
Site coordinateur
PREPARE PREPARE
OK OK
COMMIT
COMMIT
ACK ACK
Site coordinateur
PREPARE PREPARE
OK KO
ABORT
ABORT
ACK ACK
19
Les bases de données réparties
Gestion des transactions
Site coordinateur
PREPARE PREPARE
OK OK
COMMIT
COMMIT
ACK STATUS
COMMIT
ACK
Site coordinateur
PREPARE PREPARE
OK OK
PREPARE PREPARE
OK OK
COMMIT
COMMIT
ACK ACK
20
Les bases de données réparties
Problème des accès concurrents – verrou mortel global
21
Les bases de données réparties
12 – Indépendance du SGBD
- Syntaxe de la commande :
22
Les bases de données réparties
Exemples de création des fragments
- Il est impossible d’utiliser les DB LINKS pour les clés étrangères distantes
- Solution : Créer deux TRIGGERS :
- Sur le fragment fils : le père doit exister
- Sur le fragment père : suppression impossible si des fils sont présents
23
Les bases de données réparties
Travail de compte à compte
- Chaque site distant doit créer un compte ayant accès aux objets répartis locaux
- Ces comptes ‘miroir’ sont créés par l’administrateur et reçoivent les droits d’accès par
les propriétaires des données réparties
- Chaque responsable local de la base de données réparties ne connaît que les mots de passe
des comptes ‘miroir’ distants
24
Les bases de données réparties
Indépendance à la localisation
- Les synonymes :
- Création d’un synonyme
CREATE SYNONYM Client FOR Client@lien_Base2;
- Suppression d’un synonyme
DROP SYNONYM Client;
- Synonyme d’une séquence distante :
CREATE SYNONYM Sequence_Client
FOR Sequence_Client@lien_Base2;
- Les données réparties sont encapsulées et ne sont pas accessibles directement aux
développeurs clients
- Les règles de fragmentation sont dans les procédures
- Transparence de la localisation des données aux utilisateurs
25
Les bases de données réparties
Les triggers INSTEAD OF
- Exemple :
CREATE TRIGGER InseretClient
INSTEAD OF INSERT ON Client
FOR EACH ROW
BEGIN
IF :NEW.Ville=‘Rabat’ THEN
INSERT INTO Client_Rabat@vers_BaseRabat VALUES(:NEW.NumCli, :NEW.Nom, :NEW.Adr) ;
ELSIF :NEW.Ville=‘Casablanca’ THEN
INSERT INTO Client_Casa @vers_BaseCasa VALUES(:NEW.NumCli, :NEW.Nom, :NEW.Adr ) ;
ELSE RAISE_APPLICATION_ERROR (-20455,’Entrer Rabat ou Casablanca’);
END IF;
END;
/
- Distribution
- Bases de données distribuées ou réparties
- Sans redondance
- Duplication
- Duplication locale d’un fragment éloigné maître
- Fragment locale en lecture seule
- Utilisation de la notion de cliché
- Duplication synchrone ou asynchrone
26
Les bases de données réparties
Duplication et Réplication des données réparties
- Réplication
- Pas de fragment maître
- Réplication synchrone : utilisation de jetons
- Réplication asynchrone : problèmes de cohérence
Avantages :
- Améliorer les performances
Utilisation de la copie la plus proche du client => évite des transferts inutiles
- Augmenter la disponibilité des données
Lors d’une panne d’un serveur, on peut se replier sur un autre disposant d’une copie des
données
Avec N copies sur des serveurs différents => Disponibilité = 1 – probabilité_panne N
Inconvénients :
- Assurer la convergence des copies
- Offrir une transparence de gestion aux clients : les clients doivent croire à l’existence
d’une seule copie
Le SGBD doit assurer la diffusion des mises à jour aux copies et le choix
de la meilleure copie lors des accès
- Duplication asynchrone : propager les modifications apportées aux données sources vers
les copies à des intervalles prédéfinis.
- Utilisation d’un programmateur
- Oracle utilise la notion de SNAPSHOT ou vues matérialisées
27
Les bases de données réparties
Duplication synchrone des données
- Utilisation des trigger de type ‘before ’ qui propage la mise à jour sur la table image
Table copie1
Ordre de
Table maître Trigger synchronisation
Table copie2
Ordre de
MAJ
28
Les bases de données réparties
Principe
- Pour chaque table maître qui alimente un cliché, il faut créer un journal d’images
(SNAPSHOT LOG)
- Une table maître (même journal) peut alimenter plusieurs fragments dupliqués
29
Les bases de données réparties
Exemple
30