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



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

Module BDR Master d Informatique (SAR)

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

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

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

INTRODUCTION AUX BASES de DONNEES

Cours Bases de données

Réplication des données

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

Bases de données relationnelles : Introduction

Base de données II Module 3b

Données Réparties. Thibault BERNARD.

Gestion de données réparties. Cours 1

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

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

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

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

Implémentation des SGBD

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

Bases de données avancées Introduction

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

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

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

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

CESI Bases de données

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

CHAPITRE 1 ARCHITECTURE

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

Les bases de données

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

Introduction aux bases de données

Cours 6. Sécurisation d un SGBD. DBA - M1ASR - Université Evry 1

Chapitre 1 : Introduction aux bases de données

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

Bases de Données Réparties

Bases de données cours 1

Les bases de données Page 1 / 8

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

Module BDR Master d Informatique (SAR)

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

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

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

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

Plan du cours. Autres modèles pour les applications réparties Introduction. Mode de travail. Introduction

Bases de Données. Plan

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

Haute-disponibilité et bases de données

Information utiles. webpage : Google+ : digiusto/

Haute disponibilité avec PostgreSQL

Du 10 Fév. au 14 Mars 2014

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

Faculté des sciences de gestion et sciences économiques BASE DE DONNEES

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

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

Annuaires LDAP et méta-annuaires

<Insert Picture Here> Solaris pour la base de donnés Oracle

Qu est-ce que ArcGIS?

Systèmes de Gestion de Bases de Données (SGBD) relationnels Maude Manouvrier

Conception des systèmes répartis

Gestion répartie de données - 1

CORBA haute performance

La problématique de la Préservation des Bases de Données. Olivier ROUCHON CINES Groupe PIN Jeudi 7 Octobre

Optimisations des SGBDR. Étude de cas : MySQL

Bases de données. Chapitre 1. Introduction

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

SQL Server 2014 Administration d'une base de données transactionnelle avec SQL Server Management Studio

Programme détaillé. Administrateur de Base de Données Oracle - SQLServer - MySQL. Objectifs de la formation. Les métiers

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

Le modèle client-serveur

1. Introduction à la distribution des traitements et des données

C-JDBC. Emmanuel Cecchet INRIA, Projet Sardes.

2 Serveurs OLAP et introduction au Data Mining

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

SQL Server Administration d'une base de données transactionnelle avec SQL Server Management Studio (édition enrichie de vidéos)

Sommaire. La haute-disponibilité. L'offre OpenSource. Les systèmes tiers. MySQL

Architectures d'intégration de données

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

Les Entrepôts de Données

Partie II Cours 3 (suite) : Sécurité de bases de données

Robin Favre Fabien Touvat. Polytech Grenoble RICM 3 ème Année Vendredi 21 Novembre 2008 Etude d Approfondissement Réseau

Les transactions 1/46. I même en cas de panne logicielle ou matérielle. I Concept de transaction. I Gestion de la concurrence : les solutions

et les Systèmes Multidimensionnels

Datawarehouse and OLAP

INTRODUCTION AUX TECHNOLOGIES D INGENIERIE DES DONNEES DIRIGEE PAR LES MODELES

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

Bases de Données Avancées

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

Introduction aux SGBDR

Qui est Sybase ianywhere?

MySQL. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada

Présentation Alfresco

Bases de Données relationnelles et leurs systèmes de Gestion

Windows Internet Name Service (WINS)

MEAD : temps réel et tolérance aux pannes pour CORBA

PostgreSQL. Formations. Catalogue Calendrier... 8

IFT3030 Base de données. Chapitre 1 Introduction

NFP111 Systèmes et Applications Réparties

Transcription:

Répartition, Réplication, Nomadisme, Hétérogénéité dans les SGBDs Didier DONSEZ Université Joseph Fourier IMA IMAG/LSR/ADELE Didier.Donsez@imag.fr

2 Les Développements Technologiques Amélioration des communications Réseaux LAN et WAN plus rapides, plus surs FDDI, Fiber Channel, GigaEthernet RNIS, ATM Amélioration des postes de travail meilleur prix/performance amélioration des possibilités stations parallèles

