1. Introduction. Bases de données Réparties, Fédérées et Réplication. Plan. Bibliographie du cours



Documents pareils
Bases de données réparties et fédérées

Bases de données distribuées et fédérées

Module BDR Master d Informatique (SAR)

Chapitre Introduction : Notion de Bases de données. 2. Définition : BD Répartie. 3. Architecture des SGBD. 4. Conception des bases réparties

BD réparties. Bases de Données Réparties. SGBD réparti. Paramètres à considérer

Systèmes d informations nouvelles générations. Répartition, Parallèlisation, hétérogénéité dans les SGBD. Exemple d application d un futur proche

Cours Bases de données

Répartition, Réplication, Nomadisme, Hétérogénéité dans les SGBDs

Répartition, Réplication, Nomadisme, Hétérogénéité dans les SGBDs

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

INTRODUCTION AUX BASES de DONNEES

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles)

Gestion de données réparties. Cours 1

Initiation aux bases de données (SGBD) Walter RUDAMETKIN

Présentation du module Base de données spatio-temporelles

Architectures d'intégration de données

TP Bases de données réparties

Langage SQL (1) 4 septembre IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes

Cours Base de données relationnelles. M. Boughanem, IUP STRI

ISC Système d Information Architecture et Administration d un SGBD Compléments SQL

Magasins et entrepôts de données (Datamart, data warehouse) Approche relationnelle pour l'analyse des données en ligne (ROLAP)

Bases de Données Réparties Concepts et Techniques. Matthieu Exbrayat ULP Strasbourg - Décembre 2007

Entrepôts de données : Systèmes OLAP : ROLAP, MOLAP et OLAP (5) 1 Introduction aux systèmes

Bases de données relationnelles : Introduction

Bases de données avancées Introduction

Bases de Données. Stella MARC-ZWECKER. Maître de conférences Dpt. Informatique - UdS

et les Systèmes Multidimensionnels

Intégration de données hétérogènes et réparties. Anne Doucet

Le modèle client-serveur

Les bases de données

1 Introduction et installation

BASES DE DONNÉES. CNAM Centre associé de Clermont-Ferrand Cycle A Année J. Darmont I. INTRODUCTION II. LES SYSTÈMES HIÉRARCHIQUES

ORACLE 10G DISTRIBUTION ET REPLICATION. Distribution de données avec Oracle. G. Mopolo-Moké prof. Associé UNSA 2009/ 2010

Implémentation des SGBD

Notes de cours : bases de données distribuées et repliquées

C-JDBC. Emmanuel Cecchet INRIA, Projet Sardes.

L objet de cet article est de présenter succinctement ces possibilités.

Introduction aux Bases de Données Relationnelles Conclusion - 1

Bases de données Cours 1 : Généralités sur les bases de données

Groupe Eyrolles, 2004 ISBN :

NFA 008. Introduction à NoSQL et MongoDB 25/05/2013

Les bases de données Page 1 / 8

Information utiles. webpage : Google+ : digiusto/

PROJET 1 : BASE DE DONNÉES REPARTIES

Java et les bases de données

Bases de données réparties: Fragmentation et allocation

Les Triggers SQL. Didier DONSEZ. Université de Valenciennes Institut des Sciences et Techniques de Valenciennes

Données Réparties. Thibault BERNARD.

Introduction aux bases de données Cours 1 : Généralités sur les bases de données

Bases de données et sites WEB Licence d informatique LI345

Exemple accessible via une interface Web. Bases de données et systèmes de gestion de bases de données. Généralités. Définitions

Module BDR Master d Informatique (SAR)

Réplication des données

Intégration de systèmes client - serveur Des approches client-serveur à l urbanisation Quelques transparents introductifs

Enterprise Intégration

CHAPITRE 1 ARCHITECTURE

Gestion des transactions et accès concurrents dans les bases de données relationnelles

ORACLE DATA INTEGRATOR ENTERPRISE EDITION - ODI EE

SQL. Oracle. pour. 4 e édition. Christian Soutou Avec la participation d Olivier Teste

Chapitre 10. Architectures des systèmes de gestion de bases de données

Les Entrepôts de Données

2 Serveurs OLAP et introduction au Data Mining

Bases de Données OLAP

