Vous êtes sur la page 1sur 40

BASES DE DONNÉES

RÉPARTIES

1
RÉPARTITION DES DONNÉES

2
POURQUOI RÉPARTIR LES DONNÉES ?
 Progrès technologique
 Capacités de stockage
 Augmentation du volume d’information (14 fois entre 1990 et 2000)
 Capacités de calcul
 Augmentation du volume de transactions (10 fois dans les 5 prochaines
années)
 Infrastructure réseau
« Loi » de Moore :
 le nombre de transistors des microprocesseurs sur une puce de silicium
double tous les deux ans à coût constant.
 Plus connue : les capacités de stockage et de calcul doublent tous les 18
mois
 Entre 1971 et 2001, la densité des transistors a doublé chaque 1,96
année. En conséquence, les machines électroniques sont devenues de
moins en moins coûteuses et de plus en plus puissantes.
« Loi » de Gilder :
 la bande passante des réseaux triplerait à prix égal tous les ans 3
 le débit des liaisons quadruplerait tous les trois ans.
POURQUOI RÉPARTIR LES DONNÉES ?
 décentraliser l’information
 Limiter le transfert d’information (nombre et volume) en
répartissant les données les plus utilisées
 Accroître les performances par :
 La répartition de la charge de travail sur plusieurs unités de
traitement opérant en parallèle et sur les E/Ss
 La réduction du trafic sur le réseau

 Augmenter la fiabilité (duplication)


 La panne d’un site n’est pas très importante pour l’utilisateur, qui
s’adressera à un autre site.
 Faciliter l’accroissement par l’ajout de machines sur le réseau.

Objectifs Besoin de systèmes qui :


 résistent à la montée en charge
4
 fournissent un bon temps de réponse aux requêtes et transactions
sur de gros volumes de données
QU’EST CE QU’UNE BASE DE DONNÉES RÉPARTIE ?
 Une base de données répartie (distribuée) est une base de
données dont les différentes parties sont stockées sur des
sites (géographiquement distants), reliés par un réseau. La
réunion de ces parties forme la base de données répartie.

 Un SGBD réparti assure la gestion d’une BD répartie


 Exécution des transactions
 locales : accès aux données sur site SGBDR
 globales : accès sur plusieurs sites
 Cohérence des données
SGBD1 SGBD2
 Contrôle de concurrence
 Reprise après panne
 Optimisation de requêtes

5
LES RÈGLES D’UNE BDR
Ces règles ont pour but d’évaluer une base de données
distribuée.
1. Principe Fondamental: Transparence pour
l’utilisateur: le système apparait à l’utilisateur comme
un système non distribué.
2. Autonomie de chaque site: (ang. local site
independence) tout site est responsable de la gestion de
ses données: contrôle de concurrence, back up, sécurité

3. Absence de site privilégié (ang. central site
independence) tous les serveurs ont les mêmes capacités
même si à un moment un serveur exerce le rôle de
coordinateur
6
4. Continuité de service (ang. Failureindependence)
5. Transparence vis à vis de la localisation des données:
(ang. location transparency) l’utilisateur ne sait pas où
se trouvent les données.
6. Transparence vis à vis de la fragmentation: (ang.
fragmentation transparency)
7. Transparence vis à vis de la réplication
8. Traitement des requêtes distribuées
9. Traitement de transactions distribuées
10. Indépendance vis à vis du matériel
11. Indépendance vis à vis du système d’exploitation
12. Indépendance vis à vis du réseau
13. Indépendance vis à vis du SGBD
7
ARCHITECTURE D’UNE BD RÉPARTIE

Utilisateurs

Vue externe 1 Vue externe 2

Schéma conceptuel Administrateur


de la BDR

Schéma de
fragmentation

Schéma d'allocation

Schéma Schéma Schéma


local sur site 1 local sur site 2 local sur site 3

Schéma Schéma Schéma


interne site 1 interne site 2 interne site 3

8
ARCHITECTURE D’UNE BD RÉPARTIE

 Chaque base possède son schéma local


 Le schéma de la base répartie constitue le schéma global
 Le schéma global donne la description globale et unifiée de toutes les données
de la BDR (e.g., des relations globales)
 Le schéma global fait partie du dictionnaire de la BDR et peut être conçu
comme une BDR (dupliqué ou fragmenté)
 Indépendance à la répartition

 Décomposition en BD locales

 Les données sont accédées via des vues intégrées qui assurent la transparence à la
localisation
 Intégration logique des BDs locales existantes

9
APPROCHES DE CONCEPTION D’UNE BD RÉPARTIE

 Approche descendante (décomposition, ang. top


down design):
 Conception du schéma conceptuel global
 Distribution pour obtenir des schémas conceptuels locaux
 Fragmentation
 Affectation aux sites (allocation)

BDR : schéma global

BD1 BD2 BD3 BD4 BD5

10
APPROCHES DE CONCEPTION D’UNE BD RÉPARTIE

 Approche ascendante (ang. bottom up design) :


 Intégration de bases de données existantes
 Hétérogénéité

BDR : schéma global

BD1 BD2 BD3 BD4 BD5