Les Pressions pour la Distribution 3 Pression des entreprises 90% des accès concernent des données locales impératif de décentraliser l'information cas des Multinationales Pression des utilisateurs bases de données directement adaptées à leurs besoins Vers l'ubiquitous Computing (Informatique OmniPrésente) Utilisateurs Mainframe Centrale Serveur Décentralisé Serveur Décentralisé Utilisateur Serveur Décentralisé Serveur Décentralisé Utilisateur

4 Qu est qu un SGBD Répartie BD Répartie ('LVWULEXWHG'DWDEDVH) un schéma global une collection de BDs logiquement reliées et réparties entre plusieurs sites 3URGXLW13'HVLJQDWLRQ3UL[8QLW1) )RXUQLVVHXU1)1RP9LOOH &OLHQW1&/1RP9LOOH 5HSUpVHQWDQW151RP9LOOH &RPPDQGH131&/'DWH4WH15 Site 1 Site 2 Réseau /$1:$1 Site 4 Commande Client Représentant Site 3 Commande Client Représentant Produit Fournisseur

5 Evaluation de l approche BD-R Avantages Extensibilité Partage de données hétérogènes et réparties Meilleures performances Meilleure disponibilité Economie Inconvénients Complexité Manque d expérience Distribution du Contrôle Difficulté de Migration

6 Avantages comparés BD Centralisée - Organisation Simple contrôle et planification par une seule équipe - Expérience Techniques BD simples Sécurité, Performances - Applications Temps d accès uniforme à toute la BD BD Répartie - Organisation Déjà Répartie besoins locaux différents autonomie locale gestion et contrôle des données - Expérience Traitements principalement locaux Accès multi-site occasionnel - Applications Très diverse (besoins spécifiques)

Migration vers une BDR Décomposition en BD locales BD BD1 Intégration logique des BDs locales existantes BD1 BD2 BD3 BD BD2 BD3 7

Gestion des BD-R 8 Rappel sur l architecture ANSI/SPARC Utilisateurs Schéma Externe Vue Externe Vue Externe Vue Externe Schéma Conceptuel Schéma Interne Vue Conceptuelle Vue Interne Plusieurs alternatives en fonction de l existence et de la réalisation du schéma global Couplage fort Couplage Faible Fédéré

9 Couplage Fort Schéma Global - Indépendance Applications/Bases de Données / Schéma global lourd à gérer $3 $3 $3 P 6&/ 6,/ 6&* 6&/ 6,/ 6&/ Q 6,/ Q

Schéma Global 10 Schéma Conceptuel Global Description unifiée et globale de toutes les données du SGBD-R Indépendance à la répartition 3URGXLW13'HVLJQDWLRQ 3UL[8QLW &OLHQW1&/1RP9LOOH &RPPDQGH131&/'DWH4WH + Schéma de placement Régle de correspondance avec les données locales Indépendance à la localisation et à la décomposition 3URGXLW 3URGXLW#6LWH &RPPDQGH &RPPDQGH#6LWH &RPPDQGH#6LWH &OLHQW &OLHQW#6LWH &OLHQW#6LWH

11 Couplage Faible N Schémas Locaux - Pas de Schéma global / Pas d Indépendance Applications/Bases de Données $3 $3 $3 P 6&/ 6,/ 6&/ 6,/ 6&/ Q 6,/ Q

12 Fédéré Fédération de Schémas Hétérogènes - Moyen contrôlé de migration depuis les SGBDs locaux vers un SGBD-R $3 $3 $3 P 6&/ 6,/ Schéma Fédéré 1 6&/ 6,/ Schéma Fédéré k 6&/ Q 6,/ Q

Notions Complémentaires 13 SGBD Réparti ('LVWULEXWHG '%06) gère une BD-R et fournit les mécanismes d'accès rendant la distribution transparente à l utilisateur. BD Interopérable (,QWHURSHUDEOH'DWDEDVH) BD capable d échanger des données en comprenant mutuellement ce qu elles représentent Multibase (0XOWLEDVH) Plusieurs BDs hétérogènes capables d interopérer avec une application via un langage commun et sans modèle commun BD fédérée ()HGHUDWHG'DWDEDVH) Plusieurs BDs hétérogènes accédées comme une seule via une vue commune