IT203 : Systèmes de gestion de bases de données. A. Zemmari zemmari@labri.fr

Architectures web/bases de données

A QUOI SERVENT LES BASES DE DONNÉES?

IFT3030 Base de données. Chapitre 1 Introduction

Le langage SQL Rappels

WEA Un Gérant d'objets Persistants pour des environnements distribués

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour

BUSINESS INTELLIGENCE. Une vision cockpit : utilité et apport pour l'entreprise

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2

Programme scientifique Majeure ARCHITECTURE DES SYSTEMES D INFORMATION. Mentions Ingénierie des Systèmes d Information Business Intelligence

Bases de Données Avancées

Session S12 Les bases de l optimisation SQL avec DB2 for i

CESI Bases de données

Bases de Données Réparties

Module BD et sites WEB

GPC Computer Science

Urbanisme du Système d Information et EAI

Conception des systèmes répartis

Bases de données relationnelles

Chapitre 1 : Introduction aux bases de données

Evidian IAM Suite 8.0 Identity Management

IBM Tivoli Monitoring, version 6.1

Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <jpountz@via.ecp.fr> Centrale Réseaux

Oracle 8i sous Linux

Bases de Données. Plan

Business Intelligence avec Excel, Power BI et Office 365

Mise en œuvre des serveurs d application

Jérôme FESSY. IUT de Paris 5. Base de Données. Cours Introductif. Base de Données

Bases de Données. Le cas des BD relationnelles ouverture sur les BD relationnelles spatiales Séance 2 : Mise en oeuvre

INTERSYSTEMS CACHÉ COMME ALTERNATIVE AUX BASES DE DONNÉES RÉSIDENTES EN MÉMOIRE

Services OSI. if G.Beuchot. Services Application Services Présentation - Session Services Transport - Réseaux - Liaison de Données - Physique

clef primaire ; clef étrangère ; projection ; restriction ; jointure ; SQL ; SELECT ; FROM ; WHERE

//////////////////////////////////////////////////////////////////// Administration bases de données

ArcGIS. for Server. Comprendre notre monde

Solutions SAP Crystal

Résumé CONCEPTEUR, INTEGRATEUR, OPERATEUR DE SYSTEMES CRITIQUES

Transcription:

Bases de données Réparties, Fédérées et Réplication Bernard ESPINASSE Professeur à Aix-Marseille Université (AMU) Ecole Polytechnique Universitaire de Marseille Avril 2013 1. Répartition & Fédération 2. Bases de données Réparties 3. Bases de données Fédérées 4. Accès aux données réparties 5. Réplication Plan 1. Introduction : Répartition & Fédération 2. Bases de données Réparties Problèmes majeurs Fragmentation horizontale Evaluation et optimisation des requêtes réparties 3. Bases de données Fédérées Procédure dʼintégration : Traitement de lʼhétérogénéité sémantique, traduction des schémas, intégration des schémas Cas de conflits dans lʼintégration Architecture de référence 4. Accès aux données réparties RDA, DRDA, SQL-CLI, ODBC, JDBC Vues réparties et SG répartis 5. Réplication Objectifs de la réplication Modes de réplication Bernard ESPINASSE - Introduction aux bases de données réparties et fédérées 1 Bernard ESPINASSE - Introduction aux bases de données réparties et fédérées 2 Bibliographie du cours Livres : Gardarin G., «Bases de données objet et relationnel», Ed. Eyrolles, 1999 (ISBN : 2-212-09060-9). Gardarin G. & Gardarin, «Le Client-Serveur», Ed. Eyrolles, ISBN 2-212-08876-0, 1996 Miranda & Ruols, «Client-Serveur : Concepts, moteurs, SQL et architectures parallèles», Ed. Eyrolles, ISBN 2-212-08816-7, 1994 Présentations de : René J. Chevance Georges Gardarin Didier Donsez 1. Introduction La répartition des données Réparties Fédération de existantes : Fédérées Bernard ESPINASSE - Introduction aux bases de données réparties et fédérées 3 Bernard ESPINASSE - Introduction aux bases de données réparties et fédérées 4