11
APPROCHES DE CONCEPTION D’UNE BD
RÉPARTIE
Exemple
 Relation Employé (nss, nom, loc, ...)
 Relation Taux (pays, valeur, ...)

 12 bureaux d’environ la même taille

 6 à Paris, 4 à Marseille et 2 à Lyon

 80% des requêtes dans une ville portent sur les employés
de la ville
 10% des requêtes dans une ville portent sur Taux

12
APPROCHES DE CONCEPTION D’UNE BD
RÉPARTIE
Exemple (suite)
 Créer 3 bases de données : P, M, L
 Sur chaque base : les employés de la ville et une copie de

de la table Taux.
 Si trop cher :
 fusionner M et L
 ou maintenir Taux à M.

13
GESTION DES BD-R

▪ Rappel sur l’architecture ANSI/SPARC

▪ Plusieurs alternatives en fonction de l ’existence et de la réalisation du


schéma global
• Couplage fort
• Couplage Faible
14
• Fédéré
COUPLAGE FORT

▪ Schéma Global
 Indépendance Applications/Bases de Données
 Schéma global lourd à gérer

15
SCHÉMA GLOBAL

▪ Schéma Conceptuel Global


• Description unifiée et globale de toutes les données du SGBD-R
• Indépendance à la répartition

▪ Schéma de placement
• Régle de correspondance avec les données locales
• Indépendance à la localisation et à la décomposition

16
COUPLAGE FAIBLE

▪ N Schémas Locaux
• Pas de Schéma global
• Pas d ’Indépendance Applications/Bases de Données

17
FÉDÉRÉ
▪ Fédération de Schémas Hétérogènes
 Moyen contrôlé de migration depuis les SGBDs locaux
vers un SGBD-R

• Donner aux utilisateurs une vue unique des données présentes


sur plusieurs systèmes a priori hétérogènes.
• Problématique typique lors de la concentration ou de la fusion
d’entreprises : faire cohabiter les différents systèmes tout en18leur
permettant d’interopérer d’une manière harmonieuse.
NOTIONS COMPLÉMENTAIRES
▪ SGBD Réparti (Distributed DBMS)
• gère une BD-R et fournit les mécanismes d'accès
rendant la distribution transparente à l’utilisateur.
▪ BD Interopérable (Interoperable Database)
• BD capable d’échanger des données en comprenant
mutuellement ce qu ’elles représentent
▪ Multibase (Multibase)
• Plusieurs BDs hétérogènes capables d’interopérer avec
une application via un langage commun et sans modèle
commun
▪ BD fédérée (Federated Database)
• Plusieurs BDs hétérogènes accédées comme une seule
via une vue commune 19
▪ Décomposition de la BD-R
• Fragmentation
• Duplication
▪ Requêtes Réparties
• Optimisation et évaluation de requêtes
reparties
▪ Transactionnement Distribué
• Fiabilité, Résistance aux Pannes
• Terminaison distribuée
• Contrôle de concurrence
• Résolution des interblocages
20
OBJECTIFS DE LA DÉCOMPOSITION

Définition : La fragmentation est la décomposition de la BD logique en un sous


ensemble de BDs
▪ Techniques de Fragmentation
• Trois types : Horizontale, Verticale, Mixte
• Performance en favorisant les accès locaux
• Equilibrage de la charge entre les sites
▪ Duplication 21
• Favoriser les accès locaux
• Augmenter la disponibilité des données
RÈGLES DE FRAGMENTATION
1. Complétude (ang. completeness): pour toute donnée
d’une relation R, il existe un fragment Ri de la
relation R qui possède cette donnée.
2. Reconstruction (ang. reconstructiveness): pour toute
relation décomposée en un ensemble de fragments Ri,
il existe une opération de reconstruction.
3. Frag. Verticale> Réplication Clé Iaire (ang.
sharedprimarykey): la clé Iaire est répliquée dans
tous les fragments verticaux.
4. Frag. Horizontale> Fragments disjoints (ang.
disjointness) un tuplet i appartenant au fragment Ri
ne peut figurer dans un autre fragment autre de Ri. 22
FRAGMENTATION HORIZONTALE
▪ Les occurrences d'une même classe peuvent être réparties dans
des fragments différents.
▪ L'opérateur de partitionnement est la sélection ()
▪ L'opérateur de recomposition est l'union ()

▪ Fragments définis par sélection


• Client1 = select * from Client where ville="Paris"
• Client2 = select * from Client where ville<>"Paris"
▪ Reconstruction
• Client = Client1  Client2

23
FRAGMENTATION HORIZONTALE DÉRIVÉE

▪ Fragments définis par jointure


• Commande1 = select * from Commande where NCL in
(select NCL from Client1)
• Commande2 = select * from Commande where NCL in
(select NCL from Client2)
▪ Reconstruction
• Commande = Commande1  Commande2

24
FRAGMENTATION VERTICALE
 La FV est utile pour distribuer les parties des données
sur le site où chacune de ces parties est utilisée, ainsi
que pour diminuer le volume de données chargées du
disque en mémoire; et par conséquent le temps de
réponse d’une requête.
 L'opérateur de partitionnement est la projection ()

 L'opérateur de recomposition est la jointure

 Les fragments verticaux sont exclusifs, sauf en ce qui


