Définition Un système BD distribué est constitué d’un ensemble de sites, interconnectés par un réseau de communication, où : Chaque site est un système BD à part entière Tous les sites collaborent afin qu’un utilisateur puisse accéder, depuis n’importe quel site, aux données se trouvant n’importe où dans le réseau, d’une manière transparente
05/28/2009 Bases de Données Distribuées 2
Définition La BD répartie correpond à un objet virtuel dont les composants sont physiquement enregistrés dans des BD réelles sur des sites distants Une BD répartie est considérée comme l’union logique de BD réelles Ne pas confondre un système BD réparti avec un système client/serveur
05/28/2009 Bases de Données Distribuées 3
Définition Chaque site est une BD à part entière qui a sa propre : BD réelle locale Utilisateurs SGBD Un utilisateur peut réaliser des opérations sur les données de son site comme si le site ne fait pas partie du système distribué
05/28/2009 Bases de Données Distribuées 4
Définition L’ensemble du système distribué constitue un partenariat entre les SGBD locaux Un composant logiciel sur chaque site fournit les fonctions de partenariat nécessaires La combinaison de ces composants avec les SGBD locaux constitue le SGBD réparti
05/28/2009 Bases de Données Distribuées 5
Avantages des SGBD répartis Entreprises distribuées Sites d’une même entreprise distribués, et donc données ditribuées Les données locales sont conservées localement Les données éloignées peuvent être accédées en cas de besoin
05/28/2009 Bases de Données Distribuées 6
Exemples de SGBD répartis Prototypes SDD-1(Computer Corporation of America) R star (IBM) Distributed Ingres (Université de Californie) Solutions commerciales Ingres/Star Oracle DB2
05/28/2009 Bases de Données Distribuées 7
Principe fondamental : la transparence La transparence : Pour l’utilisateur, un système distribué doit avoir exactement la même apparence qu’un système non distribué Ce principe entraîne douze objectifs
05/28/2009 Bases de Données Distribuées 8
Les douze objectifs Autonomie locale Pas de contrôle centralisé Continuité de service Indépendance de l’emplacement Indépendance de la fragmentation Indépendance de la réplication
05/28/2009 Bases de Données Distribuées 9
Les douze objectifs… Évaluation des requêtes distribuées Gestion des transactions distribuées Indépendance matérielle Indépendance du sytème d’exploitation Indépendance du réseau Indépendance du SGBD
05/28/2009 Bases de Données Distribuées 10
Autonomie locale Les sites d’un SBDR doivent être autonomes Toutes les opérations d’un site sont contrôlées par ce site, avec une responsabilité locale Toutes les données d’un site appartiennent à une BD locale Les sites doivent avoir le plus d’autonomie possible
05/28/2009 Bases de Données Distribuées 11
Pas de contrôle centralisé L’autonomie locale implique que tous les sites sont considérés comme égaux Avoir un site central peut : S’avérer un goulot détranglement Rendre le système vulnérable
05/28/2009 Bases de Données Distribuées 12
Continuité de service La fiabilité La probabilité que le système fonctionne à n’importe quel moment La disponibilité La probabilité que le sysème fonctionne en continu pendant une période spécifiée Les SBDR présentent une grande fiabilité et disponibilité 05/28/2009 Bases de Données Distribuées 13 Indépendance de l’emplacement Transparence de l’emplacement Les utilisateurs doivent se comporter comme si les données étaient toutes mémorisées sur leur propre site Les données peuvent migrer d’un site à l’autre sans aucun problème
05/28/2009 Bases de Données Distribuées 14
Indépendance de la fragmentation On parle de fragmentation lorsque une table peut être divisée en morceaux ou fragments pour des besoins de mémorisation physiques, des fragments distincts peuvent être stockés sur des sites différents La fragmentation est souhaitée pour des besoins de performance
05/28/2009 Bases de Données Distribuées 15
Indépendance de la fragmentation :exemple Soit la table Employe :
Types de fragmentation Fragmentation horizontale Opération relationnelle de restriction Fragmentation verticale Opération relationnelle de projection Un fragment est toute sous-relation obtenue par l’application de la restriction ou de la projection
05/28/2009 Bases de Données Distribuées 18
Fragmentation Pour reconstituer la table initiale à partir des fragments, on utilise les opérations de jointure et d’unions adaptées : Jointures pour les fragments verticaux Unions pour les fragments horizontaux
05/28/2009 Bases de Données Distribuées 19
Fragmentation verticale La fragmentation de Employe en deux projections sur (Mate,ndep) et (Salaire) n’est pas valide On attribue un IdT aux tuples La fragmentation valide devient : (IdT,Mate, ndep) et (IdT, Salaire)
05/28/2009 Bases de Données Distribuées 20
Fragmentation Un système gérant la fragmentation des données doit aussi gérer l’indépendance de la fragmentation Les utilisateurs doivent se comporter comme si les données n’étaient pas fragmentées
05/28/2009 Bases de Données Distribuées 21
Indépendance de la fragmentation : avantages Simplifie les programmes d’applications Simplifie les activités des utilisateurs finaux Permet de fragmenter de nouveau les données à n’importe quel moment pour des questions de performance
05/28/2009 Bases de Données Distribuées 22
Programme d’optimisation Emp where salaire>6500 and ndep=ndep(‘d1’); L’optimiseur saura, d’après les définitions des fragments, que la totalité du résultat peut s’obtenir en consultant uniquement le site de Casa
05/28/2009 Bases de Données Distribuées 23
Indépendance de la réplication Un système gère la réplication des données si une table ou un fragment peut être représenté en mémoire par plusieurs copies ou duplicats mémorisés sur plusieurs sites différents
05/28/2009 Bases de Données Distribuées 24
Indépendance de la réplication Replicate n_emp ln_emp at site ‘Tunis’ ; Replicate l_emp nl_emp at site ‘Casablanca’ Nl_emp et ln_emp sont internes au sysytème N_emp est un fragment
05/28/2009 Bases de Données Distribuées 25
Réplication: avantages Conduit à de meilleures performances Conduit à une meilleure disponibilité Nb : lorsqu’un objet répliqué est mis à jour, toutes ses copies doivent être mises à jour (propagation des m-à-j)
05/28/2009 Bases de Données Distribuées 26
Évaluation des requêtes distribuées Les systèmes distribués relationnels sont plus performants en matière de performance Req : trouver les fournisseurs de pièces rouges à Tunis, tout en supposant que l’utilisateur est sur le site de Casablanca
05/28/2009 Bases de Données Distribuées 27
Gestion des transactions distribuées Reprise après panne Concurrence Agent
05/28/2009 Bases de Données Distribuées 28
Gestion des transactions distribuées Une seule transaction peut nécessiter l’exécution du code sur plusieurs sites, voire des m-à-j sur plusieurs sites Chaque transaction est constituée de plusieurs agents Un agent est le processus exécuté pour le compte d’une transaction sur un site donné Le système a besoin de savoir si deux agents font partie de la même transaction
05/28/2009 Bases de Données Distribuées 29
Reprise après panne et concurrence Pour garantir qu’une transaction soit atomique, le système doit assurer que les agents de la transaction sont tous validés à l’unisson ou tous annulés La concurrence est fondée sur le verrouillage
05/28/2009 Bases de Données Distribuées 30
Indépendance matérielle Il y a possibilté de faire intervenir plusieurs machines de types différents Il est souhaitable que les plates-formes matérielles différentes exécutent le même SGBD
05/28/2009 Bases de Données Distribuées 31
Indépendance des systèmes d’exploitation
05/28/2009 Bases de Données Distribuées 32
Indépendance du réseau
05/28/2009 Bases de Données Distribuées 33
Indépendance du SGBD
05/28/2009 Bases de Données Distribuées 34
Problèmes des systèmes distribués Problème de la charge réseau : consiste à minimiser l’utilisation du réseau (nombre et volume des messages) : Évaluation des requêtes Gastion du catalogue Propagation des m-à-j Reprise concurrence
05/28/2009 Bases de Données Distribuées 35
Évaluation des requêtes Processus d’optimisation des requêtes doit être distribué aussi bien que celui de l’exécution des requêtes
05/28/2009 Bases de Données Distribuées 36
Gestion du catalogue Le catalogue contient non seulement les données d’un catalogue classique (tables, vues, CIF,…), mais également toutes les informations de contrôle nécessaires au système pour assurer : L’indépendance de l’emplacement L’indépendance de la fragmentation L’indépendance de la réplication
05/28/2009 Bases de Données Distribuées 37
Mémorisation du catalogue Centralisé Le catalogue est sur un site central unique Réplication totale Le catalogue est mémorisé sur chaque site Partitionné Chaque site gère son propre catalogue concernant les objets de ce site Combinaison des approches 1 et 3