L architecture physique d un SGBD-R 3URFHVVHXU8WLOLVDWHXU 3URFHVVHXUGH'RQQpHV 6FKpPD ([WHUQH 6FKpPD &RQFHSWXHO *OREDO 6FKpPD*OREDO GH'LVWULEXWLRQ GHV'RQQpHV 6FKpPD &RQFHSWXHO /RFDO -RXUQDX[ 6\VWqPHV 6FKpPD,QWHUQH /RFDO 5HTXrWHV 14 8WLOLVDWHXU,QWHUIDFH 8WLOLVDWHXU &RQWU{OH 6pPDWLTXH 2SWLPLVDWLRQ *OREDOHGHV 5HTXrWHV 0RQLWHXU*OREDO G([pFXWLRQ 3URFHVVHXU/RFDO GH5HTXrWHV 5HSULVHVXU3DQQH /RFDOH 3URFHVVHXU G([pFXWLRQ 5pSRQVHV %DVHGH 'RQQpHV /RFDOH

15 Décomposition de la BD-R Fragmentation Duplication Requêtes Réparties Optimisation et évaluation de requêtes reparties Transactionnement Distribué Fiabilité, Résistance aux Pannes Terminaison distribuée Contrôle de concurrence Résolution des interblocages

16 Objectifs de la Décomposition )UDJPHQWDWLRQ Relation Globale $OORFDWLRQ Site1 Fragmentation Trois 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 Site2

17 Fragmentation Horizontale Fragments définis par sélection Client1 = select * from Client where ville="paris" Client2 = select * from Client where ville<>"paris" Reconstruction Client = Client1 Client2 &OLHQW 1&/ 1RP 9LOOH & 'XSRQW 3DULV & 'XUDQW /LOOH & 0DUWLQ 1LFH & 2OLYLHU 3DULV &OLHQW 1&/ 1RP 9LOOH & 'XSRQW 3DULV & 2OLYLHU 3DULV &OLHQW 1&/ 1RP 9LOOH & 'XUDQW /LOOH & 0DUWLQ 1LFH

Fragmentation Horizontale Dérivée 18 Fragments définis par jointure Commande1 = select * from Commande where NCL in (select NCL from Client1) Commande2 = select * from Commande where NCL in (select NCL from Client2) Reconstruction Commande = Commande1 Commande2 &PG 13 1&/ 'DWH 3 & 3 & 3 & 3 & 4WH &PG 13 1&/ 'DWH 3 & 3 & &PG 13 1&/ 'DWH 3 & 3 & 4WH 4WH

Fragmentation Verticale 19 Fragments définis par projection Produit1 = select NP, Désigantion, PrixUnit from Produit Produit2 = select NP, NF from Produit Reconstruction Produit = select NP, Désigantion, PrixUnit, NF from Produit1 join Produit2 using(np) 3URGXLW 13 'HVLJ 3UL[8QLW 3 &LPHQW 3 %RLV 3 9LV 3 &ORX 1) ) ) ) ) 3URGXLW 13 3 3URGXLW 13 'HVLJ 3UL[8QLW 3 3 &LPHQW 3 3 %RLV 3 3 9LV 3 &ORX 1) ) ) ) )

20 Allocation des 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 Commande1 Client1 Produit1 Site 1 Site 2 Site 4 Réseau /$1:$1 Site 3 Commande2 Client2 Produit1 Produit2 Fournisseur

Evaluation des Requêtes Réparties 21 Requête sur les tables du schéma global Fragmentation Requête sur les fragments Optimisation Plan d exécution réparti Schéma de Fragmentation Schéma d allocation

Exemple I 2 arbres 3URGXLW13'HVLJQDWLRQ 3UL[8QLW &OLHQW1&/1RP9LOOH &RPPDQGH131&/'DWH4WH 22 VHOHFW1&/1RP'DWH6XP4WH3UL[8QLW IURP &PG MRLQ &OLHQWXVLQJ 1&/ MRLQ 3URGXLWXVLQJ13 JURXSE\1&/1RP'DWH Partition +Agrégat R (Qte*PrixUnit) R (Qte*PrixUnit) NCL,Nom,Date Qte,PrixUnit NP= NP NCL=NCL Produit Cmd Client Produit NP=NP NCL,Nom,Date Qte,PrixUnit NCL= NCL Cmd Client