Introduction : définitions Répartie (Distributed DB) un schéma global et une collection de s logiquement reliées et réparties entre plusieurs sites Base de données fédérée - a priori hétérogène (Federated DB) Plusieurs hétérogènes capables dʼinteropérer via une vue commune (modèle commun) Multibase Plusieurs (hétérogènes ou non) capables dʼinteropérer sans une vue commune (absence de modèle commun) SG réparti ou SG distribué (Distributed DBMS) Système gérant une collection de logiquement reliées, réparties sur différents sites en fournissant un moyen dʼaccès rendant la distribution transparente à lʼutilisateur Bernard ESPINASSE - Introduction aux bases de données réparties et fédérées 5 Exemple de répartie Schéma global : - Produit (NoProd, DesProd, Prix, NoFour) - Fournisseur (NoFour, NomFour, VilleFour) - Client (NoCli, NomCli, VilleCli) - Représentants (NoRep, NomRep, VilleRep) - Commande (NoProd, NoCli, Date, Qte, NoRep) Schéma des données réparties : Bernard ESPINASSE - Introduction aux bases de données réparties et fédérées 6 La répartition des données Centralisé Répartition Duplication + : Égalité des accès Facilité de gestion - : Contention sur la + : Rapidité dʼaccès au données locales Autonomie locale de chaque site, Égalité des accès, facilité de gestion Accès possible aux autres sites - : Gestion globale de la + : Disponibilité des données Rapidité dʼaccés aux données locales - : Coordination de mises à jour Réparties Approche descendante : décomposition en locales Locale 1 Répartie Locale 2 locale n Intérêts : Amélioration des performances (placer les traitements à lʼendroit où se trouvent les données) Disponibilité en raison de lʼexistence de plusieurs copies Maintien dʼune vision unique de la base de données malgré la répartition Problèmes : Complexité de la répartition (fragmentation, duplication, placement) Définition des schémas locaux à partir du schéma global Bernard ESPINASSE - Introduction aux bases de données réparties et fédérées 7 Bernard ESPINASSE - Introduction aux bases de données réparties et fédérées 8

Fédération de existantes : Fédérées Approche ascendante : intégration logique de locales Locale Locale Locale 1 2 n Intérêts : Amélioration des performances (placer les traitements où se trouvent les données) Donner aux utilisateurs une vue unique des données implémentées sur plusieurs systèmes à priori hétérogènes (plates-formes et SG) Cas typique rencontré lors de la concentration dʼentreprises : faire cohabiter les différents systèmes tout en leur permettant dʼinteropérer Problèmes : Fédérée Hétérogénéité sémantique () et syntaxique (SG, communications,.) Intégration des schémas locaux pour créer un schéma global Bernard ESPINASSE - Introduction aux bases de données réparties et fédérées 9 2. Bases de données Réparties Problèmes majeurs dans les réparties Fragmentation et duplication Fragmentation horizontale Evaluation et optimisation des requêtes réparties Bernard ESPINASSE - Introduction aux bases de données réparties et fédérées 10 Problèmes majeurs dans les réparties Décomposition de la -R :! Fragmentation! Duplication Fragmentation et duplication Relation globale Fragmentation Allocation Evaluation et Optimisation de requêtes réparties Transactionnel distribué :! Fiabilité et résistance aux pannes : terminaison distribuée! Contrôle de concurrence : résolution des interblocages (deadlocks) : Site 1 Site 2 Fragmentation :! 3 types : Horizontale, Verticale, Mixte! Performance en favorisant les accès locaux! Equilibrage de la charge entre les sites Duplication :! Favoriser les accès locaux! Augmenter la disponibilité des données Bernard ESPINASSE - Introduction aux bases de données réparties et fédérées 11 Bernard ESPINASSE - Introduction aux bases de données réparties et fédérées 12