concerne le (ou les) attribut(s) de jointure qui sont
communs à tous les fragments, et ce pour que la
décomposition soit sans perte d'information. 25
FRAGMENTATION VERTICALE
▪ Fragments définis par projection
• Produit1 = select NP, Désigantion, PrixUnit from Produit
• Produit2 = select NP, NF from Produit
▪ Reconstruction
• Produit = select NP, Désignation, PrixUnit, NF from
Produit1 join Produit2 using(NP)

26
ALLOCATION DES FRAGMENTS AUX SITES
▪ Non-Dupliquée
• partitionnée
• chaque fragment n ’existe que sur un seul site
▪ Dupliquée
• Chaque fragment est sur plus d’un site
• Maintien de la cohérence des copies multiples

27
ALLOCATION DES FRAGMENTS

 Astuces pour l’allocation des fragments:


 Pour réduire le temps de transfert de données, les
données sont placées sur des serveurs proches des
sites d’émission de requêtes.
 Equilibre de charge entre les serveurs
 L’allocation doit tenir compte:

 Des capacités de stockage des serveurs


 Des capacités de traitement des serveurs
 L’allocation peut se faire avec ou sans réplication

 ssi, la réplication améliore les performances


28
RÉPLICATION
 R est répliquée signifie qu’il existe une copie de R sur un
autre serveur.
 En cas de panne du serveur qui héberge R, toutes les
requêtes sont redirigées au serveur qui héberge la copie de
R
 La copie de R doit être rafraichie, pour être pertinente

 Avantages:
 Haute disponibilité
 Equilibre de charge par l’ interrogation des réplicas
 Inconvénients:
 Coût du stockage
 Coût de mise à jour des réplicas 29
..RÉPLICATION
 MAJ des réplicas:
 Protocole de MAJ synchrone: envoi immédiat des màjs
 (+) pertinence des réplicas

 (-) la màj des réplicas peut dégrader les performances

 Protocole de MAJ asynchrone : Envoi par lots des màjs


 (-) pertinence des rèplicas

 (+) meilleures performances

 Le Taux de Satisfaction d’un Réplica pr à l’original est pré-


pondéré à:
 Ancienneté du réplica
 Temps d’attente pour le rafraichissement du réplica

30
MODÈLE DE RÉPLICATION
▪ Copies
• Copie Primaire (ou Maître ou Source)
• reçoit les mises à jour
• Copie Secondaire (ou Esclave ou Cible)
• en consultation seulement
• peut être désigné Primaire
en cas d ’arrêt de la copie primaire
▪ Mode de réplication
• Asymétrique
• une copie primaire / N copies secondaires
• Symétrique 31

• N copies primaires
EVALUATION DES REQUÊTES RÉPARTIES

32
TRAITEMENT DE REQUÊTES
DISTRIBUÉES
 Coût d’une requête distribuée est la somme de:
 Coût des E/Ss
 Coût de traitement (CPU)
 Coût de transfert de données/ requêtes (communication)
 Chaque requête distribuée lui est associé un arbre distribué.
 Parallélisme
 Inter-requêtes: +sieurs requêtes sont traitées en //, par
différents noeuds.
 Intra-requête: la requête est décomposée en sous-requêtes
exécutées en //.
 Stratégie d’exécution
 Transfert de requêtes (ang. queryshipping)
 Transfert de données (ang. data shipping)

33
EXEMPLE I
2 ARBRES

34
EXEMPLE I :
FRAGMENTATION DE L ’ARBRE 1

35
EXEMPLE I :
ALLOCATION DES FRAGMENTS DE L ’ARBRE 1

36
EXEMPLE II

37
OPTIMISATION
 Mêmes stratégies qu’en centralisé:
 Réduire temps CPU
 Réduire temps E/Ss

 Appliquer les opérateurs unaires avant les


opérateurs binaires pour réduire la taille des
données à transférer.
 Opérateurs unaires: projection et restriction
 Opérateurs binaires: jointure, union, intersection,
produit cartésien…

38
GESTION DES TRANSACTIONS RÉPARTIES

▪ Contrôle de Concurrence Répartie


• Verrouillage
• Estampillage
• Certification
▪ Reprise sur panne Répartie
• Validation à 2 phases
• Validation à 3 phases
• Moniteur Transactionnel

39
NOTIONS COMPLÉMENTAIRES
▪ Disponibilité
• Disponible quand prêt à fonctionner et apte à accomplir sa fonction de
manière fiable
▪ Fiabilité
• Aptitude à accomplir sa fonction sans défaillance dans des conditions
données pour une durée déterminée
▪ Maintenabilité
• Possibilité d’être maintenu ou rétabli en un temps donnée dans un état
d’aptitude à accomplir sa fonction
▪ Maintenance
• Ensemble des opérations qui permettent de maintenir (m. préventive) ou
de rétablir (m. corrective)
▪ Sûreté de fonctionnement
• Fiabilité et sécurité vis à vis des personnes et des biens
40

Vous aimerez peut-être aussi