Réplication des données



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

Cours Bases de données 2ème année IUT

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

Cours de Base de Données Cours n.12

Haute-disponibilité et bases de données

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

La replication dans PostgreSQL

Base de données II Module 3b

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

Implémentation des SGBD

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

Gestion répartie de données - 1

Bases de données avancées Concurrence d'accès et reprise

Module BDR Master d Informatique (SAR)

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

Haute disponibilité avec PostgreSQL

Cours Bases de données

Données Réparties. Thibault BERNARD.

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

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

Cours de Systèmes d Exploitation

Architectures haute disponibilité avec MySQL. Olivier Olivier DASINI DASINI - -

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

Gestion répartie de données - 1 Duplication et cohérence

Bases de Données Réparties

TP Contraintes - Triggers

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

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

Systèmes de fichiers répartis

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

Module BDR Master d Informatique (SAR)

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

FAMILLE EMC RECOVERPOINT

PostgreSQL. Formations. Catalogue Calendrier... 8

Systèmes de gestion de code source

Cohérence des données dans les environnements d édition collaborative

VIII- Circuits séquentiels. Mémoires

Differential Synchronization

La réplication sous SQL Server 2005

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

Big Data. Les problématiques liées au stockage des données et aux capacités de calcul

Technologie data distribution Cas d usage.

Le modèle client-serveur

Les systèmes de gestion de version

Systèmes et algorithmes répartis

TARGET SKILLS PlanningPME

Evidian IAM Suite 8.0 Identity Management

Optimisations des SGBDR. Étude de cas : MySQL

ORDONNANCEMENT CONJOINT DE TÂCHES ET DE MESSAGES DANS LES RÉSEAUX TEMPS RÉELS 4. QUELQUES EXEMPLES DU DYNAMISME ACTUEL DU TEMPS RÉEL

UNION INTERCEPT SELECT WHERE JOINT FROM ACID

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

Hibernate vs. le Cloud Computing

Vous êtes bien à la bonne présentation, c est juste que je trouvais que le titre de cette présentation étais un peu long,

Version 7.1. Pour Windows 2008, 2003, 2000, Vista, SEVEN, XP, Windows Mobile 5.x, 6.x / 2003, CE GUIDE TECHNIQUE

LIVRE BLANC PRODUIT. Evidian SafeKit. Logiciel de haute disponibilité pour le clustering d application

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

Année Universitaire 2009/2010 Session 2 de Printemps

Continuité d activité : le choix des armes

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

Partage avec collaboration Important : Ce type de partage exige la connexion à un serveur CmapServer.

Le Network File System de Sun (NFS)

Gestion des réunions dans Outlook 2007

Logiciel de Gestion de la Relation Client

Les systèmes de base de données temps réels. Pokrovskaya Natalia, Kabbali Nadia

SQL SERVER PRECONISATIONS A L INSTALLATION.2 VERIFICATION INSTALLATION...2 CONNEXION RESEAU.4 EMPLACEMENTS DOSSIERS & SAUVEGARDES...

Intégrité des données

Information utiles. webpage : Google+ : digiusto/

ITIL Gestion de la continuité des services informatiques

Service WEB, BDD MySQL, PHP et réplication Heartbeat. Conditions requises : Dans ce TP, il est nécessaire d'avoir une machine Debian sous ProxMox

Un concept multi-centre de données traditionnel basé sur le DNS

Cours 8 Not Only SQL

PostgreSQL. Formations. Calendrier... 14

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

Synchronisation Mysql (Replication)

PROJET 1 : BASE DE DONNÉES REPARTIES

Configuration de SQL server 2005 pour la réplication

Corrigé de l'atelier pratique du module 8 : Implémentation de la réplication

Transactionnel et transactionnel réparti. Source R.CHEVANCE G.Gardarin

Protocoles d authentification

SYSTÈME DE GESTION DE FICHIERS

C-JDBC. Emmanuel Cecchet INRIA, Projet Sardes.

Tenrox. Guide d intégration Tenrox-Salesforce. Janvier Tenrox. Tous droits réservés.

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

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

Unitt Zero Data Loss Service (ZDLS) La meilleure arme contre la perte de données

Mini-projet systèmes & réseau serveur de «tchatche»

SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE

Démos Reporting Services Migration vers SQL2008

Introduction. Introduction. Haute disponibilité et capacité à monter en charge

Gestion des bases de données

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

Cohérence de Données en Environnement Mobile

Eléments de spécification des systèmes temps réel Pierre-Yves Duval (cppm)

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

Procédure d'installation de SQL Server Express 2008

