Bases de données reparties Raoudha.khcherif@ensi-uma.tn AU: 2016-2017 Plan I. I

Bases de données reparties Raoudha.khcherif@ensi-uma.tn AU: 2016-2017 Plan I. INTRODUCTION II. CONCEPTION DE BDR I. BDR Par la Pratique III. TRANSACTION ET ACCES CONCURRENT IV. OPTIMISATION DES REQUETES REPARTIES V. SECURITE DE FONCTIONNEMENT VI. ARCHITECTURE DES SGBDR Pourquoi une Base de Données Distribuée? • Limiter le transfert d’information (nombre et volume) • Répartition de charge • Augmenter la fiabilité (duplication) • Fusionner des systèmes d’informations Bases de données reparties : définition • Intégration des technologies bases de données et réseau • Intégration des données d’une entreprise sans centralisation • Distribution naturelle.: Agence mère et ses filiales • Unité centrale et sous-système d’entrées/sorties, etc. • Définition orientée bases de données: Système de traitement distribué = (1)Unités d’exécution de programmes, (2)autonomes, éventuellement (3)hétérogènes, (4)reliés par un réseau de communication et (4)coopérant à la réalisation de tâches. Définition • Base de données distribuée? – Une base de données 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 distribuée. Logiquement reliées • Les applications voient les données comme une seule BD indépendamment de son emplacement physique Emplacement physique Computer 1 Computer 2 Computer 3 R1,R2 R4,R5 R3 Apps. BD logique Vue logique Requêtes Physiquement distribuées • La BD est placée sur différentes machines d’un réseau. Emplacement physique Computer 1 Computer 2 Computer 3 R1,R2 R4,R5 R3 8 18/10/2018 • Autonomie locale – La BD locale est complète et autonome (intégrité, sécurité), elle peut évoluer indépendamment des autres • Égalité entre sites – Un site en panne ne doit pas empêcher le fonctionnement des autres sites (même si certaines perturbations sont possibles) • Fonctionnement continu – La distribution permet une résistance aux fautes et aux pannes • Localisation transparente – Accès uniforme aux données quel que soit leur site de stockage • Fragmentation transparente – Des données (d’une même table) éparpillées doivent être vues comme un tout • Indépendance à la réplication – Les données répliquées doivent être maintenues en cohérence Objectifs 9 18/10/2018 • Requêtes distribuées – L’exécution d’une requête peut être répartie (automatiquement) entre plusieurs sites • Transactions réparties – Le mécanisme de transactions peut être réparti entre plusieurs sites • Indépendance vis-à-vis du matériel – Le SGBD fonctionne sur les différentes plateformes utilisées • Indépendance vis-à-vis du SE – Le SGBD fonctionne sur les différents SE • Indépendance vis-à-vis du réseau – Le SGBD est accessible à travers les différents types de réseau utilisés • Indépendance vis-à-vis du SGBD – La base peut être distribuée sur des SGBD hétérogènes Objectifs Définition • SGBD Distribué : Système logiciel de gestion rendant les applications insensibles à la distribution des données (TRANSPARENCE) Ses objectifs – Exécution des transactions - locales : accès aux données sur site - globales : accès sur plusieurs sites – Définition : données globales/réparties – Cohérence des données – Contrôle de concurrence – Reprise après panne – Optimisation de question – Indépendance des applications - machine - système d'exploitation - protocole réseau - système de gestion de bases de données - localisation des données • Base de données distribuée N’EST PAS : – {Fichiers indépendants} sur des sites différents, – Base centralisée accessible via le réseau Problématique • Les pressions pour la distribution : – Il devient impératif de décentraliser l’information (cas des multinationales), – Augmentation du volume de l’information (14 fois de 1990 à 2000), – Augmentation du volume des transactions (10 fois dans les 5 prochaines années). Quoi distribuer? • Données • Traitements • Fonctions du système • Contrôle et coordination des tâches Problèmes liés à la distribution • Conception des bases de données distribuées – Partitionnement des données ( fragmentations, localisation) – Duplication totale/partielle – Administrateur global, local • Dictionnaire(s) – Extension avec des informations sur les sites, la fragmentation, la duplication et la localisation des données – Centralisé ou distribué ? – Copie simple ou multiple ? Problèmes liés à la distribution • Coût : – la distribution entraîne des coûts supplémentaires en terme de communication, et en gestion des communications (–hardware et software à installer pour gérer les communications et la distribution). • Problème de concurrence • Sécurité et reprise en cas d’incident – Nouveaux types d’incidents : perte de messages, panne d’une liaison, etc. – Préservation des bases des sites opérationnels en cas de panne d’un site Problèmes liés à la distribution • Confidentialité sur un réseau • Hétérogénéité – Matériels/Logiciels – Modèles de données et Langages de manipulation – Introduite aussi dans les systèmes MULTI-BASEs : regroupement de BDD centralisées autonomes – Mécanismes de traduction (données, programmes) Caractéristiques d’un SGBD distribué 1. Transparence du réseau – Nommage des objets – Localisation des objets 2. Transparence de la duplication : Points de vue – Utilisateur : Duplication? Connais pas!. – Système : implications en recherche, en mise à jour, en gestion des accès concurrents Caractéristiques d’un SGBD distribué 3. Transparence de la fragmentation dans le traitement des requêtes – Requête sur UNE relation (utilisateur) – Décomposée en sous-requêtes (système) – Sous-requêtes évaluées sur les fragments (système) – Union des réponses (système) 4. Transparence des langages dans le cas de DDB hétérogènes Conception des BDs distribuées Deux approches • Descendante : Top-down (du centralisée au distribuée) – Conception du schéma conceptuel global – Distribution pour obtenir des schémas conceptuels locaux – Fragmentation – Affectation aux sites - Allocation • Ascendante Bottom-up ( a partir de BDs existantes vers des vues intégrées) – Intégration de bases de données existantes – Hétérogénéité Architecture d’une BDD • La répartition d'une base de donnée intervient dans les trois niveaux de son architecture en plus de la répartition physique des données : • Niveau externe: les vues sont distribuées sur les sites utilisateurs. • Niveau conceptuel: le schéma conceptuel des données est associé, par l'intermédiaire du schéma de répartition (lui même décomposé en un schéma de fragmentation et un schéma d'allocation), aux schémas locaux qui sont réparties sur plusieurs sites, les sites physiques. • Niveau interne: le schéma interne global n'a pas d'existence réelle mais fait place à des schémas internes locaux répartis sur différents sites. Approche descendante • On commence par définir un schéma global de la base de données distribuée (description globale et unifiée de toutes les données de la BDD). Puis, on le distribue sur les différents sites en des schémas locaux. • Pour déterminer les schémas locaux, on peut utiliser plusieurs méthodes: - Stocker une relation sur un seul site - La réplication - La fragmentation - Réplication + fragmentation Fragmentation • Elle consiste à découper les relations en sous-relations appelées fragments. • La répartition se fait donc en deux étapes: la fragmentation et l’allocation de ces fragments aux sites intéressés. Pourquoi fragmenter? • Généralement les applications utilisent des sous-ensembles de relations. • Une relation entière peut représenter une unité de distribution très grande • Utilisation de petits fragments permet de faire tourner plus d’un processus simultanément. Comment fragmenter? • On distingue trois possibilité de fragmentation: • Fragmentation Horizontale • Fragmentation Verticale • Fragmentation Hybride Et le placement des fragments • Chaque fragment sur un seul site – copie unique, BD partitionnée • Duplication de fragments – (+) performances des requêtes et disponibilité – (-) coût des mises à jour et contrôle de concurrence plus complexe • Fréquemment : duplication partielle • Applications pour la duplication totale Objectives généraux • Fragmentation – Favoriser les accès locaux – Équilibrer la charge de travail entre les sites • Duplication – Favoriser les accès locaux – Augmenter la disponibilité des données Fragmentations correctes? • Complétude: R fragmentée en R1 R2 ,…,Rn chaque élément se trouvant dans R doit figurer dans au moins un fragment Ri – Évite les pertes de données pendant la fragmentation • Reconstruction: soit la relation R , F= {R1, R2,., Rn} – il est toujours possible de reconstruire R en appliquant des opérations sur F • Disjonction – fragments de R contient des sous ensembles de R. RiRj=. – Garantit l’absence de redondance Fragmentation horizontale • Les fragmentations horizontales concerne les données. • Chaque fragment représente un ensemble de tuples. • Pour fragmenter, on a besoin d’information sur la BD (schéma global,…) et les applications (requêtes utilisées,…). • Les fragments sont définis par des opérations de sélection sur les relations. Exemple E1 J.Doe Elec. Eng. E2 M. Smith Syst. Anal. E3 A. Lee Mech. Eng. E4 J. Miller Programmer E5 B. Casey Syst. Anal. E6 L. Chu Elect. Eng. E7 R. Davis Mech. Eng. E8 J. Jones Syst. Anal. EMP ENO ENOM GRADE E1 P1 Mngr 12 E2 P1 Anal. 24 E2 P2 Anal. 6 E3 P3 Cons. 10 E3 P4 Eng. 48 E4 P2 Prog. 18 E5 P2 Mngr 24 E6 P4 Mngr 48 AFFECT ENO PNO RESP DUR Exemple P1 Bioinfo 500000 Lausanne P2 ELearn. 300000 Rio P3 Plasma 100000 Geneva P4 Aircraft 150000 Lausanne Proj PNO PNom Budget Location Elec. Eng. 40000 Syst. Anal. 34000 Mech. Eng. 27000 Programmer 24000 Sal Grade Salaire Exemple de fragmentation horizontale P1 Bioinfo 500000 Lausanne uploads/Ingenierie_Lourd/ cours-bdrensi 1 .pdf

  • 15
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager