Vous êtes sur la page 1sur 38

Bases de données distribuées

k.nafil@um5s.net.ma
Année univ : 2008-09

05/28/2009 Bases de Données Distribuées 1


Définition
 Un système BD distribué est constitué d’un
ensemble de sites, interconnectés par un
réseau de communication, où :
 Chaque site est un système BD à part entière
 Tous les sites collaborent afin qu’un utilisateur
puisse accéder, depuis n’importe quel site, aux
données se trouvant n’importe où dans le réseau,
d’une manière transparente

05/28/2009 Bases de Données Distribuées 2


Définition
 La BD répartie correpond à un objet
virtuel dont les composants sont
physiquement enregistrés dans des BD
réelles sur des sites distants
 Une BD répartie est considérée comme
l’union logique de BD réelles
 Ne pas confondre un système BD
réparti avec un système client/serveur

05/28/2009 Bases de Données Distribuées 3


Définition
 Chaque site est une BD à part entière qui a
sa propre :
 BD réelle locale
 Utilisateurs
 SGBD
 Un utilisateur peut réaliser des opérations
sur les données de son site comme si le site
ne fait pas partie du système distribué

05/28/2009 Bases de Données Distribuées 4


Définition
 L’ensemble du système distribué constitue
un partenariat entre les SGBD locaux
 Un composant logiciel sur chaque site fournit
les fonctions de partenariat nécessaires
 La combinaison de ces composants avec les
SGBD locaux constitue le SGBD réparti

05/28/2009 Bases de Données Distribuées 5


Avantages des SGBD répartis
 Entreprises distribuées
 Sites d’une même entreprise
distribués, et donc données ditribuées
 Les données locales sont conservées
localement
 Les données éloignées peuvent être
accédées en cas de besoin

05/28/2009 Bases de Données Distribuées 6


Exemples de SGBD répartis
 Prototypes
SDD-1(Computer Corporation of America)
R star (IBM)
Distributed Ingres (Université de Californie)
 Solutions commerciales
Ingres/Star
Oracle
DB2

05/28/2009 Bases de Données Distribuées 7


Principe fondamental : la
transparence
 La transparence : Pour l’utilisateur, un
système distribué doit avoir
exactement la même apparence qu’un
système non distribué
 Ce principe entraîne douze objectifs

05/28/2009 Bases de Données Distribuées 8


Les douze objectifs
 Autonomie locale
 Pas de contrôle centralisé
 Continuité de service
 Indépendance de l’emplacement
 Indépendance de la fragmentation
 Indépendance de la réplication

05/28/2009 Bases de Données Distribuées 9


Les douze objectifs…
 Évaluation des requêtes distribuées
 Gestion des transactions distribuées
 Indépendance matérielle
 Indépendance du sytème d’exploitation
 Indépendance du réseau
 Indépendance du SGBD

05/28/2009 Bases de Données Distribuées 10


Autonomie locale
 Les sites d’un SBDR doivent être autonomes
 Toutes les opérations d’un site sont
contrôlées par ce site, avec une
responsabilité locale
 Toutes les données d’un site appartiennent à
une BD locale
 Les sites doivent avoir le plus d’autonomie
possible

05/28/2009 Bases de Données Distribuées 11


Pas de contrôle centralisé
 L’autonomie locale implique que tous
les sites sont considérés comme égaux
 Avoir un site central peut :
S’avérer un goulot détranglement
Rendre le système vulnérable

05/28/2009 Bases de Données Distribuées 12


Continuité de service
 La fiabilité
La probabilité que le système fonctionne à
n’importe quel moment
 La disponibilité
La probabilité que le sysème fonctionne
en continu pendant une période spécifiée
 Les SBDR présentent une grande
fiabilité et disponibilité
05/28/2009 Bases de Données Distribuées 13
Indépendance de
l’emplacement
 Transparence de l’emplacement
 Les utilisateurs doivent se comporter
comme si les données étaient toutes
mémorisées sur leur propre site
 Les données peuvent migrer d’un site à
l’autre sans aucun problème

05/28/2009 Bases de Données Distribuées 14


Indépendance de la
fragmentation
 On parle de fragmentation lorsque
 une table peut être divisée en morceaux
ou fragments pour des besoins de
mémorisation physiques,
 des fragments distincts peuvent être
stockés sur des sites différents
 La fragmentation est souhaitée pour
des besoins de performance

05/28/2009 Bases de Données Distribuées 15


Indépendance de la
fragmentation :exemple
Soit la table Employe :

Mate Ndep Salaire


E1 D1 6500

Vision utilisateur E2 D1 7800


E3 D2 8500
E4 D2 8000
E5 D3 9000
05/28/2009 Bases de Données Distribuées 16
Fragmentation
Casablanca Tunis

Mate Ndep salair Mate Ndep salaire


e
E1 D1 6500 E3 D2 8500

E2 D1 7800 E4 D2 8000

E5 D3 9000

05/28/2009 Bases de Données Distribuées 17


Types de fragmentation
 Fragmentation horizontale
Opération relationnelle de restriction
 Fragmentation verticale
Opération relationnelle de projection
 Un fragment est toute sous-relation
obtenue par l’application de la
restriction ou de la projection