Introduction. René J. Chevance

Sécurisation du réseau

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL

Systèmes et algorithmes répartis

Transcription:

Réplication des données Christelle Pierkot FMIN 306 : Gestion de données distribuées Année 2009-2010

Echange d information distribuée Grâce à un serveur central Une seule copie cohérente Accès à distance Gestion centralisée Connexion permanente Par la réplication Une copie sur chaque machine Accès local Multimaîtres Mode déconnecté

Réplication des données Avantages Disponibilité des données Favorise le partage et le parallélisme Améliore les performances d accès aux données Inconvénients Gestion complexe des mises à jour Vérification de la cohérence entre les données répliquées et les données de référence => Echanges de messages entre sites

Organisation de la réplication Placement (Comment les copies sont situées sur le réseau?) Réplication Totale Réplication Partielle Configuration (Quelles sont les copies qui sont modifiables?) Mono-Maître ou copie primaire Multi-Maîtres

Propagation des mises à jour (1/2) Responsabilité (Qui déclenche la propagation des mises à jour?) Mode Push Mode Pull Déclenchement (Quand la propagation des maj sera déclenchée?) A la demande Dès que possible Périodiquement

Propagation des mises à jour (2/2) Communication (Comment la propagation est effectuée?) Point à point Multicast Contenu (Quelle est la nature du contenu propagé?) Données Opérations Transactions Message

Cohérence des répliques Cohérence transactionnelle A : Atomicité C : Cohérence I : Isolation D : Durabilité Cohérence mutuelle Convergence des répliques

Problème de la cohérence Copie de Paul Ecrire Lire Paul Copie de Jeanne Ecrire Lire Jeanne

Cohérence des répliques : solutions Cohérence forte : Réplication synchrone Lorsqu on veut que toutes les données réparties aient à chaque instant la même valeur Les mises à jour sont prises en compte immédiatement sur les autres sites Cohérence faible : Réplication asynchrone Lorsqu on veut pouvoir à tout instant, accéder, créer, modifier ou encore supprimer une données, quelque soit le site Transaction effectuée sur un site et propagée ensuite aux autres Les données peuvent diverger ponctuellement

Réplication synchrone (1/4) Lorsqu on veut que toutes les données réparties aient à chaque instant la même valeur Propagation intégrée à la transaction Données à jour Cohérence garantie A tout moment Sur tous les sites Nombreux échanges Utilisation de verrous

Exemple de réplication synchrone Copie de Paul Ecrire Ecrire Paul OK OK Non OK Copie de Jeanne Ecrire Jeanne

Réplication synchrone (2/4) Réplication mono-maitre synchrone Coté Maître Lecture =>Traitement local + Réponse Ecriture Traitement local Transmission Réponse Coté Esclaves (ou cibles) Lecture => Traitement local + Réponse Ecriture provenant d une application => Refus Ecriture provenant du maître => Traitement

Réplication synchrone (3/4) Réplication multimaîtres synchrone Lecture => Verrou local, lecture locale, réponse Ecriture provenant d une application Verrou local, écriture locale, transmission aux autres maîtres, attente des OK Ecriture venant d un autre maître Verrou local, écriture locale, réponse

Réplication synchrone (4/4)

Protocoles de réplication synchrone ROWA : Read Once, Write All Lire la copie sur le site i Transmettre écriture à tous les autres sites Attendre réponse sites OK validation de la transaction sur tous les sites Non OK, transaction annulée Bloquant dès qu un site est en panne ROWAA : ROW All Available Transmettre seulement aux sites disponibles Quorum Introduction de la notion de poids Généralisation de ROWA

Réplication asynchrone (1/6) Transaction validée sur un site Mises à jour propagées ensuite sur les autres sites dans une autre transaction Disponibilité des données Temps de réponse des transaction Non cohérence immédiate des copies Divergences possibles entre les répliques

Réplication asynchrone (2/6)

Réplication asynchrone (3/6) Réplication mono-maitre asynchrone Coté Maître Lecture locale + réponse Ecriture : locale + réponse Validation locale Transmission aux autres sites Coté Esclaves Lecture locale + réponse Ecriture venant d une application : Refus Ecriture venant du maitre : Traitement Validation locale Sérialisation des transactions Exécution selon un ordre compatible avec l ordre du site maitre Panne du site maitre => Données non disponibles Eloignement du site maitre =>cout de communication

