BD réparties

publicité
NFE113 Administration et configuration des bases de données – 2011
Base de données réparties
D’après J. Akoka - I. Wattiau
1
Eric Boniface
Contexte
Technologique
Des solutions de communication efficace entre les machines
Des SGBD assurent la transparence des données réparties
Standardisation :SGBDR, SQL, middlewares,etc.
Organisationnel
Décentralisation des activités
Subsidiarité
Financier
« downsizing » des
matériels et logiciels
2
SGBD distribué
Permet création/accès/manipulation de données inter
reliées, sur différents sites d’un réseau informatique
Chaque site a une capacité de traitement local autonome
Chaque site participe à l’exécution d’au moins une application
globale via le réseau
Améliorer accessibilité / partage / disponibilité /
performance
En préservant les avantages d’une B.D. centralisée
L’optimisation globale des traitements va dépendre
du coût de communication
du coût des traitements locaux
de la stratégie d’allocation des données
de la stratégie d’exécution des traitements
3
Typologie et architecture
Homogènes versus hétérogènes
Semi autonomes versus autonomes
Base de données
fédérées
Systèmes multibases
SGBD distribué
4
Architecture SGDB fédéré
SGBD fédéré
5
Objectifs de la conception répartie
Contrôle de la redondance des données
Indépendance des BD locales
Optimisation globale
Combinaison de la fragmentation et de l’allocation
Logique
Définition des fragments = unité de
distribution logique
Physique
Placement des fragments,
stockage, chemins d’accès
6
Fragmentation
Une table T est partitionnée en un nombre minimum
de sous tables disjointes T1,T2,..,Tn
Chaque fragment Ti doit contenir assez d ’information
pour reconstruire T
Fragmentation verticale vs horizontale
Fragmentation verticale – basée sur projections
Subdivision des attributs de T en groupes
(duplication d’une clé commune), projection sur les
groupes
Réversible par jointure
7
Fragmentation
Fragmentation horizontale – basée sur sélection
Sélection selon un prédicat de qualification
Réversible par union
Salariés ayant peu
d’ancienneté
et un gros salaire
Salariés ayant
beaucoup
d’ancienneté
et un gros salaire
Salariés n’ayant
pas un gros salaire
Ex : Clients( NClient, Nom, Ville)
Client1 =
Client2 =
(Client)
Ville != Paris (Client)
Ville = Paris
8
Fragmentation
Fragmentation mixte : verticale + horizontale
Fragment le plus grand = une table
Fragment le plus petit = un tuple
Chaque fragment sur un seul site : copie unique, BD
partitionnée
Duplication de fragments
trop sensible aux mises à jour et trop de jointures
(+) performances des requêtes et disponibilité
(-) coût des màj et contrôle de concurrence plus complexe
Fréquemment : duplication partielle
9
Allocation
Centralisée
Taille base limitée par les capacités du site central
Disponibilité faible
Partitionnée
Limite l’espace disque local
Meilleur si fiabilité solution centralisée pas suffisante
Intéressant si partie importante de traitement local
10
Allocation
Répliquée
Copie de la base sur chaque site
Maximise la fiabilité
Possible si base petite et si l’inefficacité des màj tolérable
Réplication sélective
Fragments critiques sont répliqués
Fragments non critiques localisés sur un seul site
Grande flexibilité
11
Réplication
Synchrone : mise à jour immédiate, protocole de
validation à deux phases
Asynchrone : mise à jour différée
Mécanismes de réplication
Maître – esclave
« workflow »
Le site maître répercute les màj sur les sites esclaves
Création de « chemins » métiers
Symétrique
Tous les sites peuvent mettre à jour
12
Méthode « best fit »
Permet de déterminer le site sur lequel stocker le
fragment, là où l’on maximise les traitements locaux
N’intègre pas le problème de la réplication
Calculs simples
Nb de références < > temps d’accès
13
Méthode « best fit »
14
Méthode ABS
« All Beneficial Sites »
Principe : stocker un fragment sur tous les sites où le
bénéfice du stockage est supérieur à son coût
bénéfice = (tps trait distant - tps trait local) * fréquence
coût stockage copie = coût de la mise à jour locale +
coût des mises à jour distantes
15
Méthode ABS
R1 sur S4, R2 sur S3 et S5, R3 sur S2, S3, S4 et S5
Si coût = bénéfice étudier l’évolution dans le temps
Si coût > bénéfice sur tous les sites, choisir le site qui
minimise la différence
16
Méthode d’allocation progressive
Alloue la première copie d’un fragment au site qui
maximise B - C
Puis, calcule B - C connaissant cette première copie
C ne change pas
B peut changer temps d’accès distant peut diminuer
Exemple
2 fragments F1 / F2 - 2 sites S1 / S2
ABS : F1 a deux copies sur S1 / S2, F2 est sur S2
Allocation progressive : F1 sur S2 et F2 sur S2
Si, après cette première allocation on a
pas de copie de F1 sur S2
17
Remarques sur ces méthodes
Ne tiennent pas compte de la topologie du réseau
Difficulté à estimer les temps moyens
Parfois on se concentre sur les transactions critiques
et non sur l’ensemble des transactions
18
Niveaux de transparence
Transparence de fragmentation
Transparence d’allocation
Transparence de langage
Pas de transparence
Exemple
Fournisseur(num, nom, ville)
Fragmentation horizontale selon la ville (Paris ou
Marseille) fparis et fmarseille
Le fragment de Marseille est dupliqué (Marseille1 ou
Marseille2) fmarseille1 et fmarseille2
Recherche d’un fournisseur à partir de son numéro
19
Niveaux de transparence
20
Distribution dans Oracle
Ne gère pas la fragmentation
Assure la connectivité avec des bases Oracle et non
Oracle
Permet la définition d’une B.D. globale (un nom)
Permet les transactions à distance, les transactions
distribuées (PL/SQL)
Pas d’intégrité référentielle distribuée
21
Réplication dans Oracle
« Snapshots » en lecture : une table maître recopiée
et mise à jour à la demande de l’esclave
« Snapshots » modifiables : sont modifiables en direct
aussi
Réplication multi-maître « poussée » par le maître
Réplication procédurale : par package
22
SGBD distribué
Les douze objectifs pour une bonne B.D. réparties
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
L'autonomie locale
Ne pas se reposer sur un site unique
Une opération en continu
Une transparence vis à vis de la localisation
Une indépendance vis à vis de la fragmentation
Une indépendance vis à vis de la réplication
Un traitement des requêtes distribuées
Une gestion répartie des transactions
Une indépendance vis à vis du matériel
Une indépendance vis à vis du système d'exploitation
Une indépendance vis à vis du réseau
Une indépendance vis à vis du type de la B.D. relationnelle
23
Autonomie locale
Base individuelle locale totalement fonctionnelle
même si elle ne peut pas communiquer avec les
autres sites de la B.D. réparties
Aussi chaque site est responsable de l'intégrité de
ses propres données / sécurité / gestion
Mais atteindre les deux objectifs : l'autonomie locale et
l'indépendance / transparence de la localisation des
données, en même temps est impossible
Cependant, la mise à disposition des snapshots
permet tout de même d'avoir l'ensemble des données
du dictionnaire disponibles à tout moment
24
Ne pas se reposer sur un site unique
L'objectif de ne pas se reposer sur un site unique
suppose qu'il n'y a pas de centralisation dans une
B.D.
Oracle fournit deux outils différents
ORACLE Parallel Server
Advanced Replication
Mécanismes de réplication avancée
Maintenir des B.D. avec les mêmes données sur
différents sites distants
Deux options disponibles
réplication synchrone
réplication asynchrone
25
Ne pas se reposer sur un site unique
26
Une opération continue
Ne pas rendre indisponible le système réparti
Par ex. pendant tâches de maintenance : « mises à
niveau » (upgrades) de l’OS ou du SGBD ou ajout /
suppression de sites participants au système réparti
Si la répartition de la base Oracle est construite sur
des instantanés (snapshots) en lecture seule pas
de mise hors-service
Si le système de réplication avancée est utilisé,
Oracle impose certaines limites : l'utilisateur doit faire
attention aux changements qui pourraient avoir lieu
pendant l'ajout d'un nouveau site
27
Transparence de la localisation
ni les applications / utilisateurs ont besoin de
connaître la position des tables accédées
Oracle : via le lien de B.D. et les synonymes
Lien de B.D. = connexion d'une B.D. à une autre
S'affranchir pour l’utilisateur de l'obligation de se
connecter explicitement à une B.D.. Connexion assurée
par un compte normal droits facilement maintenables
Synonymes = noms simples pour identifier de façon
unique dans un système distribué les objets nommés
Eviter d'appeler une table par l'ensemble des noms de
base sur laquelle la table est stockée, le nom du serveur,
le nom du port utilisé, etc.
28
Indépendance vis à vis de la fragmentation
Avec Oracle : pas de réelle fragmentation
Via des snapshots / des vues : mettre à disposition des
données fragmentées
= des copies des données maîtres centralisées
Cette méthode n'apporte pas une réelle fragmentation
comme définie dans la partie théorique
Réplication avancée réplication que de l'ensemble des
enreg. d'une table
Mais gestion des droits sur les enreg. rendre un site
maître d'une partie des enregistrements
Un autre site peut être maître d'une autre partie
Moyen détourné de mettre en place fragmentation
horizontale
29
Suite des règles
Cf. http://www.hds.utc.fr/~ducourth/TX/BDD/BDD-
Ora-12objectifs.html
30
Téléchargement