Exemple I : )UDJPHQWDWLRQGHO DUEUH 23 R (s) (Qte*PrixUnit) as s (Qte*PrixUnit) as s NCL,Nom,Date Qte,PrixUnit NP= NP NCL=NCL Produit1 Cmd1 Client1 NCL,Nom,Date Qte,PrixUnit NP= NP NCL=NCL Produit1 Cmd2 Client2

Exemple I : $OORFDWLRQGHVIUDJPHQWVGHO DUEUH 24 Transfert de @site4 vers @site1 @site1 R (s) Transfert de @site3 vers @site1 @site4 (Qte*PrixUnit) as s @site3 (Qte*PrixUnit) as s NCL,Nom,Date Qte,PrixUnit NP= NP NCL=NCL Produit1 Cmd1 Client1 NCL,Nom,Date Qte,PrixUnit NP= NP NCL=NCL Produit1 Cmd2 Client2

Exemple II 3URGXLW13'HVLJQDWLRQ 3UL[8QLW &OLHQW1&/1RP9LOOH &RPPDQGH131&/'DWH4WH 25 VHOHFW6XP4WH3UL[8QLWDV&$3DULV IURP &PG MRLQ &OLHQWXVLQJ 1&/ MRLQ 3URGXLWXVLQJ13 ZKHUH'DWHEHWZHHQDQGDQG9LOOH 3DULV R (Qte*PrixUnit) @site1 @site4 R (Qte*PrixUnit) NP= NP 1/1/98=<date date=<31/12/98 NCL=NCL Ville = «Paris» Produit Cmd Client NP= NP 1/1/99=<date date=<31/12/99 NCL=NCL Produit1 Cmd1 Client1

Optimisation 26 Plan d exécution ensemble des Sous-Requêtes sur les schémas locaux et des opérations de transferts des résultats intermédiaires Recherche d un plan d exécution de coût minimal Coût = f ( temps de réponse, $ ) est une fonction sur l espace des plans d exécution Coût = α*coûtcpu + β*coûtes + δ*coûtcomm En WAN, le coût de communication est majoritaire δ*coûtcomm >> α*coûtcpu + β*coûtes

Optimisation : Jointure Répartie 27 Jointure(R1,R2,R1.A1=R2.A2) @ site2 Direct R1@site1 Par semi-jointure R1@site1 Exercice : Calculez le gain ntransfert de R1 ntransfert de Proj(R2,A2) R2@site2 R2@site2 otransfert de Proj( Join(R1, Proj(R2,A2),R1.A1=R2.A2), R1.*)

29 Gestion des Transactions Réparties Contrôle de Concurrence Répartie Verrouillage Estampillage Certification Reprise sur panne Répartie Validation à 2 phases Validation à 3 phases Moniteur Transactionnel

30 Verrouillage distribué (i) Gestion des Verrous (LM Lock Manager) Centralisé Distributed Lock Manager d Oracle Réseau d'interconnexion Noeud A Instance ORACLE DLM Noeud B Instance ORACLE Fichiers Journaux Gestion des Verrous (LM Lock Manager) Répartie Chaque site a un LM local Fichiers de la Base Fichiers Journaux Le LM local maintient un graphe d attente local

Verrouillage distribué (ii) LM Répartie 31 Principe Chaque sous-requête sur un site verrouille sur le GT local Le GT local maintient un graphe d attente local L interblocage (RX9HUURXV0RUWHOV) plusieurs sites utilisent le 2PC chaque site est capable de détecter un interblocage local (77) mais un interblocage distribué est difficile (777) /0 /0 T1 T2 T1 T2 T5 T3 T4 T3 T1 T2 T5 T3 T4

32 Détection des interblocages Prévention Garantir que le problème ne survient jamais Combinaison de Verrouillage et d Estampillage Détection DieWait, WoundWait Graphe d attente local complété périodiquement par les graphes locaux des autres sites Détection de cycle sur l union des graphes locaux Présomption Annulation des transactions trop longtemps (timeout) en attente 3OXVG LQIR (GJDU.QDSS 'HDGORFNGHWHFWLRQ LQ GLVWULEXWHGGDWDEDVHV ª$&0 &RPSXWLQJ6XUYH\V9RO1R'HF3DJHV

34 /0 Détection des interblocages répartis T1 T2 T3 T4 /0 T1 T2 T3 T1 T2 T3 T4 T5 T5 T1 T2 T3 T5 /0 T1 T2 T3 /0 T1 T2 T3 T5 /0 /0 T1 T2 T3 T1 T2 T3 T4 T5 T1 T2 T3 T4 T5 1T2 T2ÎT3 T5ÎT1

Terminaison d une transaction distribuée 35 ÖGarantir l atomicité d une transaction distribuée Protocole de validation à 1 phase Quand un seul des sites a des modifications à valider Protocole de validation à 2 phases (7ZR3KDVH&RPPLW) 6LWH &RRUG 6LWH 6LWH GpEXWGX3& SUpSDUHU SUpSDUHU SUrW SUrW OD7*HVW YDOLGDEOH OD7*HVWYDOLGpH YDOLGHU YDOLGHU &RRUG SUpSDUHU SUrW UHMHWp 6LWH GpEXWGX3& SUpSDUHU UHMHWp OD7*HVWUHMHWp

36 Protocoles Asynchrones de Validation le protocole Compenser difficile de définir une transaction de compensation compensation sur plusieurs sites certains effets sont incompensables le protocole Refaire : sous transactions re-essayables exécution dépendante des valeurs 6LWH YDOLGHU YDOLGpH FRPSHQVHU 2. &RRUG YDOLGHU UHMHWpH 6LWH GpEXW 7*UHMHWpH 6LWH YDOLGHU YDOLGpH &RRUG YDOLGHU UHMHWpH UHIDLUH 2. 6LWH GpEXW 7*YDOLGpH

37 Objectifs de la réplication Performance - localité des accès en consultation (lecture) / mise en cohérence des mises à jour (écriture) Disponibilité ($YDLODELOLW\) 1 heure d arrêt /jour 95,8% 1 heure d arrêt /semaine 99,41% 1 heure d arrêt /mois 99,86% 1 heure d arrêt /an 99,9886% 1 heure d arrêt /20 ans 99,99942% Redondance multi sites Disponibilité(N serveurs) = 1 - ProbPanne N 1 serveur = 95 % de disponibilité 2 serveurs = 99,75 % de disponibilité

Notions complémentaires 38 Disponibilité Disponible quand prét à fonctionner et apte à accomplir sa fonction de manière fiable Fiabilité Aptitude à accomplir sa fonction sans défaillance dans des conditions données pour une durée déterminée Maintenabilité Possibilité d être maintenu ou rétabli en un temps donnée dans un état d aptitude à accomplir sa fonction Maintenance Ensemble des opérations qui permettent de maintenir (m. préventive) ou de rétablir (m. corrective) Sûreté de fonctionnement Fiabilité et sécurité vis à vis des personnes et des biens

39 Modèle de réplication 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 Mode de réplication Asymétrique une copie primaire / N copies secondaires Symétrique N copies primaires

Mode de réplication 40 Asymétrique u(i) Secondaire1 u(i) Primaire1 u(i) u(i) Secondaire2 Secondaire3 u(i) Primaire u(i) Secondaire2 temps Secondaire1 u(i) Primaire2 u(i) Secondaire3 u(i) Symétrique u1(i) Primaire1 u2(i) u1(i) u1(i) u3(i) Primaire2 u3(i) u2(i) Primaire3 u2(i) u3(i)

41 Propagation des Mises à Jour GHOD6RXUFHYHUVOD&LEOH Synchrone Mises à jour globales dans une même transaction - Cohérence forte Contrôle de Concurrence : Verrouillage (Maître/Esclave,Quorum), Estampillage, Certification Terminaison : Two Phase Commit / Ralentit la transaction et le débit Asynchrone Mises à jour dans des transactions différées - Pas de retard - BD Nomades à la reconnexion / Fusion (manuelle) des copies divergentes

Modèle de Réplication et Propagation des Mises à jour 42 Symétrique Asymétrique u1(i) u2(i) u(i) Synchrone Asynchrone Primaire1 u1(i) Primaire1 u1(i) u2(i) u1(i) u2(i) Primaire2 u2(i) Primaire2 Primaire u(i) Primaire u(i) u(i) Secondaire Secondaire

Configuration Hybride (i) 43 Définition d un schéma de réplication u2 et u3 sont cascadés vers S1 par P1 par association symétrique/asymétrique synchrone/asynchrone Adaptation à des problèmes spécifiques u2(i) u1(i) u3(i) u1(i) Primaire1 Secondaire11 u1(i) u1(i) u2(i) u3(i) u2(i) u3(i) 6HFRQGDLUH &RQVROLGpH u2(i) Primaire2 u2(i) u1(i) u3(i) u2(i) u1(i) u3(i) Consolidation de P1 et P2 Secondaire21 u3(i) Primaire3

44 Configuration Hybride (ii) 1 Editeur / N Souscripteurs (MS SQL Server v7) mise à jour synchrone des souscripteurs vers l éditeur Two Phase Commit mise à jour asynchrone de l éditeur vers les sous-souscripteurs Convergence des copies divergentes Editeur u1(i) u2(i) u1(i) u2(i) Souscripteur1 Souscripteur2 u1(i) u2(i)

Détection des Mises à Jour sur les Données Répliquées 45 Utilisation des Journaux les transactions qui modifient écrivent une marque spéciale dans le journal - Détection périodique en lisant le journal / Modification de la gestion du journal Utilisateur de Triggers La modification d une donnée répliquée déclenche un trigger - Mécanisme général et extensible / la détection fait partie de la transaction et la ralentit

Rafraîchissement des Copies Cibles 46 Propagation de mises à jour Total Différentiel (propogation des dernières mises à jour) Fréquence des Rafraîchissements Immédiat : après la transaction A intervalle régulier : minute, heure, jour, semaine, mois Evénementiel : provoqué par une application Initiative du rafraîchissement Push (source vers cible) Pull (cible vers source) - cas des BD Nomades à la reconnexion Outils files d attente persistantes (Store & Forward) passerelles pour les données hétérogènes

47 Exemple Hot Standby d Oracle u1(i) u2(i) Primaire u2(i)u1(i) u2(i) File persistante u1(i) Secondaire Primaire u2(i)u1(i) Primaire u2(i) u1(i) u2(i) u2(i) Résolution conflit (u2,u3) u3(i) Primaire u1(i) u3(i) Secondaire u1(i) u3(i) u3(i)

Résolution des Conflits (i) 48 Cas 2 copies primaires rafraîchies en asynchrone copie primaire en panne en asynchrone (Hot Standby) Détection des conflits Solution 1- transporter la nouvelle (rien si DELETE) et l ancienne valeur (rien sur INSERT) sur la cible 2- vérifier ancienne valeur source = valeur courante cible SINON conflit Type de Conflits Unicité violation d une contrainte UNIQUE Mise à Jour différence entre l ancienne valeur source et la valeur courante cible Suppression modification d une ligne détruite

49 Résolution des Conflits (ii) Fusion des copies divergentes Actions possibles Ignorer les ordres en conflits DISCARD de la nouvelle valeur, OVERWRITE de la valeur courante Répliquer uniquement la dernière mise à jour EARLIEST TIMESTAMP, LASTEST TIMESTAMP Traiter les conflits en fonction d une priorité prédéfinie SITE PRIORITY Routines pré-définies Traitement manuel Remarque effectué par le DBA à partir d une liste de conflits (table DEFERROR d Oracle sur le nœud cible) différence entre Cohérence séquentielle et Cohérence transactionnelle

Résolution des Conflits (iii) 50 Routines pré-définies faciliter la tache du DBA Routines MAXIMUM, MINIMUM, AVERAGE de la valeur courante et de la nouvelle valeur ADDITIVE valeur cible += (nouvelle valeur source - ancienne valeur source) Inconvénients convergence pour au maximum deux sites «maîtres» impact sur le schéma et sur le codage des procédures le développeur doit prévoir la gestion du conflit ne règlent pas tous les types de conflit suppression, modification de la clé primaire, valeurs nulles, violation de CI

Gestion de la Cohérence dans la Réplication Symétrique 51 Gestion Centralisée un site est élu maître, les autres sont esclaves Inconvénients En cas de panne du maître, il faut élire un nouveau maître En cas de partition réseau : 2 maîtres donc 2 copies divergentes Gestion Décentralisée Les Quorums

52 les Quorums But: Résister à k pannes de sites parmi N sites ou à un partitionnement du réseau Approche sans maître Quorum les verrous sont obtenus après avis d un quorum de site R + W > N 2W > N ex: 9 sites R=1 et W=9 ex: 9 sites R=2 et W=8 ex: 9 sites R=3 et W=7 (exclusion des lecteurs/ecrivains) (exclusion de 2 Ecrivains)

53 les Quorums Topologiques But : limiter la taille des quorums possibles Topologie logique Topologie liée au réseau Quorum en Grille (Grid) Lecture : une ligne σ(n) Ecriture : une ligne + une colonne 2σ(N)-1 ex : 9 sites R=3 W=5 Quorum en Arbre (Tree) Lecture : une branche droite Ecriture : une branche droite + une branche gauche 3DQQH 3DUWLWLRQ

54 Réplication procédurale Au lieu de transférer des nouvelles (et anciennes) valeurs, la procédure exécutée sur la source est propagée vers le site cible pour y être exécutée Avantages Evite le transfert d importants volumes de données quand CoûtComm >> CoûtCPU + CoûtDisque Conflits de mises à jour évite l usage des routines pré-définies Mécanisme Wrapper (Oracle) pour transférer la procédure par une file (Store & Forward)

55 Notions Complémentaires Copie Dérivée ('HULYHG &RS\) Copie des sous-ensembles de plusieurs tables définis par une requête Cliché (6QDSVKRW) Copie dérivée asynchrone rafraîchie périodiquement

Produits - Réplication 56 IBM Data Propagator Relational (Dprop-R) Informix CA OpenIngres Oracle Symetric Replicator Sybase Replicator Server MicroSoft SQL Server v7 AFIC Tech. Multi Server Option 5pSOLFDWHXU 6\P $6\P 6LWHV 6\QF +pwpurjqqhv IBM Informix OpenIngres Oracle Sybase MicroSoft 9 9 Ed/So Fixe Fixe Dyn. Dyn. Dyn. Fixe DRDA Non cible tous cible 2PC 2PC 2PC 2PC 2PC 2PC $V\QF 9 9 9 9 9 9 )UpT$V\QF 0LQ0D[ 1min/9sem cible 1sec/manuel source source 1sec/manuel cible immediat source les 2 immédiat/manuel,qlwldwlyh 5DIUDLFK

BD embarquées et BD Nomades 57 Cibles Informatique portable : LapTop Informatique nomade : PDA, Téléphone mobile Informatique enfouie : WebPhone, itv, Automate monétique Usagers Des collaborateurs mobiles et nomades Représentants, Ingénieurs d affaire, Télé-travailleurs, Problème Des communications intermittentes, coûteuses, peu sures Réseaux éphémères add-hoc Faible empreinte mémoire Mémoire stable différente des Disques durs Solutions Réplication Synchronisation

Motivations : Usagers Nomades Réseau Privé d Entreprise Serveur Central RTC / GSM Internet 58

59 Les Produits Les Personal Editions Open Ingres Desktop IBM/DB2 Universal Server Personal Edition Informix Dynamic Server Personal Edition Microsoft SQL Server (Win2000) et Pocket Access (WinCE) Oracle Lite Sybase Adaptive Server AnyWhere Le créneau Centura, Pervasive,

60 Gestion des Bases Hétérogènes Les Ilots d Information de l Entreprise différentes machines : mainframes, minis, micros, stations de travail différents SGBDs : hiérarchique, relationnel, objet Besoins spécifiques des départements Conséquences Redondance des données et inconsistance difficulté de localiser les données utiles et de les intégrer rapidement Données Utiles = consistantes, à jour, et facilement accessibles ÖIntégration logique des données distribuées et hétérogènes de l entreprise

L intégration des données 61 Relationnel applications traditionnelles Modèles sophistiqués applications avancées Héritage d anciens systèmes (legacy systems) 45% des SGBDs sur Mainframe sont IMS (hiérarchique) De nombreuses applications utilisent encore des SGFs (VSAM) Intégration des systèmes "non-gestionnaires" de données Traitement de texte, Feuille de calcul, Traitement d images. Utilisation du Web pour simplifier le développement des applications 'RQQpHV 1RXYHOOH )LOLDOH 6*%' 5HODWLRQQHO 'RQQpHV )RXUQLVVHXU 6*%' 5HODWLRQQHO 'pflvlrqqho 'RQQpHV &R W 3DFNDJH 6WDWLVWLTXH 'RQQpHV *HVWLRQ 6*%' +LpUDUFKLTXH &RQFHSWLRQ 3URGXFWLRQ 6*%' 2ULHQWp2EMHW

62 Les Différents Degrés d'hétérogénéité chaque BD est gérée par le même SGBD sur des systèmes différents ex: ORACLE sur UNIX, VMS, DOS par un SGBD différent mais avec le même modèle ex: ORACLE, DB2, INGRES par un SGBD différent avec un modèle de données différent ex: DB2 et IMS (problème pratique pour IBM) chaque BD est une source de données structurées ou non

Les différentes Formes d Autonomie 63 Autonomie de Conception (RX$XWRQRPLHSK\VLTXH) un SGBD décide d une conception reliée à ses propre besoins données, représentation, interprétation, implantation, Autonomie de Communication un SGBD décide de comment et avec quel autre SGBD il doit communiquer Autonomie d Exécution (RX$XWRQRPLHGH6LWH) un SGBD peut exécuter des opérations localement de la manière qu il veut

Les Problèmes à Résoudre Intégration de Bases de Données Calcul des Requêtes Gestion des Transactions 64

Intégration de Bases de données 65 c'est le processus d'intégration conceptuelle des informations provenant des différentes bases composantes 6&*,QWpJUDWLRQ GHV6FKpPDV,QWHUPpGLDLUHV 7UDGXFWLRQ GHV6FKpPDV /RFDX[,QWpJUDWHXU 7UDGXFWHXU 7UDGXFWHXU 7UDGXFWHXUQ %DVHGH 'RQQpHV %DVHGH 'RQQpHV %DVHGH 'RQQpHV Q

Intégration de Schéma 66 Pré-intégration identification des éléments reliées ex: domaines Equivalents spécification des règles de conversion ex: 1 pouce = 2,54 cm ex: salaire en $ Ù DM Ù Ù FF Ù Euro Comparaison conflits de nommage synonymes, homonymes conflits structurels types, clés, dépendances Conformité résolution des conflits de noms et structurels Fusion et Restructuration fusion des schémas intermédiaires fournir le meilleur schéma intégré

67 Calcul des requêtes La complexité du calcul des Requêtes est élevée variations d'un SGBD à l'autre pour les possibilités pour les coûts pour l'optimisation difficulté de déplacer les données entre SGBDs

68 Gestion de Transactions Plusieurs transactions à coordonner Terminaison des transactions 2 phases commit largement utilisé Contrôle de Concurrence interopérabilité du Verrouillage distribué interopérabilité de la Détection des interblocages Moniteurs Transactionnels Protocoles : 26,73;2SHQ20*276 Produits : 7X[HGR(QFLQD&,&6«pas toujours interopérables entre eux

69 Produits - Gestion BD Hétérogènes Oracle SQL*Net : interface réseau SQL*Connect : passerelle vers BD relationnel ou non CA-OpenIngres...

Bibliographie 70 M. Tamer Özsu, Patrick Valduriez, "Principles of Distributed Database Systems", Prentice-Hall Intl Eds., Second Edition ISBN 0-13-659707-6,1999 Miranda & Ruols, "Client-Serveur : Concepts, moteurs SQL et architectures paralléles", Ed Eyrolles, ISBN 2-212- 08816-7, 1994 Gardarin & Gardarin, "Le Client-Serveur", Ed Eyrolles, ISBN 2-212-08876-0, 1996 Hector Garcia-Molina, Jeffrey D. Ullman, Jennifer Widom, "Database System Implementation", 2000, Ed Prentice Hall, ISBN 0-13-040264-8 Donald Kossmann, «The state of the art in distributed query processing», ACM Computing Surveys, Volume 32, Issue 4 (December 2000), pp 422-469