Fragmentation horizontale Fragments définis par sélection : Client1 = select * from Client where ville = "Marseille" Client2 = select * from Client where ville <> "Marseille" Reconstruction : Client = Client1 U Client2 Client NoCli NomCli VilleCli Client 1 NoCli NomCli VilleCli C1 Marius Marseille C1 Marius Marseille C2 Durant Lyon C4 Olive Marseille C3 Duval Paris C4 Olive Marseille Client 2 NoCli NomCli VilleCli C2 Durant Lyon C3 Duval Paris Fragmentation Verticale Fragments définis par projection: Produit1 = select NoProd, DesProd, Prix from Produit Produit2 = select NoProd, NoFour from Produit Reconstruction : Produit = select NP, Désigantion, PrixUnit, NF from Produit1 join Produit2 using(np) Produit NoProd DesProd Prix NoFour Produit 1 NoProd DesProd Prix P1 chaise 80 F1 P1 chaise 80 P2 bureau 150 F1 P2 bureau 150 P3 table 100 F2 P3 table 100 P4 fauteuil 200 F2 P4 fauteuil 200 Produit 2 NoProd NoFour P1 F1 P2 F1 P3 F2 P4 F2 Bernard ESPINASSE - Introduction aux bases de données réparties et fédérées 13 Bernard ESPINASSE - Introduction aux bases de données réparties et fédérées 14 Fragmentation horizontale dérivée Fragments définis par jointure: Commande1 = select * from Commande where NoCli in (select NoCli from Client1) Commande2 = select * from Commande where NoCli in (select NoCli from Client2) Reconstruction : Commande = Commande1 U Commande2 Allocation de 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 Commande NoProd NomCli date Qte Commande1 NoProd NomCli date Qte P1 C1 10/1/04 10 P1 C1 10/1/04 10 P2 C2 10/1/04 20 P3 C4 15/4/04 20 P2 C2 21/3/04 15 P3 C4 15/4/04 20 Commande2 NoProd NomCli date Qte P2 C2 10/1/04 20 P2 C2 21/3/04 15 Commande2 Client2 Produit1 Commande1 Client1 Produit1 Site 1 Réseau (LAN/WAN) Site 4 Site 2 Site 3 Produit2 Fournisseur Bernard ESPINASSE - Introduction aux bases de données réparties et fédérées 15 Bernard ESPINASSE - Introduction aux bases de données réparties et fédérées 16

Evaluation et optimisation des requêtes réparties Requêtes sur les tables de schéma global Fragmentation Requête sur les fragments Optimisation Plan dʼexécution réparti Schéma de fragmentation Schéma dʼallocation 3. Bases de données Fédérées Procédure dʼintégration Traitement de lʼhétérogénéité sémantique Traduction des schémas Intégration des schémas Cas de conflits dans lʼintégration Architecture de référence Bernard ESPINASSE - Introduction aux bases de données réparties et fédérées 17 Bernard ESPINASSE - Introduction aux bases de données réparties et fédérées 18 Fédération de existantes : Fédérées Approche ascendante : intégration logique de locales Intérêts : Locale 1 Fédérée Locale 2 Amélioration des performances (placer les traitements où se trouvent les données) Donner aux utilisateurs une vue unique des données implémentées sur plusieurs systèmes à priori hétérogènes (plates-formes et SG) Cas typique rencontré lors de la concentration dʼentreprises : faire cohabiter les différents systèmes tout en leur permettant dʼinteropérer Locale n Procédure d intégration Procédure dʼintégration : 1. Traitement de lʼhétérogénéité sémantique (données de la base) 2. Traitement de lʼhétérogénéité syntaxique : Traduction des schémas (SG, communication) 3. Intégration des schémas (pour créer un schéma global) Bernard ESPINASSE - Introduction aux bases de données réparties et fédérées 19 Bernard ESPINASSE - Introduction aux bases de données réparties et fédérées 20

1 - Traitement de l hétérogénéité sémantique Hétérogénéité sémantique :! Origine : Résulte des conceptions indépendantes des différentes! Effet : Désaccord sur la signification des données! Solution : Analyse sémantique comparée des données, préalable à la fédération (souvent avec la phase de traduction) 2 - Traduction des schémas Permet une résolution de lʼhétérogénéité syntaxique Origine : utilisation de modèles différents dans les composantes Effet : nécessite des traductions de tous les modèles vers tous les modèles Solution : traduction de tous les schémas dans un modèle commun dit canonique ou pivot Problématique :! Le modèle canonique doit avoir un pouvoir de modélisation supérieur ou égal à ceux des modèles des composantes! Nécessité de compléter sémantiquement des modèles de composantes qui seraient trop pauvres Choix du modèle canonique :! Entité Association, Relationnel! Objet Bernard ESPINASSE - Introduction aux bases de données réparties et fédérées 21 Bernard ESPINASSE - Introduction aux bases de données réparties et fédérées 22 3 - Intégration des schémas Démarche d intégration de schémas (1) : Pré-intégration : établissement du plan dʼintégration Comparaison : mise en évidence des conflits Mise en conformité : résolution des conflits Procédure : Identifier les éléments de base qui sont liés Choisir la représentation la plus adéquate pour le schéma global Intégrer les éléments des schémas intermédiaires Fusion : fusion des schémas Restructuration : amélioration du schéma global Bernard ESPINASSE - Introduction aux bases de données réparties et fédérées 23 Bernard ESPINASSE - Introduction aux bases de données réparties et fédérées 24

