Académique Documents
Professionnel Documents
Culture Documents
DISTRIBUEES ET REPARTIES
L’expression «base de données» est apparue vers 1964 pour désigner une
collection d’informations partagées par différents utilisateurs d’un système
d’informations militaire. En 1970, Edgar F. Codd apporte une contribution
substantielle à cette définition en y introduisant les concepts de l’algèbre
relationnelle donnant lieu aux «bases de données relationnelles». Il convient
d’affirmer sans équivoque, que cette notion de bases de données relationnelles a
été un apport significatif dans le domaine informatique, en permettant d’organiser
efficacement l’information de l’entreprise.
D’une manière générale, une base de données est un dépôt informatique qui
permet de sauvegarder l’information en format tabulaire conformément au
modèle de données basé sur les règles de l’algèbre relationnelle.
Parmi les avantages des bases de données dans les entreprises, on peut trouver :
− la capacité de partager des données. Ceci signifie que plusieurs utilisateurs
peuvent se servir simultanément des informations contenues dans la base
de données en accédant tous à la même information et en l’utilisant chacun
à des fins différentes.
Figure 1
− Les bases de données permettent d’éviter les redondances de données. La
redondance est une situation où les données sont répétées « inutilement ».
− On peut aussi éviter les incohérences des données. Le terme incohérence
signifie que deux ou plusieurs données dans la base de données contiennent
des valeurs différentes. D’habitude, cette incohérence est le résultat de la
mise à jour de données redondantes.
Dans une base de données distribuée, il peut y avoir plusieurs SGBD, plusieurs sites
de stockage et plusieurs unités de traitement d’où la définition : une base de
données répartie est une base de données dont les différentes parties sont
stockées sur des sites distants reliés par réseau.
ou
Dans les systèmes distribués, il faut faire la distinction entre une base de données
distribuée homogène et une autre qui est hétérogène.
Une base de données distribuée homogène est caractérisée par le fait que toutes
les instances ou nœuds démarrent sur un seul logiciel et partagent un seul matériel
informatique (hardware); de plus, le système peut être affiché dans une interface
unique comme s’il s’agissait d’une seule base de données.
A la fin des années 80 et au début des années 90, la plupart des fournisseurs de
SGBD avaient des projets voire des produits de versions distribuées de leur SGBD
et des capacités à fédérer des BD (homogènes et hétérogènes).
Les différentes expériences faites, par les utilisateurs des applications, avec ces
SGBD ont montrés leurs limites, en particulier dans un contexte de mise à jour.
Au début des années 2000, les fournisseurs ne mettent plus en avant les aspects
distribués.
Les fournisseurs ont évolués vers des solutions à base de réplication des bases de
données et des moyens d’accès à des bases de données distantes.
1.3 Problématique
La mise en place des bases de données a subit une évolution avec de nouvelles
versions de SGBD qui prennent en compte certaines contraintes comme les types
de données à accueillir. D’autres pressions en demeurent :
- augmentation du volume de l’information et des transactions
- impératif de décentralisation de l’information
Ces défis conduisent à une lenteur applicative (temps de réponde plus grand ou
pas d’accès à l’information). D’où la nécessité de serveurs de BD qui fournissent un
Inconvénients
• Complexité : un SGBDD masque sa nature de répartition aux yeux des
utilisateurs et fournit un niveau acceptable de performance.
• Sécurité : dans un système centralisé, l’accès aux données est d’un contrôle
facile, tandis que dans un système distribué, non seulement il faut contrôler
1.7 Objectifs
Les principaux objectifs visés par une répartition des données sont :
− La transparence pour l’utilisateur
− Autonomie de chaque site
− Pas de site privilégié
− Continuité de service
− Traitement des requêtes distribuées
− Transparence vis-à-vis de :
• la localisation des donnés i.e. l’utilisateur accèdent au schéma
conceptuel via des vues ; il ne sait pas sur quel site se trouvent
physiquement les données
• la fragmentation ou partitionnement l’utilisateur ne sait pas
comment la base est partitionnée
• la réplication l’utilisateur ne sait pas s’il existe des copies des
informations, ni où elles se trouvent si elles existent
− Indépendance au niveau du
• matériel
• système d’exploitation
• réseau
• SGBD
1.8 Les problèmes à gérer
La mise place d’une base de données distribuée induit un coût, la concurrence
et la sécurité.
Le top down consiste d'abord à définir les grandes lignes, à les diviser en
parties, puis à établir un cahier des charges pour chaque partie. Cela permet de
construire un tableau de bord, et surtout d'évaluer le coût global
Il s’agit donc de partir d’une seule base de données qu'il faut fragmenter et
allouer les fragments aux différents sites. On va donc d'un schéma global de
conception à des sous schémas locaux.
Cette méthode est surtout dans l'imprévisibilité du terrain : en effet, des difficultés
ou des modifications peuvent apparaître au cours de la réalisation, ce que
n'anticipe pas l'approche descendante qui se base sur une vision globale de départ.
Difficultés
Avantage :
− Amélioration des performances car les traitements sont réaliser en local
− Les utilisateurs ont un aperçu unique des données fonctionnant
(implémentées) sur plusieurs systèmes à priori hétérogènes
(plateformes et SGBD)
− Cohabitation de plusieurs systèmes (des entreprises) en permettant leur
interopérabilité
Inconvénient :
Difficultés
− Hétérogénéité sémantique (BD) et syntaxique (SGBD, connecteurs,
communications)
− Déduction d’un schéma global à partir des schémas locaux
Évidemment, les bases de données distribuées sont un sujet très vaste qui
nécessite plus d’un article pour être traitées en profondeur.
Les deux phases suivantes sont des phases critiques et délicates pour des bases de
données réparties:
3. Création du schéma de fragmentation : la base de données sera découpée en
fragments distincts constituant une partition de la base : l'intersection des
fragments doit être vide et leur réunion doit redonner le schéma global.
4. Création du schéma d'allocation : les fragments doivent être distribués "au
mieux" entre les différents sites.
2.2 Fragmentation
2.2.1 Définition
Les applications ne travaillent que sur des sous-ensembles des relations. Une
distribution complète des relations générerait soit beaucoup de trafic, soit une
réplication des données avec tous les problèmes que cela occasionne : problèmes
de mises à jour, problèmes de stockage. Il est donc préférable de mieux distribuer
ces sous-ensembles.
Par ailleurs, la vérification des dépendances sur différents sites peut être une
opération très longue.
a. La fragmentation horizontale :
Exemple
- Primaire
- Dérivée
R= R1 ∪ R2 avec R2=˥R1
Client
Client2
La Fragmentation d’une table en fonction des fragments horizontaux d’une autre table.
(Cette fragmentation est obtenue dans le cas de lien père_fils)
Exemple
Commande (NCL, NProduit, Date, Qte, NReprésentant)
Commande1= SELECT * FROM Commande
WHERE NCL IN
(SELECT NCL FROM CLIENT1)
Commande2= SELECT * FROM Commande
WHERE NCL IN
(SELECT NCL FROM CLIENT2)
Reconstruction de la relation initiale:
Commande = Commande1 ∪ Commande2
b. La fragmentation verticale :
Elle est le découpage d'une table en sous tables par projection permettant de
sélectionner les colonnes composant chaque fragment. La relation initiale doit
pouvoir être recomposée par la jointure des fragments.
Client1
NCL Nom
C1 AGBO
C2 TINGA
C3 MALEBOU
C4 KREPIN
Client2
Exemple :
c. La fragmentation mixte :
a) Avantages
b) Inconvénients
Exemple:
m1 : (Ville =“Alger ”) (Salaire ≤ 10 000)
m2 : NOT (Ville=“ Alger ”) (Salaire ≤ 10 000)
m3 : (Ville =“ Alger ”) NOT (Salaire ≤ 10 000)
m4 : NOT (Ville =“ Alger ”) NOT (Salaire ≤ 10 000)
Exemple
Considérons les prédicats simples suivants:
A<10, A>5, Loc = “Poitiers”, Loc = “Paris”
Les minterms à générer sont :
(1) A<10 A>5 Loc=SA Loc=SB
(2) A<10 A>5 Loc=SA ¬(Loc=SB)
(3) A<10 A>5 ¬(Loc=SA) Loc=SB
(4) A<10 A>5 ¬(Loc=SA) ¬(Loc=SB)
(5) A<10 ¬(A>5) Loc=SA Loc=SB
(6) A<10 ¬(A>5) Loc=SA ¬(Loc=SB)
(7) A<10 ∧ ¬(A>5) ∧ ¬(Loc=SA) ∧ Loc=SB
(8) A<10 ∧ ¬(A>5) ∧ ¬(Loc=SA) ∧ ¬(Loc=SB)
(9) ¬(A<10) ∧ A>5 Loc=SA Loc=SB
(10) ¬(A<10) A>5 Loc=SA ¬(Loc=SB)
(11) ¬(A<10) A>5 ¬(Loc=SA) Loc=SB
(12) ¬(A<10) A>5 ¬(Loc=SA) ¬(Loc=SB)
(13) ¬(A<10) ¬(A>5) Loc=SA Loc=SB
(14) ¬(A<10) ¬(A>5) Loc=SA ¬(Loc=SB)
(15) ¬(A<10) ¬(A>5) ¬(Loc=SA) Loc=SB
(16) ¬(A<10) ¬(A>5) ¬(Loc=SA) ¬(Loc=SB)
Après éliminations des fragments contradictoires, les fragments finaux sont :
Nous signalons que pour une relation avec m attributs (non-primary key), le
nombre de fragments verticaux possible est approximativement égal à mm
Techniques de fragmentation
• Groupement: (1) chaque attribut forme un fragment, (2) jointure des
fragments tant qu’un critère de performance est satisfait.
• Splitting: on débute par la relation globale, on génère ensuite des
partitions en se basant sur le comportement des applications (requêtes).
Principe de l’algorithme
Un fragment vertical contient des attributs fréquemment utilisés.
Les informations dont on aura besoin sont les suivantes :
3. Disjonction : une donnée n'est présente que dans un seul fragment, sauf dans le
cas de la fragmentation verticale pour la clé primaire qui doit être présente dans
l'ensemble des fragments issus d'une relation.
Suite à la fragmentation des données, il est nécessaire de les placer sur les
différentes machines. Un schéma doit être élaboré afin de déterminer la
localisation de chaque fragment et sa position dans le schéma global, c'est ce qu'on
appelle l'allocation. [Spa98]
A l'inverse, si une partie d'un fragment est appelée sur un autre site, il peut être
intéressant de décomposer ce fragment et de ne migrer que la partie concernée.
Ces modifications du schéma de fragmentation se répercutent sur le schéma
d'allocation et sur les schémas locaux.
2.4.1 Principe
Le principe de la réplication, qui met en jeu au minimum deux SGBDs, est assez
simple et se déroule en trois étapes : [SL06]
2. Les modifications faites sur les données sont détectées et stockées dans un
fichier ou une file d'attente en vue de leur propagation.
Le plus gros problème de la gestion asymétrique est la panne du site primaire. Dans
ce cas, il faut choisir un remplaçant si l'on veut continuer les mises à jour. On
aboutit alors à une technique asymétrique mobile dans laquelle le site primaire
change dynamiquement. On distingue l'asymétrie synchrone et l'asymétrie
asynchrone :
· Réplication asymétrique synchrone : elle utilise un site primaire qui pousse les
mises à jour en temps réel vers un ou plusieurs sites secondaires. La table répliquée
est immédiatement mise à jour pour chaque modification par utilisation de trigger
sur la table maître. [Mey05]
· Réplication asymétrique asynchrone : elle pousse les mises à jour en temps différé
via une file persistante. Les mises à jour seront exécutées ultérieurement, à partir
d'un déclencheur externe, l'horloge par exemple. [Mey05]
Une vue matérialisée (VM3) est un moyen simple de créer une vue physique d'une
table. Elle correspond à une photo instantanée des données au moment de
l'exécution de la requête. À la différence d'une vue standard, le résultat de la
requête est physiquement stocké dans la base de données.
Les vues matérialisées peuvent porter sur des tables, mais aussi des vues ou des
vues matérialisées. [Del08]
Exemple :
AS
2.4.3.1 Objectifs
Afin d'assurer une certaine cohérence des données, il faut mettre à jour les vues
matérialisées et les tables périodiquement. Il existe trois façons de mises à jour qui
sont la régénération complète, rapide et forcée :
· Rafraîchissement complet :
· Rafraîchissement incrémental :
Son principe est de propager uniquement les données modifiées depuis le dernier
rafraîchissement. Ce type de rafraîchissement dit aussi rapide nécessite que la base
de données stocke les modifications enregistrées sur les données des tables de
base,
on utilise pour cela un journal (fichier Log). Ces données sont stockées jusqu'à ce
que le rafraîchissement ait été effectué. [Wos05]
· Rafraîchissement forcé :
La mise à jour des données sur une base de données réparties nécessite la
validation préalable de chaque site avant la demande du site coordinateur. Ce
protocole se nomme 'Validation à deux phases' 2PC4 et garantit le tout ou rien dans
une base de données répartie. [Mey03]
La première phase réalise la préparation de l'écriture des résultats des mises à jour
dans la base de données et la centralisation du contrôle.
Par contre la seconde phase 'phase de validation' n'est réalisée qu'en cas de succès
de la phase 1, elle intègre les résultats des mises à jour dans la base de données
répartie. Le contrôle du système réparti est centralisé sous la direction d'un site
appelé coordinateur. Les autres sites sont nommés des participants. [BM07]
Il est impératif dans une base de données répartie de placer des contraintes
déclaratives sur les données qui seront stockées dans le dictionnaire de données.
Dans une base de données répartie, il est nécessaire de dissocier deux types de
contraintes :
Les contraintes locales sont des contraintes placées sur un seul site (schéma local).
Ces contraintes sont donc stockées dans le dictionnaire de chaque site. [Mey03]
Les contraintes globales doivent être placées sur la relation globale, il n'est pas
possible de les matérialiser. Nous pouvons dire qu'il est impossible de créer des
contraintes sur des vues, mais il est plus important de comprendre qu'une
contrainte globale doit être placée dans plusieurs dictionnaires. [Mey03]
2.6 Conclusion
Dans ce chapitre, nous avons présenté les principes de la répartition des données.
Cette répartition peut se faire selon différents scénarios choisis par le concepteur,
tout en prenant en compte les restrictions et les obligations de conception.
Nous avons vu également, comment gérer une base de données répartie avec les
principes de réplication symétrique et asymétrique.
Bibliographie :
− Base de Données Réparties (BDR) Master2 : Systèmes informatiques
distribués de Mme S.MECHID, Université M’hamed Bougara de Boumerdes
Département de Physique. Infotronique 2011 2012
− Base_de_donnees_distribuees-3 de « le CNAM »