Réplication asynchrone (4/6) Réplication multimaîtres asynchrone pessimiste Divergence ponctuelle des copies Données modifiées localement Contrôle des incohérences a priori Utilisation de contraintes et verrous appliqués sur les communications entre répliques Illusion pour l utilisateur qu il n existe qu une seule copie Difficilement utilisable en mode déconnecté Mort des verrous, latence

Exemple de protocole pessimiste

Réplication asynchrone (6/6) Réplication multimaîtres asynchrone optimiste Mise à jour libre sur chaque site Envoi des mises à jour aux autres répliques Intégration de toutes les écritures a priori Contrôle de cohérence a postériori sur chacune des répliques Détection des conflits lors de la synchronisation Utilisation de procédures de réconciliation des écritures divergentes Mode déconnecté, coopération N impose pas de contraintes entre les sites Difficulté de maintenir la cohérence entre répliques Explosion combinatoire des possibilités de réconciliation. Comment on réconcilie? Objectif : Cohérence et convergence à terme

Exemple de protocole optimiste??

Les conflits (1/8) Lecture sale E1(x), L2(x),a1 La transaction T2 a lu un état de x qui n existe pas Exemple x = 100 T1 = modifier(x,200) => x1= 200 T2 => x2= 200 a1 => x =100 x2 = 200 alors que x = 100

Les conflits (2/8) Lecture non répétable L1(x), E2(x), c2, L1(x) La transaction T1 lit deux valeurs différentes de x Exemple x=100 T1 => x1 = 100 T2 = modifier(x,200) => x2 = 200 c2 => x = 200 T1 => x1 = 200

Lecture fantôme Les conflits (3/8) Contrainte x=y L1(x), E2(x), E2(y), c2, L1(y) La contrainte n est pas respectée Exemple x = y = 100 L1(x) => x1 = 100 E2(x) = modifier(x,200) => x2 = 200 E2(y) = modifier(y,200) => y2 = 200 c2 => x, y = 200 L1(y) => y1 = 200 Contrainte non respectée pour T1

Les conflits (4/8) Ecriture fantôme Contrainte x =y L1(x), L2(y), E1(y), E2(x) Exemple x=y = 100 L1(x) => x1 = 100 L2(y) => y2 = 100 E1(y) = modifier(y,200) => y1 = 200 E2(x) = modifier(x, 200) => x2 = 200 Violation de contrainte : x1 y1 et x2 y2

Les conflits (5/8) Ecriture perdue L1(x), E2(x), E1(x), c1 T1 écrase la mise à jour de T2 Exemple x = 100 T2 = Modifier(x,200) => x 2 = 200 T1 = Modifier(x,300) => x 1 = 300 C1 => x=300 x = 300 Perte de x = 200

Les conflits (6/8) Ecriture sale E1(x), E2(x), a1, c2 Mauvaise valeur de x Exemple x = 100 T1 = Débiter(x,300) => x 1 = -200 T2 = Créditer(x,500) => x 2 = 300 a1 => x=100 c2 => x=300 x = 300 alors que x = 600

Les conflits (7/8) Détection des conflits Conflits de mise à jour Mise à jour simultanée du même objet Conflits d unicité Contrainte d intégrité non respectée Conflit de suppression Accès à un objet n existant plus

Les conflits (8/8) Résolution des conflits : Réconciliation Manuelle Administrateur de la BD Automatique Ecraser, ignorer Priorité de site Estampille Pour les types numériques : moyenne, min, max, Spécifique à l application Procédure stockée

Exemples : Oracle Réplication d un ensemble de tables sur plusieurs serveurs Asynchrone mono-maître ou multimaîtres selon la configuration Opérations : Mise à jour, Insertion, Suppression Propagation : Mode Push et Pull Gestion des conflits Détection automatique intra table Détection manuelle inter table Résolution automatique pour les conflits de mise à jour Résolution manuelle pour les autres

Exemples : POSTGRESQL Slony 1 réplication asynchrone mono-maitre Opérations : Mise a jour, Insertion, Suppression Gestion des conflits à la charge de l utilisateur Slony 2 Réplication synchrone multimaîtres Opérations : Mise à jour, Insertion, Suppression Gestion des conflits Laissée à la charge de l utilisateur Grâce à des règles prédéfinies

Exemples : MYSQL Tous les objets sont répliqués Réplication asynchrone mono-maître Opérations : Mise à jour, Insertion, Suppression Gestion des conflits à la charge de l utilisateur

Exemple : SQL SERVER 2000 Réplication asynchrone multimaîtres Opérations : Mise à jour, Insertion, Suppression Propagation : Push et Pull Gestion des conflits automatique mais résolution uniquement via un serveur dédié

C est fini pour aujourd hui ;-)