Démarche d intégration de schémas (2) Pré-intégration :! mise en évidence des dépendances induites par les schémas! définitions des équivalences entre domaines! convention de désignation Comparaison ou analyse - mise en évidence des conflits :! de désignation (homonymie, synonymie)! structurels! de domaine! de contraintes Mise en conformité : résolution des conflits :! renommage pour les conflits de noms! étude au cas par cas pour les conflits structurels Fusion des schémas - Qualités recherchées :! complétude (pas de perte dʼinformation)! minimalité (absence de redondance)! clarté Restructuration - Amélioration du schéma global :! pour lʼessentiel recherche de clarté sans remise en cause des qualités recherchées Cas de conflits dans l intégration Conflits dʼattributs :! Conflit de nom : -> renommage! Conflit de type : -> conversion Attribut sans équivalent dans lʼautre relation :! Attribut optionnel : -> valeur nulle! Attribut indispensable : -> relation auxiliaire Conflit de relation :! Conflit multi-attribut : un attribut correspond à plusieurs dans lʼautre relation (ex. adresse et N, rue, code, ville) : -> utilisation dʼun calcul sur les attributs (ex. extraction)! Conflit de clé : pas la même clé : -> changement de clé la clé dʼune des relations composantes nʼest pas une clé générale : -> génération dʼune nouvelle clé par ajout dʼun élément (ex. nom de commune pas déterminant au niveau national ajout du numéro de département au nom de la commune pour créer la nouvelle clé) Bernard ESPINASSE - Introduction aux bases de données réparties et fédérées 25 Bernard ESPINASSE - Introduction aux bases de données réparties et fédérées 26 Traduction des schémas Architecture de référence Organisation des schémas & Niveaux des langages : Passage par un modèle canonique : Chaque site possède un traducteur local/canonique Chaque traducteur réalise 3 conversions :! schéma local : schéma équivalent en modèle canonique! données locales : données équivalentes en modèle canonique requêtes en langage du modèle canonique! requêtes équivalentes en modèle local + Développement dʼun seul traducteur par SG + Simplification de la modélisation + Transparence - Difficulté de définir un modèle canonique aussi riche que les modèles locaux - Temps de réponse accru pour les interrogations locales Bernard ESPINASSE - Introduction aux bases de données réparties et fédérées 27 Bernard ESPINASSE - Introduction aux bases de données réparties et fédérées 28

Types d accès aux données réparties 3 types dʼaccès : 4. Accès aux données réparties Types dʼaccès aux données réparties RDA - Remote Data Access SQL-CLI ODBC - Open Data Base Connectivity JDBC - Open Data Base Connection Vues réparties SG répartis Client / Multibases : RDA (Remote Data Access) - Standard ISO DRDA (Distributed Relational DatabaseArchitecture) dʼibm (semble être en voie de disparition) SQL-CLI (Call Level Interface) de lʼopen Group ODBC (Open Database Connectivity) de Microsoft JDBC (Java Database Connection) de SUN Vues réparties (sur fédérées) SG réparti Bernard ESPINASSE - Introduction aux bases de données réparties et fédérées 29 Bernard ESPINASSE - Introduction aux bases de données réparties et fédérées 30 RDA - Remote Data Access SQL-CLI 1988 : consortium SAG (SQL Access Group) regroupant 44 éditeurs de SG avec pour objectif de définir : un standard dʼinteropérabilité entre clients et SG; une interface (CLI Call Level Interface) définissant un ensemble dʼapi (Application Programming Interface) communes pour les différents SG. Ex : Composants de la CLI ODBC de Microsoft Les usagers connaissent la localisation Si une jointure est nécessaire, elle doit être réalisée par lʼapplication Bernard ESPINASSE - Introduction aux bases de données réparties et fédérées 31 Bernard ESPINASSE - Introduction aux bases de données réparties et fédérées 32