05/28/2009 Bases de Données Distribuées 18


Fragmentation
 Pour reconstituer la table initiale à
partir des fragments, on utilise les
opérations de jointure et d’unions
adaptées :
Jointures pour les fragments verticaux
Unions pour les fragments horizontaux

05/28/2009 Bases de Données Distribuées 19


Fragmentation verticale
 La fragmentation de Employe en deux
projections sur (Mate,ndep) et (Salaire)
n’est pas valide
 On attribue un IdT aux tuples
 La fragmentation valide devient :
(IdT,Mate, ndep) et (IdT, Salaire)

05/28/2009 Bases de Données Distribuées 20


Fragmentation
 Un système gérant la fragmentation
des données doit aussi gérer
l’indépendance de la fragmentation
 Les utilisateurs doivent se comporter
comme si les données n’étaient pas
fragmentées

05/28/2009 Bases de Données Distribuées 21


Indépendance de la
fragmentation : avantages
 Simplifie les programmes
d’applications
 Simplifie les activités des utilisateurs
finaux
 Permet de fragmenter de nouveau les
données à n’importe quel moment pour
des questions de performance

05/28/2009 Bases de Données Distribuées 22


Programme d’optimisation
 Emp where salaire>6500 and
ndep=ndep(‘d1’);
 L’optimiseur saura, d’après les
définitions des fragments, que la
totalité du résultat peut s’obtenir en
consultant uniquement le site de Casa

05/28/2009 Bases de Données Distribuées 23


Indépendance de la
réplication
 Un système gère la réplication des
données si une table ou un fragment
peut être représenté en mémoire par
plusieurs copies ou duplicats
mémorisés sur plusieurs sites différents

05/28/2009 Bases de Données Distribuées 24


Indépendance de la
réplication
 Replicate n_emp ln_emp at site
‘Tunis’ ;
 Replicate l_emp nl_emp at site
‘Casablanca’
 Nl_emp et ln_emp sont internes au
sysytème
 N_emp est un fragment

05/28/2009 Bases de Données Distribuées 25


Réplication: avantages
 Conduit à de meilleures performances
 Conduit à une meilleure disponibilité
 Nb : lorsqu’un objet répliqué est mis à
jour, toutes ses copies doivent être
mises à jour (propagation des m-à-j)

05/28/2009 Bases de Données Distribuées 26


Évaluation des requêtes
distribuées
 Les systèmes distribués relationnels
sont plus performants en matière de
performance
 Req : trouver les fournisseurs de pièces
rouges à Tunis, tout en supposant que
l’utilisateur est sur le site de
Casablanca

05/28/2009 Bases de Données Distribuées 27


Gestion des transactions
distribuées
 Reprise après panne
 Concurrence
 Agent

05/28/2009 Bases de Données Distribuées 28


Gestion des transactions
distribuées
 Une seule transaction peut nécessiter
l’exécution du code sur plusieurs sites, voire
des m-à-j sur plusieurs sites
 Chaque transaction est constituée de
plusieurs agents
 Un agent est le processus exécuté pour le
compte d’une transaction sur un site donné
 Le système a besoin de savoir si deux agents
font partie de la même transaction

05/28/2009 Bases de Données Distribuées 29


Reprise après panne et
concurrence
 Pour garantir qu’une transaction soit
atomique, le système doit assurer que
les agents de la transaction sont tous
validés à l’unisson ou tous annulés
 La concurrence est fondée sur le
verrouillage

05/28/2009 Bases de Données Distribuées 30


Indépendance matérielle
 Il y a possibilté de faire intervenir
plusieurs machines de types différents
 Il est souhaitable que les plates-formes
matérielles différentes exécutent le
même SGBD

05/28/2009 Bases de Données Distribuées 31


Indépendance des systèmes
d’exploitation

05/28/2009 Bases de Données Distribuées 32


Indépendance du réseau

05/28/2009 Bases de Données Distribuées 33


Indépendance du SGBD

05/28/2009 Bases de Données Distribuées 34


Problèmes des systèmes
distribués
 Problème de la charge réseau : consiste à
minimiser l’utilisation du réseau (nombre
et volume des messages) :
Évaluation des requêtes
Gastion du catalogue
Propagation des m-à-j
Reprise
concurrence

05/28/2009 Bases de Données Distribuées 35


Évaluation des requêtes
 Processus d’optimisation des requêtes
doit être distribué aussi bien que celui
de l’exécution des requêtes

05/28/2009 Bases de Données Distribuées 36


Gestion du catalogue
 Le catalogue contient non seulement
les données d’un catalogue classique
(tables, vues, CIF,…), mais également
toutes les informations de contrôle
nécessaires au système pour assurer :
L’indépendance de l’emplacement
L’indépendance de la fragmentation
L’indépendance de la réplication

05/28/2009 Bases de Données Distribuées 37


Mémorisation du catalogue
 Centralisé
Le catalogue est sur un site central unique
 Réplication totale
Le catalogue est mémorisé sur chaque site
 Partitionné
Chaque site gère son propre catalogue
concernant les objets de ce site
 Combinaison des approches 1 et 3

05/28/2009 Bases de Données Distribuées 38

Vous aimerez peut-être aussi