Chapitre 4-BDDistribuéesGénéralites 2015
Chapitre 4-BDDistribuéesGénéralites 2015
Chapitre 4-BDDistribuéesGénéralites 2015
1. Gestion de transactions
A. Gestion de transactions : Définitions
A. Optimisation de requêtes
1
14/05/2014
INTRODUCTION INTRODUCTION
INTRODUCTION INTRODUCTION
Notion de distribution
Première Génération de SGBD (1962)
Un système de traitement distribué : est une unité d’exécution de
programmes autonomes, éventuellement hétérogènes, reliés par un Modèles de données hiérarchiques et réseaux :
réseau de communication et coopérants à la réalisation de taches. représentation des liens 1 –1, 1-N, M-N par pointeurs (réseaux)
Une base de données distribuée : est une collection de bases de ou par 1-1, 1-N par duplication de données (hiérarchique)
données logiquement reliées et physiquement distribuées sur un
Langage de Manipula tion de données navigationnel :
réseau.
parcours de la hiérarchie (Get next)
Un système de gestion de bases de données distribuées : est un
système logiciel qui fournit une interface logique unique aux différentes Le programme doit spécifier les chemins d’accès aux
bases de données distribuées. données
2
14/05/2014
INTRODUCTION INTRODUCTION
Une application distribuée (ou répartie) nécessite l’accès aux multiples applications géographiquement réparties) ayant un large degré d’autonomie et
locales interprétée dans un contexte sémantique commun.
interconnectées via un système de communication.
Exemple :
coopération des divers départements à l’aide de réseau informatique grâce au système de gestion de BD réparti SGBDR
3
14/05/2014
Flexibilité : en ajoutant des sites au réseau le système réparti peut Le manque d’expérience des équipes de développement et des
applications
Coûts de déploiement (de communication, d’adaptation des
• Autonomie : la répartition permet aux différentes structures d’une applications et des hommes).
même entreprise de conserver leurs spécificités (méthodes de
travail, perceptions …) Conception et développement complexe : fragmentation, allocation des
fragments, réplication etc.
• Economies: La distribution est synonyme de petits équipements,
donc la création de système informatique distribué est à coût
Contrôle d’intégrité plus difficile
inférieur si le même système était déployé sur un gros équipement. Sécurité: données dupliquées, réseaux
Alimazighi & Boukhalfa 15 Alimazighi & Boukhalfa 16
4
14/05/2014
Utilisateurs finaux
Le SGBDR
Un SGBDR est un SGBD assurant l’accès coordonné à des données hétérogènes SGBD Local 1
G. Transaction SITE 1
stockées sur des sites différents via des requêtes.
G. Communication
Une requête interrogeant une BD répartie est dite requête répartie. Elle se
SITE 2
décompose en un ensemble de sous-requêtes sur les BD locales.
SGBD Local 2 RESEAU
G. Transaction
Architecture fonctionnelle
G. Communication
3 composants majeurs :
- SGBD local
SGBD Local 3
- Gestionnaire de transactions SITE 3
G. Transaction
- Une composante de communication G. Communication
SGBD Local : exécution d’une sous-transaction : 1. Définition et manipulation des ensembles de données réparties sur
1. Lecture des données de la BD sur un espace de travail
différents sites comme un seul ensemble logique.
2. Transfert de données entre l’espace de travail et les différents sites
2. Indépendance à la localisation.
3. Manipulation des données sur les espaces de travail
4. Mise-à-jour de la BD locale • Les données ne résident pas nécessairement sur le site utilisateur. Celui
Gestionnaire de transaction : coordination et exécution des transactions : ci peut ignorer la localisation des données.
1. Translation des requêtes (en fonction des modèles)
• L’information concernant la localisation des données, est maintenue
2. Contrôle de concurrence
dans le dictionnaire de données, et consultée par le SGBD distribué pour
3. Contrôle de l’exécution de la requête répartie
Composante de communication : responsable de l’interconnexion de machines déterminer la localisation des relations impliquées dans la requête des
coopérantes. utilisateurs.
Elle garantie la délivrance des messages entre les différentes machines sans perte d’information,
surveille l’atomicité des transactions et permet certains mécanismes de synchronisation.
5
14/05/2014
• L’interface de l’utilisateur global doit être assez évolutive, pour permettre d’intégrer de La cohérence est assurée grâce au concept de transaction: dans les BDD distingue
nouvelles fonctionnalités sans détruire la gestion de l’interface existante. transaction globale, sous-transaction et transaction locale
4. Fiabilité et performance
1. Transparence de consultation : une opération de consultation doit donner le même résultat Trois critères essentiels :
quelque soit le site
2. Transparence de mise-à-jour : émise sur n’importe quel site, une mise-à-jour impliquant
la cohérence de la BD répartie.
peuvent être effectuées sur des sites sans que cela ne soit visible à l’utilisateur.
6
14/05/2014
AUTONOMIE: L’autonomie est la capacité des SGBDs locaux à traiter les DISTRIBUTION des données:
requêtes locales de manière totalement indépendante du système global. Elle mesure le degré de distribution des données. (distribué ou pas)
Chaque site doit disposer localement de toutes les informations qui se
trouvent dans le dictionnaire de données afin d’être autonome, sans avoir à
HETEROGENEITE: on distingue plusieurs type d’hétérogénéité
compter sur un dictionnaire de données global centralisé.
Hardware, protocoles réseaux
Modèles de données
La classification devra se baser sur :
Langages
La mesure du degré d’indépendance
Homogènes fédéré
distribué
Distribution SGBD homogènes Distribution
distribués multi-bases
homogènes
Distribué distribués
SGBD fédérés
Systèmes hétérogène
homogènes
multi-bases
mono-sites
Autonomie
Autonomie
Fédéré hétérogène Multi-bases
SGBD hétérogènes mono-site hétérogènes
Intégrés
Hétérogénéité Hétérogénéité
7
14/05/2014
• Cas le plus général: Les systèmes les plus utilisés Quatre stratégies
• Systèmes fédérés distribués hétérogènes 1. Allocation centralisée
• Multi-bases de données hétérogènes distribués Une seule base de données, un seul SGBD, sur un site et des utilisateurs
répartis sur le réseau. Tous les sites sauf le site central doivent passer
• Certains auteurs ne font pas le distinction entre multi-base et système fédéré.
par le réseau pour tous les accès aux données.
• Une MultiBase de données intègre les systèmes de gestions de bases de Coûts de communication très élevés, fiabilité et disponibilité de
données (SGBD) locaux, pré existants. données réduites
• C’est un ensemble de bases de données faiblement couplées et autonomes 2. Allocation fragmentée ou partitionnée: partitionnement de la BD
qu’un utilisateur peut manipuler à l’aide d’un langage spécifique. en fragments disjoints distribués chacun sur un site.
Coûts de stockage et de communication réduits, mais fiabilité et
• On peut dire que c’est le degré d’autonomie qui distingue les deux.
disponibilité de données réduites
8
14/05/2014
• Performances réduites du fait de la répartition des fragments sur les différents Non duplication : impose que les fragments sont disjoints dans le cas de la fragmentation horizontale.
A1 A2 A3 A4 A5
La relation R est décomposée en plusieurs Relation R
R.F1
I1
I4 R.F2
I5
I6
chaque fragment ri = Project (R / ri)
I7
I8
R.F3
I10
I1
A1 A4
A1 A2 A1 A3 A5
Remarque : il est nécessaire de rajouter un attribut spécial appelé tuple-
I2 I1 I1
I3
I4
I2
I3
I2
I3
identification à la relation R. Il correspond à l’adresse logique ou physique
I5 I4 I4
I6
I7
I5
I6
I5
I6 d’un tuple qui sera une clé primaire pour la relation augmentée. De manière
I8 I7
I7
9
14/05/2014
I1 I8
I2
A1 A2 A3 A4 A5
- La relation R est subdivisée en un ensemble de sous relations r1, r2,…, rn de même
I3
I4 I1
schéma que R.
Instances
I5
I5
- Chaque sous-relation se compose d’un certain nombre de tuples de R.
I6 I6
I7
- Chaque tuple de R doit appartenir à l’un des fragments
A1 A2 A3 A4 A5
I8
I9 I3
I10 I9
A1 A2 A3 A4 A5
I5 I2
I2
I6
I3
I3 A1 A2 A3 A4 A5 I4
I2
I4 I5
I4
I5 I8 I6
I6 I7 A1 A4 A1 A2 A1 A3 A5
A1 A2 A3 A4 A5
I3 I8 I2 I2 I2
I7
I9
I9 I4 I4 I4
I8
I10
A1 A2 A3 A4 A5 I8 I8 I8
I9
I7
I10
I10
A1 A4 A1 A2 A1 A3 A5
I3 I3 I3
A1 A4 A1 A2 A1 A3 A5
I9 I9 I9
I1 I1 I1
I5 I5 I5
A1 A4 A1 A2 A1 A3 A5
I6 I6 I6
A1 A4 A1 A2 A1 A3 A5
I1 I1 I1
A1 A4 A1 A2 A1 A3 A5 I7 I7 I7
I2 I2 I2 I2 I2
I2
I4 I4 I10 I10 I10
I4 I3 I3 I3
I8 I8
I8
I4 I4 I4
A1 A2
A1 A4
A1 A3 A5
I3
I5 I5 I5 A1 A4 A1 A2 A1 A3 A5
I3
I3
I9
I9 I6 I6 I6
I9 I1 I1 I1
A1 A4
A1 A2 I7 I7 I7
I7 A1 A3 A5
I5 I5 I5
I7
I10 I7 I8 I8 I8
I10 I6 I6 I6
I10
I9 I9 I9
10
14/05/2014
Fragmentation Horizontale Primaire et dérivée (I) Fragmentation Horizontale Primaire et dérivée (II)
11
14/05/2014
• Un dictionnaire est dit global lorsqu’il contient des informations sur tous les sites.
Schéma Conceptuel Local 1 Schéma Conceptuel Local 2
• Un dictionnaire est dit local lorsqu’il contient uniquement des informations d’un site.
Schéma Interne Local 1 Schéma Interne Local 2 Dans ce cas, le SGBD devra s’appuyer sur les dictionnaires des autres sites pour localiser
une information.
Alimazighi & Boukhalfa 45 Alimazighi & Boukhalfa 46
Architecture de référence
Architecture de référence
L’existence de schéma conceptuel global permet de regrouper toutes les
Schéma externe global : vue d’un groupe d’utilisateurs sur structures de données afin de les maintenir de façon centralisée. Lorsque des
BD existent déjà et qu’il va falloir mettre en relation, il n’est pas nécessaire de
la BD répartie. regrouper toutes les structures de données.
Schéma local externe : vue de la base de données locales. SCHEMA CONCEPTUEL SCHEMA CONCEPTUEL SCHEMA CONCEPTUEL
LOCAL 1 LOCAL 2 LOCAL n
12
14/05/2014
Schéma externe
vérification de la conformité de la requête répartie avec le schéma
Schéma externe
Interface Utilisateur Évaluation des
global Local
requêtes locales
externe.
Contrôle sémantique Schéma Gestion des sous Schéma
des données Conceptuel transactions Conceptuel
Local
Restitution des résultats après exécution de la requête
global
Évaluation des
requêtes réparties
Schéma de
Placement
Accès aux
données
Schéma Interne
Contrôle sémantique des données
Gestion des
transactions
vérification des contraintes d’intégrité sémantique
Base Locale
contrôle d’autorisation
ARCHITECTURE FONCTIONNELLE BASEE SUR UNE APPROCHE CLIENT SERVEUR ARCHITECTURE FONCTIONNELLE BASEE SUR UNE APPROCHE CLIENT SERVEUR
A chaque requête répartie est construit un plan d’exécution réparti. Évaluation de requêtes locales
Un plan d’exécution réparti est un programme découvrant la stratégie d’exécution Vérification que les requêtes locales sont conformes au schéma externe local.
optimisée d’une requête répartie. Une requête globale est décomposée en un Génération du plan d’exécution de la requête locale
Gestion de transactions
Accès aux données
assure le contrôle de concurrence réparti
fonctions normales de gestion de données : gestion de la mémoire et des méthodes d’accès aux
validation des transactions données du site.
reprise de transactions
13
14/05/2014
• la fragmentation
Répartition d’une BD centralisée.
• l’allocation
Approche de décomposition descendante d’une BD centralisée en une collection de
données appartenant logiquement au même système mais physiquement étalée sur Avantages
plusieurs sites. La BDR est dite homogène. favorise la croissance incrémentale en facilitant l’ajout d’un nouveau site dans
CLASSIFICATION DES APPROCHES DE CONCEPTION D’UNE BDR CLASSIFICATION DES APPROCHES DE CONCEPTION D’UNE BDR
La multibase est dite homogène si les SGBD gérant les BD locales sont les
MODELE PIVOT
mêmes. TRADUCTEURS
14
14/05/2014
ETAPE 1 : Translation
Un système fédéré ne saurait s’envisagé sans résoudre les problèmes de
Construction du schéma composant à partir du schéma local en utilisant le modèle pivot.
ETAPE 2 : Définition translation qui se posent lors du transfert de données d’un contexte local à un
Définition des schémas d’exportation à partir du schéma composant. C’est l’étape qui permet la
contexte global.
construction des schémas d’exportation à partir des données que le gestionnaire de la fédération
souhaite faire partager. Le principe général d’une telle translation repose sur la définition des
ETAPE 3 : Intégration
caractéristiques intrinsèques des modèles et de développer ensuite des règles
Intégration des schémas d’exportation en un ou plusieurs schémas fédérés. C’est cette étape
de correspondance permettant de générer un schéma composant dans le
qui réalise la coopération entre les SGBD locaux.
ETAPE 4 : Attribution modèle pivot à partir d’un schéma source exprimé dans le modèle local.
Définition des schémas externes pour chaque utilisateur ou chaque classe d’utilisateurs.
données d’un autre modèle appelé modèle commun. Évolution du schéma : Le modèle de données commun doit pouvoir assurer l’évolution d’un
15
14/05/2014
IMPACT DE L’INTRODUCTION DES CONCEPTS OBJET IMPACT DE L’INTRODUCTION DES CONCEPTS OBJET DANS LE
DANS LE DEVELOPPEMENT DES BDR HETEROGENES DEVELOPPEMENT DES BDR HETEROGENES
Le modèle relationnel
Pourquoi un modèle objet comme modèle commun ? • Le modèle relationnel ne prévoit aucune extension pour représenter les hiérarchies de types (données
simples).
Un modèle de données commun doit :
• Dans les systèmes relationnels, les tuples ne peuvent être distingués que sur la base des valeurs de leurs
• avoir une puissance de représentation au moins égale à celle des modèles natifs des
attributs (états).
schémas locaux,
• Manque de perception globale : définition de beaucoup de relations pour représenter les entités et leurs
• offrir une formalisation puissante qui doit permettre d’enrichir les schémas locaux. liens
Comme les sources d’information sont dispersées dans un système fédéré, et • La manipulation des entités nécessitent beaucoup de jointures
Les modèles sémantiques ont été utilisés avec succès (modèle fonctionnel ou modèle E/A et E/A
dans l'optique actuelle, les informations sont complexes (multimédias), il
étendu). Étant des modèles statiques, leur insuffisance a été leur limite dans l’expression du
devient intéressant d’augmenter les possibilités d’expression et de capturer la
comportement.
dynamique des applications distribuées. Le modèle OBJET : encapsulation
du comportement dans des
méthodes accompagnant les
données
Alimazighi & Boukhalfa 63 Alimazighi & Boukhalfa 64
16
14/05/2014
IMPACT DE L’INTRODUCTION DES CONCEPTS OBJET DANS LE IMPACT DE L’INTRODUCTION DES CONCEPTS OBJET DANS LE DEVELOPPEMENT
DEVELOPPEMENT DES BDR HETEROGENES DES BDR HETEROGENES
un record en une classe d’objets portant le même nom. dans la règle précédente, créer une nouvelle classe d’objet
Règle 2 : A chaque constituant simple d’une entité de base correspond une propriété de ayant comme propriétés les propriétés du lien et des liens
composition simple du modèle objet.
de référence référençant toutes les classes d’objets
Règle 3 : A chaque propriété de composition multiple, définir une classe objet séparée reliée à la
participante référençante.
généralisation au niveau de la classe spécialisée.
• - pour une cardinalité M :N créer un lien de référence multiple au niveau de chaque classe
d’objets participante.
17