ODBC - Open Data Base Connectivity Spécification contrôlée par Microsoft et supportée par les principaux fournisseurs de SG Difficulté : niveau de SQL supporté, développement des pilotes JDBC - Open Data Base Connection Spécification commune à Sun et différents fournisseurs de SG Difficulté : risque potentiel dʼintrusion dans des systèmes par lʼintermédiaire du code mobile (byte-code) Bernard ESPINASSE - Introduction aux bases de données réparties et fédérées 33 Bernard ESPINASSE - Introduction aux bases de données réparties et fédérées 34 Vues réparties (1) Transparence de la localisation assurée par la définition des vues réparties :! Les jointures inter-bases sont exécutées par le système! Les mises à jour sont supportées au moyen des vues réparties! Un protocole de validation à 2 phases est supporté Vues réparties (2) Définition de la vue répartie (sur le site 3) : CREATE VIEW Accidenté-grave {N personne, nom, prénom, adresse,gravité, département, N véhicule, marque, type} AS SELECT P.N personne, P.nom, P.prénom, P.adresse, B.gravité, A.département,V.N véhicule, V.marque, V.type FROM S1.Personne P, S2.Blessé B, S2.Accident A, S1.Voiture V WHERE P.N personne = B.N personne AND B.gravité > «commotions» AND A.N véhicule = V.N véhicule AND A.N.accident = B.N accident Requête sur la vue répartie (sur le site 3) : «liste des blessés graves dans une voiture yyy de marque xxx dans la région parisienne» SELECT N personne,nom,prénom,adresse FROM Accidenté-grave WHERE marque = «xxx» AND type = «yyy» AND département IN (75, 78, 91, 92, 93, 94, 95) Bernard ESPINASSE - Introduction aux bases de données réparties et fédérées 35 Bernard ESPINASSE - Introduction aux bases de données réparties et fédérées 36

Vues réparties (3) Fonctions réalisées par le gestionnaire des vues réparties : La transformation de la requête sur les relations de base La décomposition de la requête en requêtes mono-site : Requête sur site 1 : SELECT N véhicule FROM Voiture!. Requête sur site 1 : SELECT * FROM Personne! Requête sur site 2 : SELECT B.N personne, A.N véhicule FROM Blessé B, Accident A,! Le contrôle de lʼexécution des requêtes Lʼintégration du résultat en effectuant les différentes opérations (dont les jointures) SG répartis La transparence à la localisation est assurée par la définition de la base répartie :! Les différentes opérations sont prises en charge par les différents SG! Un protocole de validation à 2 phases est supporté Conclusion : Le système apparaît à lʼapplication comme un vrai SG réparti mais :! Il y a toujours 3 requêtes différentes pour 2 sites! La totalité de la relation personne doit être transférée Bernard ESPINASSE - Introduction aux bases de données réparties et fédérées 37 Bernard ESPINASSE - Introduction aux bases de données réparties et fédérées 38 SG répartis (RJ Chevance) Schéma conceptuel de la base : Personne (N personne, nom, prénom, adresse, ) Voiture (N véhicule, marque, type, ) Conducteur (N personne, N véhicule, NB_accidents,..) Accident (N accident, date, département, N véhicule, N personne, ) Blessé (N accident, N personne, gravité,.) Implémentation de la base : Sites 75, 78, 91, 92, 93, 94, 95 : Bases préfectorales avec Voitures, Conducteur et Personne pour les voitures immatriculées dans le département (Personne, Voiture, Conducteur) SAMU : base SAMU de la région parisienne (Accident, Blessé) Requête : «liste des blessés graves dans une voiture type yyy de marque xxx dans la région parisienne» Bernard ESPINASSE - Introduction aux bases de données réparties et fédérées 39 SG réparti : Plan d exécution répartie (RJ Chevance) Requête sur site SAMU : SELECT B.N personne, A.N véhicule FROM Blessé B, Accident A WHERE B.N accident = A.N accident AND B.gravité > «commotions» AND A.département IN (75, 78, 91, 92, 93, 94, 95) INTO temp1 SEND temp1 to S75, S78, S91, S92, S93, S94, S95 Requêtes sur S75, S78, S91, S92, S93, S94, S95 : RECEIVE temp1 FROM SAMU SELECT P.nom,P.prénom FROM Personne P, temp1 T, Voiture V WHERE P.N personne = T.N personne AND T.N véhicule = V.N véhicule AND V.marque = «xxx» AND V.type = «yyy» INTO temp2.i SEND temp2.i TO Interrogation Requête sur site Interrogation : RECEIVE temp2.75 FROM S75 RECEIVE temp2.95 FROM S95 UNION temp2.75, temp2.78,..temp2.95 INTO résultat Le SG réparti a pris en charge tous les problèmes liés à la répartition Les transferts sont minimisés : seuls les N des blessés et des véhicules sont transférés Bernard ESPINASSE - Introduction aux bases de données réparties et fédérées 40

SG réparti : les problèmes & solutions Validation à 2 phases : utilisé dès quʼune mise à jour sʼadresse à plus dʼun site ou à plus dʼune base sur un même site Verrouillage à 2 phases : pour assurer la sérialisation des transactions (phase dʼacquisition des verrous puis phase de relâchement des verrous) Détection des deadlocks Partitionnement et placement des données : Objectifs :! Réduction de la charge (accès aux données, communication, espace de recherche)! Équilibrage de charge! Accroissement du travail utile (e.g. effet de cache) Solutions :! Partitionnement vertical! Partitionnement horizontal Bernard ESPINASSE - Introduction aux bases de données réparties et fédérées 41 SG répartis du marché Ingres/STAR! le premier IBM DB2! 3 produits : DataLinks, DataJoiner, DataPropagator Informix! 2 produits : Virtual Table Interface, Enterprise Replication Oracle! 2 produits : Transparent Gateways, Database Replication Sybase! Replication Server Bernard ESPINASSE - Introduction aux bases de données réparties et fédérées 42 5. Réplication Objectifs de la réplication Modes de réplication Objectifs de la réplication Objectifs de la réplication : Améliorer la disponibilité des données Respect de lʼintégrité des données Améliorer les performances Administration centralisée Difficultés de la réplication : Synchronisation des copies Transparence de la gestion 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 Bernard ESPINASSE - Introduction aux bases de données réparties et fédérées 43 Bernard ESPINASSE - Introduction aux bases de données réparties et fédérées 44

La Réplication : Exemples (1) 1. Mouvement dʼinformation (OLTP DSS) : La Réplication : Exemples (2) 3. Consolidation dʼinformation : «production» 2. Distribution dʼinformation : Réplication «décisionnelle» Internet (WAN) Site central «entreprise globale» 4. Mises à jour sans conflits : «Europe» «Amérique» «Asie» Internet (WAN) Bernard ESPINASSE - Introduction aux bases de données réparties et fédérées 45 Bernard ESPINASSE - Introduction aux bases de données réparties et fédérées 46 Modes de réplication 2 Modes de réplication : Asymétrique : une copie primaire / N copies secondaires Modèles de réplication : modes de propagation des mises à jour 2 modes de propagation des Mises à Jour (source -> cible): Synchrone : Mises à jour globales dans une même transaction Symétrique : N copies primaires + : Cohérence forte : Contrôle de Concurrence (Verrouillage ) & Terminaison : 2 Phase Commit - : Ralentit la transaction et le débit (mise en œuvre de la validation à 2 phases) Asynchrone : Mises à jour dans des transactions différées + : incidence faible sur les performances - : Nécessité de mise à niveau de la ou des copie(s) en cas de reprise Bernard ESPINASSE - Introduction aux bases de données réparties et fédérées 47 Bernard ESPINASSE - Introduction aux bases de données réparties et fédérées 48

Modèles de réplication Modèles de réplication : technologies et problèmes (D. Donsez) (Dʼaprès RJ Chevance) Bernard ESPINASSE - Introduction aux bases de données réparties et fédérées 49 Bernard ESPINASSE - Introduction aux bases de données réparties et fédérées 50