Vers la Réplication Universelle

publicité
République Algérienne Démocratique et Populaire
MINISTERE DE L’ENSEIGNEMENT SUPERIEUR ET DE LA RECHERCHE SCIENTIFIQUE
UNIVERSITE D’ORAN ES-SENIA
FACULTE DES SCIENCES
DEPARTEMENT INFORMATIQUE
THÈSE
PRESENTEE PAR
Mr Ali BELKACEMI
Pour obtenir le Diplôme de Magistère
Spécialité : Informatique
THEME
BASES DE DONNEES
TITRE
Vers la Réplication Universelle
Date de Soutenance : 11 juin 2008
Composition du Jury :
Président
: Pr. D. Benhamamouch
Examinateurs : Dr. S. Nait Bahloul
Pr. H. Haffaf
Dr. M. Ouali
Directeur de Thèse
: Pr. M. K. Rahmouni
˜ REMERCIEMENTS ™
Mes premiers remerciements vont aux membres du jury :
Monsieur Benhamamouche Djillali, Professeur au département d’informatique – faculté
des sciences Es-Sénia Oran pour l’honneur qu’il me fait de présider ce jury.
Monsieur Haffaf Hafid, Professeur au département d’informatique – faculté des
sciences Es-Sénia Oran d’avoir bien voulu apporter son jugement sur cette thèse. Je tiens à lui
exprimer toute ma gratitude pour l’intérêt qu’il porte à mon travail.
Melle Nait Bahloul Safia, Maître de conférences au département d’informatique –
faculté des sciences Es-Sénia Oran qui me fait honneur de juger mon travail.
Monsieur Ouali Mohamed, Chargé de cours au département d’informatique – faculté
des sciences Es-Sénia Oran, qui me fait l’honneur de participer à ce jury. Je le remercie
également pour l’aide, les conseils et la confiance qu’il m’a apportés.
Monsieur Rahmouni Mustapha Kamel professeur au département d’informatique –
faculté des sciences Es-Sénia Oran, qui m’a encadré. Je lui suis reconnaissant pour sa
disponibilité, ses conseils et sa gentillesse dont il a fait preuve. Je ne saurai jamais lui
exprimer toute ma gratitude pour avoir été mon encadreur, mais aussi une personne sur
laquelle j’ai toujours pu compter.
Outre les membres du jury, mes remerciements vont a :
Mademoiselle Bendida Nacera, pour la disponibilité et l’efficacité dont elle a fait preuve.
Monsieur Izza Rabah et Fatmi Mohamed pour leur soutien.
Melle Zegai Imène pour sa disponibilité.
Enfin, je n’oublierai pas mes familles, en particulier
— Maman, pour s’être occupée de moi et qui m’a permis de conquérir le monde
adulte.
— Ma femme et mes enfants pour l’amour et la fierté qu’ils éprouvent envers moi.
N’oubliez pas je serai toujours la pour vous.
L’informatique c’est génial ………
Mais quand ça fonctionne .
Introduction Générale……………………………………………………….……….. 1
Chapitre I
Bases de Données et SGBD
I.1 Première définition de la réplication……………………………………………………...5
I.2 Notion de Base de Données………………………………………………………………...5
I.2.1 Définitions………………………………………………………………………………..5
I.2.2 Analyse de la définition…………………………………………………………………..6
I.2.3 Objectifs liés a la définition………………………………………………………6
I.3 Le Système de gestion de bases de données ou SGBD……………………………..7
I.4 Vers un SGBD Idéal………………………………………………………………...8
I.5 Conclusion………………………………………………………………………………...10
Chapitre II
De la Sauvegarde Vers la Réplication
II.1 Introduction……………………………...………………………………………..12
II.2 Copie ou sauvegarde ?............................................................................................12
I
I
.
3
Finalité …………………………………………...……………………………...13
II.4Critères de choix…………………………………………………………………..13
II.5 Stratégies de sauvegarde…………………………………………………………14
II.6 Sauvegarde sur serveur…………………………………………………………14
II.7 Sauvegarde sur système client……………………………………………………15
II.8 Sauvegarde sur Internet…………………………………………………………15
II.9 Méthodes de sauvegarde les plus courantes…………………………………...…………16
II.10 Mécanisme…………………………………………………………………….17
II.10.1 Sauvegarde complète………………………………………………………….17
II.10.2 Sauvegarde différentielle……………………………………………………17
II.10.3 Sauvegarde incrémentale……………………………………………………..18
II.11 Pourquoi sauvegarder …………………………………………………………18
II.11.1 Sauvegarde informatique face aux virus…………………………………….18
II.11.2 Sauvegarde informatique face aux SPYWARES……………………………19
II.11.3 Sauvegarde informatique Face aux pannes………………………………….19
II.12 Limites de la sauvegarde………………………………………………………20
II.13 Conclusion……………………………………………………………………..21
Chapitre III :
La Réplication Classique
III.1 Introduction………………..…………………………………………………….23
III.2 Cas application n’utilisant ...pas de réplication………………………………….24
III.3 Cas application utilisant la réplication…………………………………………..25
III.4 Fonctionnalités…………………………………………………………………..25
III.5 Objectifs de la réplication……………………………………………………......25
III.6 Répliquer Quoi ?....................................................................................................25
III.6.1 Base de données Maître « Replica maître »…………………………………...26
III.6.2 Base de données Replica « Replica abonné »…………………………………26
III.7 Comment Répliquer ?............................................................................................26
III.7.1 réplication mono directionnelle (asymétrique)………………………………...27
III.7.2 réplication bi directionnelle (symétrique)……………………………………..27
III.8 Méthodes de propagation………………………………………………………..28
III.8.1 Mise a jour synchrone (temps réel)…………………………………………....28
III.8.2 La mise a jour asynchrone…………………………………………………......28
III.8.3 Les différents types de réplication……………………………………………..28
III.8.3.1 Réplication asymétrique synchrone………………………………………….29
III.8.3.2 Réplication symétrique synchrone…………………………………………..29
III.8.3.3 Réplication asymétrique asynchrone………………………………………...29
III.8.3.4 Réplication symétrique asynchrone………………………………………….30
III.9 Quels sont les moyens de réplications ?................................................................31
III.10 Solutions existantes…………………………………………………………….33
III.11 Limites de la réplication classique…………………………………………......33
III.12 Conclusion……………………………………………………………………...34
Chapitre IV :
Vers la réplication Universelle
IV.1 Introduction …………………………………………………………………......36
IV.1.1Définition………………………………………………………………………36
IV.1.2 Principe de fonctionnement…………………………………………………...36
IV.1.3 Présentation de l’UDR (Universal Data Réplication) ………………………...37
IV.1.4. UDR puissance et facilités……………………………………………………38
IV.1.5 l’UDR : media hétérogènes, connexion hétérogènes…………………………39
IV.2 Notion ODBC……………………………………………………………………40
IV.2.1 Inconvénients de la technologie ODBC……………………………………….41
IV.2.2 Pilotes ODBC par défaut………………………………………………………41
IV.3 Nom des sources de données (DSN).........................................................41
IV.4 Déclaration de la source de données…………………………………………….42
IV.5 Introduction OLEDB…………………………………………………………….45
IV.6 TCP/IP…………………………………………………………………………...45
IV.7 Accès aux bases tierces………………………………………………………….46
IV.7.1 Accès natif……………………………………………………………………..46
IV.7.2 Accès par un driver ODBC direct……………………………………………..46
IV.7.3 Accès ODBC via le provider OLE DB………………………………………..47
IV.7.4 Accès par un provider OLE DB……………………………………………….47
IV.8 Comment utiliser le Driver ODBC………………………………………………47
IV.9 Les journaux …………………………………………………………………….48
IV.9.1 Journaux relatifs aux traitements……………………………………………...48
IV.9.1.1 définition…………………………………………………………………..48
IV.9.1.2 contenu du journal …………………………………………………………..48
IV.9.1.3 les types de journaux ………………………………………………………..49
IV.9.2 journaux propres a la réplication………………………………………………50
IV.10 Contraintes pour réussir la réplication……………………………………….50
IV.11 Notion de déclencheurs (triggers)…..…………………………………………51
IV.1.2 Définition……………………………………………………………………...51
IV.1.3 Intérêts des triggers……………………………………………………………52
IV.1.4 Manipulation des triggers……………………………………………………...52
IV.1.4.1 Procédure associée………………………………………………………...52
Chapitre V :
Solution technique
V.1 Introduction……………...……………………………………………………….54
V.2 Présentation de la solution……………………………………………………….55
V.2.1 Principe de fonctionnement…………………………………………………….56
V.2.2 Cycle de vie………………………………….……………………………….57
V.3 Plateformes de développement…………………………………………………..58
V.4 Enchaînement des traitements…………………………………………………..58
V.4.1 PHASE : Description générale………………………………………………...59
V.4.2 PHASE : Description utilisateur ……………………………………………...62
V.4.3 PHASE : Génération…………………………………………………………..63
V.5 L’Edition d’une réplication ……………………………………………………...67
V.6 Sauvegarder...........................................................................................................67
V.7 Suppression de projet …………………………………………………………...67
V.8 Mise à niveau ………………………………………………………………...67
V.9 Description de l’analyse………………………………………………………68
V.9.1 Dictionnaire des rubriques…………………………………………………….68
V.9.2 Liste des fichiers………………………………………………………………68
V.10 Traitement associé à la réplication……………………………………………75
V.10.1 Traitement Trigger avant……………………………………………………75
V.10.2 Traitement Trigger après……………………………………………………76
C o n c l u s i o n G é n é r a l e …………………………………………………………………80
Glossaire. ……………………………………………………………………………..82
Bibliographie…….………………………………………………………………….90
1ntroduction Générale
Vers la Réplication Universelle
Le monde évolue, la technologie évolue.
Le marché des systèmes de gestion des bases de données ne cesse de s’enrichir
(ORACLE, MYSQL, DB2, INFORMIX, INGRES ….)
Les systèmes d’exploitation (dos, win30…windows95…, vista, Linux.)
Les réseaux ne font pas exception (local, intranet, Internet)
Les media aussi (disquette, lecteur zip, CD, DVD, clé USB)…
Aujourd'hui, les bases de données sont de plus en plus utilisées au fur et à
mesure que le monde informatique se développe et que les flux de données
augmentent sur Internet. Ainsi, il y a un plus gros besoin de transférer des données
entre bases de données. La synchronisation est une solution efficace à ces
problématiques. Elle est particulièrement utile dans des situations telles que la
sauvegarde de données, synchroniser des bases de données qui ont été modifiées sur
différents serveurs, ou encore envoyer à un utilisateur seulement les données dont il a
besoin.
Problématique
De nombreux outils de synchronisation sont déjà fournis par des serveurs de
base de données tels que Microsoft SQL Server et Oracle. Ce sont des solutions
performantes et intégrées mais elles ne fonctionnent qu'à l'intérieur de leur propre
système. Le besoin des entreprises de communiquer à l'extérieur de leur structure
(avec des clients et des fournisseurs par exemple) amène à synchroniser des données
entre bases de données de différentes organisations et qui peuvent donc être
hétérogènes (SGBD).
Il est évident qu’il n’existe pas actuellement d’outils universels permettant de
synchroniser les données entre plusieurs bases de données évoluant dans divers SGBD.
Cette thèse s’attaque à l’analyse, la conceptualisation et la mise en uvre d’une
technique de réplication originale permettant de faire communiquer plusieurs SGBD,
sites, média, types de réseaux et systèmes d’exploitation. Cette technique permet de
rendre transparent toutes les interactions entre les sites, média, types de réseaux et
systèmes d’exploitation [CHA84]. Il devient désormais suffisant pour le concepteur de
connaître un SGBD, un système d’exploitation pour pouvoir communiquer avec
d’autres SGBD.
Éléments de réponse
La première idée qui nous est venue à l’esprit c’est de passer par un format
intermédiaire universel tel que XML, Excel, etc. Dans ce cas, la base de données
d’origine est importée sous le format universel, traitée, puis reconvertie dans son
format d’origine. Cependant, nous avons vite abandonné cette idée car elle présente
plusieurs inconvénients, entre autres, elle ne permet que la réplication asynchrone, et
le temps de transformation est considérable, posant un problème de performance.
1
1ntroduction Générale
Vers la Réplication Universelle
Dans le but de surmonter les difficultés posées par notre objectif de réplication
multi SGBD, multi systèmes d’exploitation, multi supports, multi sites, tout en gardant
un niveau de performance acceptable, nous suggérons de mettre au point un système
utilisant les technologies existantes. Ce système ne peut se réaliser que par
l’intermédiaire de deux modules différents :
Ä L’interface d'administration est un programme qui permet de configurer et
de gérer efficacement un nombre infini de réplications. Il donne la
possibilité, pour chacune d'entre elles, de définir quelles bases de données
sont concernées, quelles données doivent être répliquées et enfin quand et à
quelle fréquence la tâche doit être effectuée [GRA07, SSP06].
Ä Le serveur de réplication est en fait un programme tournant en permanence.
Il récupère le planning de réplications depuis l'interface puis initie par luimême l'exécution des tâches en fonction de ce planning.
Vu la difficulté du projet, on se limitera au développement de la première
partie, puis on donnera une idée sur la deuxième partie.
Cette thèse est organisée de la façon suivante :
Ä le chapitre I traite des notions de bases de données et des systèmes de
gestion de bases de données (SGBD) ; il permet de situer les bases de
données par rapport aux SGBD et montre les principales
fonctionnalités d’un SGBD puis met en relief les principaux critères
de choix d’un SGBD ;
Ä le chapitre II permet de mieux situer la copie par rapport à la
sauvegarde et la sauvegarde par rapport à la réplication ; il fait aussi
ressortir le caractère sécuritaire de la sauvegarde et, par conséquent,
de la réplication ; des éléments de synthèse sont présentés à la fin du
chapitre montrant les avantages de la réplication par rapport à la
sauvegarde ;
Ä le chapitre III présente les méthodes de réplication qualifiées de
classiques tout en introduisant le langage propre à la réplication
(réplica maître, réplica abonné, bidirectionnelle, monodirectionnelle,
synchrone, asynchrone) ; les discussions à la fin du chapitre montrent
la limite de la réplication classique et ouvrent les perspectives de la
réplication universelle ;
2
1ntroduction Générale
Vers la Réplication Universelle
Ä le chapitre IV présente l’UDR (Universal Data Replication) comme
solution à la réplication universelle ; il définit le contexte de
l’universalité considéré (SGBD, supports, systèmes d’exploitation,
modes d’accès) ; par ailleurs, il met en relief un réplica maître
évoluant dans un SGBD « x » par rapport aux réplicas abonnés
chacun défini dans un SGBD différent ; une solution globale de la
réplication universelle est présentée permettant l’automatisation des
procédures de la mise en uvre et la mise en place de la réplication
UDR ;
Ä le chapitre V présente la solution technique de la réplication
universelle UDR tout en pensant à une extension vers l’UDR+, qui
poursuit l’ouverture du serveur de réplication par rapport à plusieurs
bases de données ;
Ä une conclusion générale synthétise les travaux présentés dans cette
thèse et ouvre d’autres perspectives (vers la réplication « update »).
3
Bases de Données et
Systèmes de Gestion de Bases de Données
Chapitre 1
Bases de données et SGBD
I.1 Première définition de la réplication (dictionnaire phpmyvisites)
La réplication désigne le procédé par lequel on produit une copie d’une base de
données dans une autre base de données. Par conséquent elle a tendance à améliorer
la tolérance aux pannes [BHG87, HT94, SCH90].
Cette première définition met en évidence trois mots clés : base de données,
copie et tolérance aux pannes (sécurité informatique) ; il est important pour nous d’en
tenir compte [GHO96].
I.2 Notion de Base de Données
Qu’est ce qu’un système de gestion de base de données ? [CHA01]
Avant de répondre à la question, il paraît important savoir ce qu’est une base de
données.
• qu’est ce qu’une base de données ?
I.2.1 Définitions
En effet dans différents ouvrages on retrouve différentes définitions d’une
base de données.
Parmi ces définitions, nous avons retenu celles qui sont les plus explicites
[TOM85].
* « une base de données est une collection de données opérationnelles liées par
des relations »
* « une base de données est une collection de données en relation mutuelle sans
redondance nuisible ou inutile, pour être utilisées dans de multiples applications ; les
données sont enregistrées de telle sorte qu’elles soient indépendantes des programmes
qui les utilisent ; une approche commune et contrôlée est utilisée pour ajouter de
nouvelles données et modifier ou retrouver des données existantes dans la base de
données .Les données sont structurées pour servir de base de développement de futures
applications .Un système est dit contenir une collection de bases de données si cellesci ont leurs structures complètement séparées.
* « une base de données informatique est un ensemble de fichiers informatiques
sur lequel sont basées toutes les activités d’une organisation et dans lequel est placée
une grande confiance sur la disponibilité et l’exactitude ».
5
Chapitre 1
Bases de données et SGBD
* « dans une organisation une base de données est essentiellement un outil
communautaire. Contrairement à l’approche traditionnelle ou chaque application crée
ses propres fichiers et vit de manière relativement isolée, l’approche base de données
consiste à définir pour un ensemble d’applications ayant un univers de référence
commun, une structure susceptible d’optimiser de manière globale le système
d’information ».
I.2.2 Analyse de la définition
Une base de données est donc un ensemble, au sens mathématique, de données.
Physiquement, cet ensemble de données a la forme d’une collection d’informations
[KP97]. Ces informations seront enregistrées sur des supports informatiques. Les
méthodes de codages des informations, ainsi que les méthodes d’écriture et de mise à
disposition de ces informations ne nous préoccuperont pas dans leur aspect physique.
Seul compte le fait que nous associons au concept de base de données l’idée d’une
collection de données disponible, accessible et extensible.
Cet ensemble de données est structuré. Cela signifie que la collection est
organisée. Il existe donc des liens entre les différents éléments. Il est important de
noter que ces relations entre les diverses informations sont autant d’informations
supplémentaires. Une base de données est donc plus riche qu’une accumulation
d’informations, car toute information s’y enrichit des liens qu’elle a avec les autres.
Ces liens permettent d’accéder plus rapidement et plus facilement à une information à
partir d’une autre.
Donc les bases de données tirent leur richesse des interrelations entre les informations
qu’elles contiennent.
Une base de données aura donc plus d’intérêt de regrouper des données ayant
un dénominateur commun. Cet élément commun est l’application pour laquelle est
construite la base de données.
Le terme application inclut généralement le développement des traitements. Une
même donnée pourra donc être utilisée différemment par plusieurs traitements. Une
base de données unique, regroupant l’ensemble des données, mettra donc à disposition
l’ensemble des informations nécessaires à tous les traitements requis par l’application.
Pour construire une base de données il est nécessaire de répondre aux questions
suivantes :
• quelles peuvent être ces données ?
• quels seront les liens qui les uniront ?
• quels seront les traitements qui les utiliseront ?
6
Chapitre 1
Bases de données et SGBD
I.2.3 Objectifs liés a la définition.
Une base de données :
1. doit pouvoir être utilisée en mode interactif et en mode batch
2. doit permettre l’indépendance des données et des traitements
3. doit permettre tout accès prévu à une donnée.
4. doit permettre le contrôle des accès aux données.
5. n’est pas figée mais évolutive. Cet ensemble peut être restructuré.
I.3 Le Système de gestion de bases de données ou SGBD fourni avec le LDD
(Langage de description de données) et le LMD (langage de manipulation
de données)
Un SGBD peut être vu comme un ensemble d’utilitaire permettant d’effectuer les
opérations décrites précédemment. Ces opérations peuvent être regroupées à travers
une explication du verbe gérer [KP97].
Gérer = Construire+Utiliser+Maintenir+Réorganiser.
1. Construire (LDD)
Le SGBD doit offrir les moyens de créer la base de donnés. Le SGBD doit fournir
les moyens pour pouvoir implanter physiquement les données (partie physique) et
décrire les liens qui les unissent (partie logique).
2. Utiliser (LMD)
La finalité d’une base de données est de mettre à disposition des informations. Les
données devront être accessible en mode interactif ou en mode batch. Par conséquent :
Le SGBD doit fournir les outils de consultation et de mise à jour.
Le SGBD doit assurer les fonctions de contrôle de données et contrôles des accès
concurrents.
7
Chapitre 1
Bases de données et SGBD
3. Maintenir (utilitaires)
La crédibilité d’une base de données repose sur sa cohérence. Le SGBD aura donc
pour fonction de maintenir la base dans un état cohérent et, à défaut, offrir les moyens
de générer la base à partir d’une sauvegarde.
4. Réorganiser (LDD)
Réorganiser signifie remettre en question, au moins modifier ce qui a été construit.
Le SGBD doit donner les moyens de réorganiser physiquement, logiquement les
données.
I.4 Vers un SGBD Idéal
Vu la concurrence des SGBD existant dans le marché, un choix s’impose, nous nous
contentons d’énumérer les points déterminants :
Critères pouvant participer à l'évaluation d'un SGBD [TRI93]
-
gestion de l’espace disque
-
gestion des clés primaires et secondaires
-
gestion des liaisons inter fichiers
-
gestion du dictionnaire de données
-
restructuration des données et optimisation
-
journalisation et reprise des incidents
-
portabilité des programmes et fichiers d’une version à l’autre
Ä Le système induit une certaine centralisation (une seule et même base
pour tout le monde); on peut donc réduire les redondances, et veiller à leur
cohérence (une mise à jour est faite pour tout le monde et non pas
uniquement pour celui qui en est à l'origine).
Ä le système supporte au moins un modèle (abstrait) de données ;
Ä indépendance physique: le stockage physique des données dépend
uniquement du site sur lequel elles sont implantées et tient compte des
critères de performances [CT92, ACL87, JA91], facilités d'accès,
encombrement des volumes...
Ä indépendance logique: les données manipulées modélisent une certaine
réalité perçue de façon différente suivant les utilisateurs; ainsi chacun doit
pouvoir appréhender sa propre vision du réel au travers de la base (ne voir
qu'une partie des données, les associer de manière différente...);
8
Chapitre 1
Bases de données et SGBD
Ä Environnement de développement non procédural: l'utilisateur doit
spécifier ce qu'il désire extraire de la base et non comment l'extraire (QUOI
et non COMMENT); les applications sont indépendantes des chemins
d'accès. La complexité des systèmes sous-jacents impose pratiquement un
langage de requêtes; c'est donc au système d'effectuer la conversion et
d'optimiser la procédure interne de réponse à la requête); ces indépendances
facilitent l'évolutivité des applications;
Ä Convivialité permettant la manipulation de la base pour des utilisateurs
banalisés en particulier non informaticiens;
Ä Les garanties au niveau de la sécurité et de l'intégrité des données sont
prises en charge automatiquement: les accès sont restrictifs (tout le monde
n'a pas accès à tout), différents niveaux d'autorisation sont possibles (d'où
confidentialité); les données entrées dans la base passent par un crible qui
en assure l'intégrité;
Ä Gestion des accès concurrents, notion de transaction; partageabilité:
utilisation transactionnelle en temps réel dans un environnement multiutilisateurs; ces possibilités ont à la base de certains types d'applications
dans le domaine de la banque, de systèmes de réservations...
Ä Sécurité contre les destructions: journalisation, sauvegarde, reprise après
panne;
Ä Standardisation des systèmes permettant une portabilité maximale des
données et des applications;
Ä Administration: seul l’administrateur (*) a tous les droits sur la base: il l'a
créée, suit son évolution, gère les sauvegardes, ajuste les paramètres du
système, accorde les droits d'accès, résoud les conflits ; il est le responsable
de l'efficacité des accès et de la sécurité des données.
(*) L’administrateur de la base étant la personne ou le groupe de personnes qui ont la
responsabilité du contrôle général du SGBD.
9
Chapitre 1
Bases de données et SGBD
I.5 Conclusion
En résumé nous dirons que :
Une base de données est un ensemble structuré de données.
Le SGBD est un logiciel permettant la gestion de la base de données.
Pour conclure ce chapitre, nous dirons que si la base de données est importante, sa
sécurité l’est encore plus. La sécurité étant un domaine tellement vaste que nous nous
limiterons à l’étude de la sauvegarde. Le chapitre suivant lui sera réservé.
10
De la sauvegarde vers la réplication
Chapitre
II
De la sauvegarde vers la réplication
II.1 Introduction
La sécurité informatique est l'ensemble des techniques qui assurent que les
ressources du système d'information (matérielles ou logicielles) d'une organisation
sont utilisées uniquement dans le cadre où il est prévu qu'elles le soient.
Une perte de données accidentelle, un sinistre, ou une attaque virale, peuvent
conduire à la perte de données, et par conséquent nuire au système. C’est à ce moment
là que le système devient vulnérable.
Il est donc nécessaire de prévoir des mécanismes de sauvegarde (backup1), idéalement
sur des sites distants pour garantir la pérennité des données.
II.2 Copie ou sauvegarde ?
- Copier (Dupliquer) : permet de reproduire fidèlement une source de données
(Enregistrement, Fichier,…)
Action
Copier
sauvegarder
Nbre Enregistrement
N
N
Nbre Fichier
N
N
Type
(Donnée, Multimédia)
Quelconque
Support
Quelconque
Quelconque
Durée de Vie
Instantanée
Selon Méthode (*) Utilisée
Quelconque
(*) Voir Chapitre Sauvegarde
1
Mot anglais : consiste à copier des fichiers sur un support.
12
Chapitre
II
De la sauvegarde vers la réplication
La Sauvegarde est une action qui permet de pérenniser la copie
Généralement on parle de sauvegarde lorsque la copie est effectuée dans
un but sécuritaire.
II.3
Finalité [CCM]
Les copies de sûreté sont utiles principalement à deux choses :
Ä La première et la plus évidente est de permettre de restaurer un système
informatique dans un état de fonctionnement suite à un incident (perte d'un
support de stockage tel que disque dur, bande magnétique, etc., ou de tout
ou partie des données qu'il contient).
Ä La seconde, incluse dans la première mais certainement la plus courante, est
de faciliter la restauration d'une partie d'un système informatique (un fichier,
un groupe de fichiers, un système d'exploitation, une donnée dans un fichier,
etc.) suite à une suppression accidentelle ou à une modification non désirée.
La technique la plus fréquente est la recopie des données sur un support
indépendant du système initial (ordinateur local, serveur, etc.).
L'opération inverse qui consiste à réutiliser des données sauvegardées s'appelle
une restauration. On parle de « stockage » pour les données sauvegardées en attente
d'une éventuelle restauration.
II.4 Critères de choix
Le choix d'une technique de sauvegarde se fera en prenant en compte :
Ä la capacité de stockage du support (le volume d'information)
Ä la vitesse de sauvegarde,
Ä la fiabilité du support (notamment après une longue période de stockage),
Ä la simplicité de classement,
Ä la facilité à restaurer les données,
13
Chapitre
II
De la sauvegarde vers la réplication
Ä et bien sûr le coût de l'ensemble.
Intervient également la possibilité de sélectionner les données à sauvegarder.
Enfin pour les grands systèmes de sauvegarde, il faut tenir compte de critères
physiques : volume physique des supports de stockage, poids, sensibilité à la
température, à l'humidité, à la poussière, à la lumière.
II.5 Stratégies de sauvegarde
On distingue la sauvegarde d'un poste individuel et la sauvegarde sur serveur.
L'une et l'autre s'adressent à la même nature d'information (la donnée informatique) et
ont le même objectif (protéger l'information et permettre de la retrouver si elle était
perdue), mais les méthodes de sauvegarde sont différentes pour plusieurs raisons :
Ä les données sur poste client sont réputées moins importantes que les
données gérées sur des systèmes centraux ;
Ä les utilisateurs sont moins sensibilisés au risque de perte de données que
les professionnels de l'informatique ;
Ä ils ont également moins de formation sur les techniques de sauvegarde ;
Ä les moyens techniques sont moins développés sur poste individuel que
sur serveur, même si des progrès importants ont été réalisés ces dernières
années (chute du rapport coût/volume des supports de sauvegarde,
simplification des interfaces de sauvegarde, sauvegarde sans intervention
de l'utilisateur, etc.)
De fait, la sauvegarde des données des postes individuels reste marginale dans
la stratégie d'utilisation des ordinateurs. Cependant, les entreprises, en généralisant
l'usage des micro-ordinateurs et du partage des ressources en réseau, ont ressenti un
besoin de sécurité qui a favorisé le développement d'outils de sauvegarde sur microordinateurs, lesquels gagnent petit à petit le monde de la micro-informatique
personnelle.
II.6 Sauvegarde sur serveur
La sauvegarde s'inscrit dans une démarche plus globale qui consiste à assurer la
continuité d'activité d'un système informatique ou, en cas de défaillance, son
redémarrage le plus vite possible. Cette démarche est souvent formalisée dans un
document qui peut porter des noms divers, par exemple le "PRA" (plan de reprise
d'activité) ou le "PS" (plan de secours), et qui fait appel soit à des automatismes (ex.
donner l'alerte en cas de coupure de courant ou de perte d'accès à une unité de
stockage) soit à des gestes manuels (ex. remplacer des bandes magnétiques
défectueuses). La tendance est à l'automatisation, réputée plus sûre dans les situations
d'urgence que les opérations manuelles.
14
Chapitre
II
De la sauvegarde vers la réplication
En terme de support, les serveurs ont depuis toujours requis des supports à
grande capacité de stockage. La bande magnétique a longtemps été le principal
vecteur, du fait de sa grande capacité, de son coût faible (par rapport aux autres
supports), de sa capacité de réutilisation et de sa relative stabilité au temps et à l'usure.
Puis sont venus les cartouches numériques (bandes magnétiques intégrées dans un
boîtier plastique) les disques durs et plus récemment les médias optiques,
réinscriptibles ou non, tels que les CD-R, DVD-R ou formats similaires.
II.7 Sauvegarde sur système client
Au cours des années 1975–95, la plupart des utilisateurs d'ordinateurs
personnels (PC) associaient principalement le terme "backup" au fait de faire des
copies sur disquettes. Avec le développement de micro-ordinateurs mieux équipés, les
utilisateurs personnels ont adopté des supports plus performants : disques optiques
(CD-ROM ou DVD), Clés USB. De même, les ordinateurs intègrent des fonctions de
sauvegarde de plus en plus évoluées, par exemple :
Ä des outils intégrés au système d'exploitation tels que les "points de
restauration" que l'on peut exécuter avant d'installer un nouveau logiciel
et qui remettront le système en l'état d'avant l'installation si l'utilisateur le
demande ;
Ä des logiciels capables de faire une image parfaite du système à un
moment donné (image appelée un "ghost", mot qui signifie "fantôme" en
anglais) ; cette image sera stockée sur l'ordinateur lui-même ou sur un
support externe.
II.8 Sauvegarde sur Internet
Aujourd'hui, les copies de sûreté dites "en ligne" deviennent populaires et, avec
la banalisation des connexions Internet à large bande et à haut débit, de plus en plus
d’utilisateurs recourent à ce type de service de sauvegarde. Elles consistent à se
connecter à un site Internet, appelé "hébergeur", et à y transférer ses données. Les
avantages sont multiples :
Ä minimiser le risque de perte puisque le site est géré par un professionnel
qui fait lui-même des sauvegardes ;
15
Chapitre
II
De la sauvegarde vers la réplication
Ä accéder à ses données à partir de n'importe quel ordinateur connecté à
Internet ;
Ä souvent le coût de cette prestation est modique, parfois même gratuit
pour les petites sauvegardes.
L'inconvénient majeur est de laisser ses données à disposition d'un tiers qui peut
à loisir les consulter, les modifier, les dupliquer, les publier ou en faire commerce ; et
même les rendre indisponibles (cas des faillites, rachats de sites par des concurrents,
ou différend commercial avec l'hébergeur). Évidemment, des dispositions
contractuelles viennent réguler ces risques mais elles ne peuvent empêcher l'hébergeur
d'agir techniquement de façon malveillante. Une des parades à la consultation abusive
consiste à chiffrer/crypter les données.
Un autre inconvénient vient des limites imposées sur le stockage ou la
récupération des données : pour maîtriser l'usage de ses disques et de sa bande
passante, un hébergeur peut limiter contractuellement son client à un volume de
stockage ou de données consultées au-delà duquel il bloque l'accès aux données.
II.9 Méthodes de sauvegarde les plus courantes
La méthode la plus simple est la sauvegarde complète ou totale (appelée aussi
"full backup") ; elle consiste à copier toutes les données à sauvegarder que celles-ci
soient récentes, anciennes, modifiées ou non.
Cette méthode est aussi la plus fiable mais elle est longue et très coûteuse en
terme d'espace disque, ce qui empêche de l'utiliser en pratique pour toutes les
sauvegardes à effectuer. Afin de gagner en rapidité et en temps de sauvegarde, il existe
des méthodes qui procèdent à la sauvegarde des seules données modifiées et/ou
ajoutées entre deux sauvegardes totales. On en recense deux :
Ä La sauvegarde différentielle
Ä La sauvegarde incrémentielle
La restauration d'un disque avec l'une de ces méthodes s'avère plus longue et
plus fastidieuse puisqu'en plus de la restauration de la sauvegarde différentielle ou des
sauvegardes incrémentielles, on doit également restaurer la dernière sauvegarde
complète. Les fichiers supprimés entre temps seront également restaurés.
Afin de comprendre la différence entre les deux méthodes, nous prendrons l'exemple
d'un plan de sauvegarde selon le cycle suivant :
Ä Une sauvegarde complète au jour J
16
Chapitre
II
De la sauvegarde vers la réplication
Ä Une sauvegarde des fichiers modifiés ou nouveaux du jour J+1 au jour
J+6
Ä Une sauvegarde complète au jour J+7
II.10 Mécanisme
Pour pouvoir différencier ces différentes méthodes de sauvegarde/archivage
(complète, incrémentielle, différentielle), le mécanisme mis en place est l'utilisation
d'un marqueur d'archivage. Chaque fichier possède ce marqueur d'archivage, qui est
positionné à "vrai" lorsque l'on crée ou modifie un fichier. On peut comprendre cette
position comme "Je viens d'être modifié ou créé : je suis prêt à être archivé donc je
positionne mon marqueur à vrai". Ce marqueur est appelé aussi attribut d'archivage (ou
bit d'archivage).
II.10.1 Sauvegarde complète
Lors d'une sauvegarde complète, on va remettre à "0" l'attribut du fichier pour
mémoriser le fait que le fichier a été enregistré. Lorsque l'on travaille avec la date, on
mémorise la date de la dernière sauvegarde de façon à pouvoir différencier les fichiers
qui ont été sauvegardés des autres (date de dernière modification).
Lors d'une sauvegarde complète, tous les fichiers sont sauvegardés,
indépendamment de la position du marqueur (vrai ou faux). Une fois le fichier archivé,
celui-ci se voit attribuer la position de son marqueur (ou son bit) à "faux" (ou à "0").
II.10.2 Sauvegarde différentielle
La sauvegarde différentielle effectue une copie des fichiers créés ou modifiés
depuis la dernière sauvegarde complète, quelles que soient les sauvegardes
intermédiaires. En d'autres termes, la sauvegarde complète du jour J sert de référence
pour identifier les fichiers créés, modifiés ou ajoutés et ainsi ne sauvegarder que ces
derniers du jour J+1 au jour J+6.
La restauration faite à partir de ce type de sauvegarde nécessite la recopie sur
disque de la dernière sauvegarde complète et de la sauvegarde différentielle la plus
récente.
Avec notre exemple, si la restauration se porte sur un disque complet qui a été
sauvegardé le jour J+2, on doit alors recopier sur disque la sauvegarde complète du
jour J et la sauvegarde différentielle du jour J+2 afin d'avoir la dernière version des
données.
17
Chapitre
II
De la sauvegarde vers la réplication
Cependant lorsqu'il s'agit de la restauration d'un fichier ou d'un répertoire qui a
été sauvegardé le jour J+2 seule la dernière sauvegarde, ici la différentielle, est utile.
Lors d'une sauvegarde différentielle, tous les fichiers dont le marqueur est à
"vrai" sont sauvegardés. Une fois le fichier archivé, celui-ci garde la position de son
marqueur tel qu'il l'avait avant la sauvegarde.
II.10.3 Sauvegarde incrémentale
Cette méthode consiste à sauvegarder les fichiers créés ou modifiés depuis la
dernière sauvegarde quel que soit son type (complète, différentielle ou incrémentielle).
Exemple :
Une sauvegarde complète est réalisée le jour J. Le jour J+1, la sauvegarde
incrémentielle est réalisée par référence au jour J. Le jour J+2, la sauvegarde
incrémentielle est réalisée par référence au jour J+1. Et ainsi de suite.
Si la restauration se porte sur un disque complet qui a été sauvegardé le jour
J+4, on doit alors recopier sur disque la sauvegarde du jour J et les sauvegardes
incrémentielles des jours J+1, J+2, J+3 et J+4 afin d'obtenir la dernière version de la
totalité des données.
Cependant, lorsqu'il s'agit de la restauration d'un fichier ou d'un répertoire qui a
été sauvegardé le jour J+3, seule la dernière sauvegarde, ici l'incrémentielle, est utile.
Lors d'une sauvegarde incrémentielle, tous les fichiers dont le marqueur est à
"vrai" sont sauvegardés. Une fois le fichier archivé, celui-ci se voit attribué la position
de son marqueur à "faux".
II.11 Pourquoi sauvegarder
En plus de sa fonction primaire qu’est l’archivage, la sauvegarde peut servir
pour faire face aux dangers suivants :
II.11.1 Sauvegarde informatique face aux virus
Les données de l’entreprise ainsi que tous les travaux sont effacés à jamais. Le temps
que l’entreprise a consacré à ces activités est réduit à néant en une fraction de seconde
à cause du concepteur de virus qui l’a agressée.
18
Chapitre
II
De la sauvegarde vers la réplication
II.11.2 Sauvegarde informatique face aux SPYWARES
Il s'agit de programmes espions qui sont installés sur un pc lors de connexion Internet
et ce, sans l’autorisation du propriétaire du matériel. Ils espionnent le comportement de
l’utilisateur sur le net mais aussi localement sur l’ordinateur en local.
II.11.3 Sauvegarde informatique Face aux pannes
Une panne informatique (détérioration du disque dur, panne système, etc.) peut arriver
au mauvais moment.
F
Ce qu’il faut Retenir :
Avec le développement de l'utilisation d'Internet, de plus en plus d'entreprises
ouvrent leur système d'information à leurs partenaires ou leurs fournisseurs avec tous
les risques que cela comporte.
La sauvegarde informatique a trois principaux objectifs:
Ä L'intégrité: garantir que les données ne soient pas corrompues par un agent
extérieur.
Ä La confidentialité: assurer que seules les personnes autorisées aient accès aux
ressources.
Ä La disponibilité: permettre de maintenir le bon fonctionnement du système
informatique.
Il est important de faire des sauvegardes, car les données sont encore
plus nécessaires que le matériel, pour le bon fonctionnement d’une entreprise.
Remplacer un ordinateur est plus simple que retrouver les données qui y
étaient enregistrées.
19
Chapitre
II
De la sauvegarde vers la réplication
II.12 Limites de la sauvegarde
Bien que la sauvegarde nous permette de transférer les informations d’un Site A
vers le Site B, la continuité dans la maintenance des informations sur le Site B, ne
s’avère valable que si le Site A interrompe son travail.
Illustrons cela par l’exemple suivant :
1er cas : en utilisant la sauvegarde
INSTANT
SITE A
SITE B
T
Sauvegarder
Restaurer
T+1
ARRET
Mise à jour
T+2
Restaurer
Sauvegarde
T+3
Mise à jour
ARRET
Ä La similitude de la Base Site A et celle du Site B n’est assurée que si la phase
« ARRET » est effectuée. Effectivement cette phase permet l’évolution de la
Base dans le temps mais en bloquant des sites.
Ä Les informations contenues dans le site A à l’instant t et celles du site B (t+1)
sont cohérentes, intégres mais non synchronisées.
Ä Pour combler à ce déficit (blocage des sites et similitude des bases de données)
est venue la notion de REPLICATION
LA REPLICATION est une sauvegarde suivie d’une synchronisation
REPLICATION = SAUVEGARDE + SYNCHRONISATION*
*
La synchronisation (du grec sýn « ensemble » et chrónos « temps ») est
l'action de coordonner plusieurs opérations entre elles en fonction du temps
[PHPMYVISITES].
La synchronisation de fichiers a comme objectif de s'assurer que deux endroits, ou
plus, contiennent exactement la même information.
20
Chapitre
II
De la sauvegarde vers la réplication
2ème cas : en utilisant la réplication
INSTANT
SITE A
T
Réplication
T+1
Mise à jour
T+2
Réplication
SITE B
Mise à jour
Réplication
Ä Avec la réplication la base évolue sans aucune contrainte.
Nous qualifierons la sauvegarde comme étant PASSIVE, par contre la
réplication est une sauvegarde ACTIVE
II.13 Conclusion
En plus de ce que nous avons montré, nous dirons que la réplication n’est pas
une sauvegarde car les données sauvegardées ne changent pas, elles sont fixes, par
contre les données répliquées évoluent.
Ce qui nous amène à dire que la réplication est une sauvegarde intelligente des
données.
21
La Réplication Classique
Chapitre III
La réplication classique
III.1 Introduction
La réplication des données est une technique permettant de cumuler plusieurs
avantages sur différents niveaux de la protection et sécurisation des données.
En disposant en local et ou distant d’un système redondant, on peut supporter une
perte de données sans interrompre le travail. Outre son aspect sécuritaire, la réplication
a d’autres objectifs. Voyons pourquoi.
Qu est ce q une base de données répliquée ?
Une base de données répliquée représente une base de données qui est recopiée de
façon identique ou non sur plusieurs sites.
Pourquoi répliquer ?
Considérons le fichier « CLIENT » qui doit être accessible par tous les commerciaux,
aussi bien à partir de leurs portable qu’au siège de la société. Chacun des commerciaux
met à jour le fichier présent sur son portable et régulièrement se met à jour par rapport
à la base de données principale de la société. Deux cas peuvent se présenter :
-
Application n’utilisant pas de réplication (utilisant des réseaux)
-
Application utilisant la réplication
23
Chapitre III
La réplication classique
- schéma illustrant une disponibilité de l’information selon le réseau et la
réplication
E
T
R
O
I
T
E
M
E
N
T
L
I
E
S
I
N
D
E
P
E
N
D
A
N
C
E
REPLICATION
BDD
Principale
Sans Réplication (Réseau)
BDD
Principale
Avec Réplication
III.2 Cas d’application n’utilisant pas de réplication
La base de données est plus souvent accessible par réseau. Le commercial
travaille alors grâce à une connexion par modem au réseau, avec toutes les contraintes
de temps d’accès et de risque. De plus, tous les utilisateurs doivent être connectés au
réseau pour accéder aux données.
24
Chapitre III
La réplication classique
III.3 Cas d’application utilisant la réplication
Chacun des postes distants a sa propre base de données complète. Cette base de
données (Réplica) est identique à la base de données principale, lors de son
initialisation. Les postes évoluent (mettent à jour leurs bases de données), une
synchronisation entre les bases de données permet de prendre en compte les
modification effectuées sur chacune des différentes bases de données. Ce qui nous
conduit à dire que :
III.4 Fonctionnalités
La réplication est une fonctionnalité très puissante. Elle permet de maintenir à
jour des bases de données distantes de structure identiques. Chacune de ces bases
évolue indépendamment.
Grâce à la réplication, les opérations effectuées sur chacune des bases de
données sont reportées sur toutes les autres bases de données.
III.5 Objectifs de la réplication
Ä disponibilité : la base étant présente dans différents sites, l’accessibilité est
préservée, en cas de panne ou catastrophe naturelles.
Ä la performance : les performances sont augmentées, car la charge de travail
est repartie entre les sites.
Ä Trafic réseau : du moment que le travail est reparti (localement), la charge
réseau ne peut que diminuer.
Ä traitement hors ligne : il est possible de travailler sur une machine non
connectée au réseau.
Ä équilibrage des charges : la réplication permet de mieux repartir les données.
Donc la charge de travail du serveur hébergeur de la base de données
principale sera allégée.
III.6 Répliquer Quoi ?
Bien entendu, il s’agit des bases de données, sachant que les bases de données
sont constituées de tables qui elles même sont constituées de tuples on peut faire la
distinction suivante :
-Réplication d’une base de données : c’est procéder à la réplication de toutes ses
tables sans distinction.
-Réplication de tables : on parle de réplication de tables lorsqu’un choix est
proposé, la réplication ne s’applique qu’aux tables sélectionnées.
25
Chapitre III
La réplication classique
-Réplication de tuples : lorsqu’au niveau d’une table on propose des filtres
seulement les tuples filtrés sont concernés par la réplication.
Quelque soit la réplication, il n’y a que la réplication des tuples qui peut être assurée
automatiquement.
La réplication a sa propre terminologie, on distingue la base de données maître
et la base de données esclave [DMMA02, WEN06, WS04, TR06, COR04, MOR07,
MOR07-2].
III.6.1 Base de données Maître « Replica maître »
Appelée aussi base de données de référence ou site primaire. Sur cette base de
données sont effectués toutes les mises à jour :
Ä Celles effectuées sur ce poste
Ä Celles effectuées sur les postes distants et transmises par réplication.
III.6.2 Base de données Replica « Replica abonné »
Appelée aussi esclave ou cible. C’est la base de données distante identique à
celle du maître. Sur cette base de données sont appliquées les modifications effectuées
par le poste distant. La réplication transmet ces modifications à la base de données
« maître ».
Pour des raisons d’uniformité, les termes replica maître et replica abonné seront
utilisés.
III.7 Comment Répliquer ?
Il existe deux types de réplication :
26
Chapitre III
La réplication classique
III.7.1 réplication mono directionnelle (asymétrique)
Ce type de réplication consiste à effectuer uniquement une mise à jour
Du réplica maître vers le réplica abonné ou du réplica abonné vers le réplica
maître.
REPLICA
MAITRE
BDD
PROPAGATION
Mise à jour
OU
REPLICA
ABONNEE
BDD
III.7.2 réplication bi directionnelle (symétrique)
Ce type de réplication consiste à effectuer une mise a jour du replica maître vers les
replicas abonnées et des replicas abonnés vers le replica maître.
REPLICA
MAITRE
BDD
PROPAGATION
ET
REPLICA
ABONNEE
BDD
27
Chapitre III
La réplication classique
III.8 Méthodes de propagation
Que ce soit la réplication monodirectionnelle ou la réplication bidirectionnelle,
la propagation ne peut se faire que selon un modèle de mise a jour :
III.8.1 Mise à jour synchrone (temps réel)
Chaque mise à jour est déployée sur les autres bases de données. Ceci nécessite
une disponibilité permanente des ressources, malgré qu’elle assure le maximum
d’intégrité, elle demeure trop coûteuse.
En mode synchrone la réplication des données est immédiate, elle fait partie de
la transaction qui échouera si l’ordre de mise à jour échoue [BT93, JPAA01].
III.8.2 La mise à jour asynchrone
La mise à jour se fait dans un temps différé. La modification étant enregistrée,
Elle est propagée par la suite.
En mode asynchrone par contre, la réplication des données est retardée, elle ne
fait pas partie de la transaction (problème de la cohérence des données,
ordonnancement des mises à jour).
III.8.3 Les différents types de réplication
Il existe quatre types de réplication
Ä Réplication monodirectionnelle (asymétrique) synchrone
Ä Réplication monodirectionnelle (asymétrique) asynchrone
Ä Réplication bidirectionnelle (symétrique)
synchrone
Ä Réplication bidirectionnelle (symétrique) asynchrone
Voyons avec plus de détails.
28
Chapitre III
La réplication classique
III.8.3.1 Réplication asymétrique synchrone
Replica
Replica
Ordre
Maître
Abonné
d’écriture
Abonné
Copie instantanée (trigger)
Maître
La copie est instantanément mise à jour à chaque modification de la Base de
donnée Maître ou Abonné. Si la copie échoue c’est toute la transaction qui est annulée !
III.8.3.2 Réplication symétrique synchrone
Ordre
d’écriture
Copie instantanée (trigger)
Réplica
Maître
Replica
Abonné
Ordre
d’écriture
Les deux Bases peuvent être modifiées, si l’une est mise à jour la propagation
sur l’autre Base se fait directement. Il est à noter que la réplication fait partie de la
transaction, ce qui ne ralentit que très peu le système.
III.8.3.3 Réplication asymétrique asynchrone
Replica
Ordre
Maître
d’écriture
Abonné
Replica
Ordre réplication
mis en attente
Abonné
File attente
Maître
Ordre d’écriture
Déclenché (trigger)
La mise à jour de la Base répliquée est différée à utilisation d’un
programmateur de tâches pour déclencher la réplication avec une horloge.
29
Chapitre III
La réplication classique
III.8.3.4 Réplication symétrique asynchrone
Ordre réplication mis en attente
Ordre
d’écriture
Replica
Maître
Ordre
Replica
Abonné
File attente
d’écriture
Ordre d’écriture
Déclenché (trigger)
La mise à jour des Bases répliquées est différée à on peut mettre en place deux
programmateur ou utiliser le même.
30
Chapitre III
La réplication classique
III.9 Quels sont les moyens de réplications ?
-
selon réseau
La réplication par réseau correspond à l’opération effectuée pour synchroniser
deux BDD accessibles sur le même réseau
Exemple :
Un commercial se connectant régulièrement au réseau de la société à l’aide de son
portable : il met à jour les commandes clients.
Poste Abonné
Poste Maître
Réseau
Base de données
Base de données
Base de données
31
Chapitre III
-
La réplication classique
selon support
La réplication par support transportable correspond à l’opération effectuée
pour synchroniser deux BDD complètement inaccessibles entre elles [HASA07].
Prenons l’exemple d’un site à TINDOUF et un site à Alger, régulièrement les
mises à jour des bases de données sont effectuées à divers support.
(Transfert par FTP, disquette, CD-ROM, ZIP, Clé USB, etc.)
Voir schéma selon support réseau….
Poste Abonné
Poste Maître
Support transportable :
CD-ROM, FTP, email
Base de Données
Base de Données
32
Chapitre III
La réplication classique
III.10 Solution Existante
L étude du marché existant permet de mettre en relief les produits suivants :
Ä
Ä
Ä
Ä
WDREPLIC WINDEV 12 de PC SOFT.
Oracle Enterprise Manager.
Microsoft SQL Server Enterprise Manager.
IBM DB2 avec IBM Replication Solutions.
III.11 Limites de la réplication classique
La réplication classique se limite à l’utilisation de source de données homogènes
(Donc un seul et unique SGBD).Vu l’évolution du monde des SGBD, il devient
nécessaire de pouvoir faire communiquer des sources de données différentes (bases de
données sous différents SGBD)
REPLICA
ABONNEE
N’importe quel
média :
Sur place, par
réseau,
Par modem, via
REPLICA MAITRE
33
Chapitre III
La réplication classique
III.12 Conclusion
La réplication classique a fait ses preuves. Néanmoins, elle demeure
insuffisante. De nos jours, toutes les réflexions sont basées sur l’universalité, la
réplication ne peut pas faire exception à la règle.
Pensons réplication universelle.
34
Vers la Réplication Universelle
Chapitre IV
Vers La réplication universelle
IV.1 Introduction
IV.1.1Définition
La réplication universelle permet de répliquer des bases de données hétérogènes (*).
IV.1.2 Principe de fonctionne ment
Base Tierce
Accès Natif
Base Tierce
Accès Natif
Base Tierce
OLE DB
ODBC
Réplication
Universelle
HF
Base Tierce
OLE DB
ODBC
HF
Le principe est basé sur l’accès à la base de données à la source. Aucune
importation de fichier n’est nécessaire.
(*) Par hétérogène on sous entend SGBD hétérogènes.
36
Chapitre IV
Vers La réplication universelle
IV.1.3 Présentation de l’UDR (Universal Data Replication)
Partant de la définition et du principe de fonctionnement de la réplication
universelle, nous est venue l’idée de créer un centre de réplication (UDR) qui nous
permettra de répliquer librement et automatiquement les bases de données.
Centre de
Réplication
Serveur
de l’entreprise
INTERNET
DVD, CD ou
Clé USB
37
Chapitre IV
Vers La réplication universelle
IV.1.4. UDR puissance et facilités
Vu la variété des SGBD et des systèmes d’exploitation on ne pouvait imaginer
l’UDR accédant à tous les SGBD et accessible à partir de tous les systèmes
d’exploitation.
L’UDR étant accessible à travers tous les systèmes d’exploitation (Windows,
Linux), elle constitue un noyau unique accédant à toutes les bases de données
relationnelles (et autres).
Hyper File
ODBC
Windows
OLE DB
Accès
Base de données
Linux
Accès natifs
Oracle, Infomix
DB2, SQL,
MySQL
AS/400
38
Chapitre IV
Vers La réplication universelle
IV.1.5 l’UDR : media hétérogènes, connexion hétérogènes
L’UDR supportera une variété de connexions, et utilisera n’importe quel media
ACCES LOCAL
WINDOWS
RESEAU LOCAL
WIFI
LINUX
UDR
MODEM
ADSL
LIGNE SPECIALISE
Dans ce qui suit nous essayerons de donner des éléments de réponse, mais il est
important de connaître les notions suivantes :
39
Chapitre IV
Vers La réplication universelle
IV.2 Notion ODBC
Qu’appelle-t-on ODBC?
ODBC signifie Open DataBase Connectivity. Il s'agit d'un format défini par Microsoft
permettant la communication entre des clients bases de données fonctionnant sous
Windows et les SGBD du marché.
Le gestionnaire ODBC est présent sur les systèmes Windows. Il existe toutefois des
implémentations sur d'autres plates-formes, notamment des plates-formes Unix/Linux
Sous Windows 95 et 98 le gestionnaire ODBC est disponible dans le panneau de
configuration sous l'icône suivant :
40
Chapitre IV
Vers La réplication universelle
La technologie ODBC permet d'interfacer de façon standard une application à
n'importe quel serveur de bases de données, pour peu que celui-ci possède un driver
ODBC (la quasi-totalité des SGBD possèdent un tel pilote, dont tous les principaux
SGBD du marché).
ODBC n’est fonctionnel qu’avec Les bases de données utilisant le langage SQL.
ODBC ne visent pas spécifiquement des bases de données relationnelles, mais
toute base de donnée reconnaissant le langage SQL - et ce n'est pas tout à fait la même
chose. Il existe ainsi des pilotes ODBC pour des bases de données qui ne sont pas des
bases de données relationnelles
IV.2.1 Inconvénients de la technologie ODBC
Bien qu’ODBC permette un interfaçage avec des bases de données
indépendamment du SGBD, cette technologie reste une solution propriétaire de
Microsoft.
Cela se traduit par une dépendance de la plateforme (ODBC ne fonctionne que
sur les plateformes Microsoft Windows). D'autre part, ODBC est fortement lié au
langage C (utilisation de pointeurs), et ODBC utilise des paramètres non standards, ce
qui le rend difficile à mettre en oeuvre directement dans les programmes.
IV.2.2 Pilotes ODBC par défaut
Par défaut ce gestionnaire montre la liste de tous les drivers nécessaires aux clients
bases de données Microsoft.
IV.3 Nom des sources de données (DSN) ?
ODBC permet de relier un client à une base de données en déclarant une source
de données (correspondant généralement à une base de données) dans le gestionnaire
ODBC (communément appelé administrateur de source de données ODBC). La
source de données peut être aussi bien une base de données qu'un fichier Access, Excel
ou bien même un fichier.
On appelle donc DSN (Data Source Name) la déclaration de la source de données qui
sera accessible par l'intermédiaire de ODBC.
41
Chapitre IV
Vers La réplication universelle
IV.4 Déclaration de la source de données
L'administrateur de source de données ODBC (parfois appelé ODBC32 bits),
disponible dans le panneau de configuration, permet de déclarer le type de données
auxquels il est possible d'accéder et de leur associer un nom. L'onglet DSN système
permet de voir la liste de DSN déjà installés sur le système :
Pour déclarer une source de données il faut :
Ä créer les données (créer une ou plusieurs tables dans une base de données ou
bien créer un fichier Excel ou Access)
Ä installer le driver ODBC pour la base de données si celle-ci n'est pas
installée par défaut sous l'administrateur de source de données
Ä Etablir la liaison ODBC dans l'onglet DSN système de l'administrateur de
source de données, en cliquant sur Ajouter... puis en sélectionnant le type de
driver à utiliser.
42
Chapitre IV
Vers La réplication universelle
L'administrateur de source de données va ensuite demander le nom à affecter à la
source de données (Il s'agit du nom par lequel la base de données sera accessible), puis de
sélectionner la source de données (un fichier dans le cas d'Excel ou Access, ou bien la
base de données et éventuellement les tables à associer à la liaison ODBC).
43
Chapitre IV
Vers La réplication universelle
Il faut ensuite donner le chemin d'accès à la base de données en cliquant sur
le bouton sélectionner de la fenêtre précédente
La base de données devrait alors être accessible via ODBC suivant les bases de
données, la procédure peut varier et des options supplémentaires peuvent être
demandées, mais la configuration d'un DSN système reste globalement la même.
En cas de doute, il faut se référer à la documentation de la base de données.
44
Chapitre IV
Vers La réplication universelle
IV.5 Introduction OLEDB
OLEDB se sert d'interfaces COM (Component Object Model). Il a été conçu
dans le but de remplacer ODBC.
OLE DB est une nouvelle interface de bas niveau qui introduit une notion
d'accès " universel " aux données. C'est-à-dire que l'interface OLE DB n'est pas
réservée aux sources de données relationnelles, mais qu'elle est capable de traiter
n'importe quel type de données indépendamment de leur format ou de leur méthode de
stockage. Dans la pratique, cette souplesse signifie que vous pouvez accéder aux
données résidant dans un tableur Excel, dans des fichiers texte ou même sur un serveur
mail comme Microsoft Exchange.
OLE DB est un ensemble complet d'interfaces COM (Component Object
Model) capable d'offrir un accès uniformisé aux données stockées dans différentes
sources d'informations.
OLE DB convient aux sources de données relationnelles et non relationnelles.
Il est important de noter que la technologie OLE DB apporte un avantage significatif
en matière de performances et de coût de développement par rapport à ODBC (Open
Database Connectivity) [BRO06, HAA99].
Pour permettre l'intégration des données ODBC dans tous les autres types de
données, Microsoft offre un fournisseur de données OLE DB-ODBC, ce qui assure la
prolongation de la prise en charge de la gamme étendue des pilotes ODBC de base de
données relationnelle disponibles aujourd'hui. On peut ainsi accéder aux données par
l'intermédiaire d'OLE DB avec les mêmes performances que si on y accédait par
ODBC.
IV.6 TCP/IP
TCP/IP est un protocole, c'est à dire des règles de communication.
IP signifie Internet Protocol : littéralement "le protocole d'Internet". C'est le principal
protocole utilisé sur Internet.
Internet signifie Inter-networks, c'est à dire "entre réseaux". Internet est une
interconnexion des réseaux de la planète.
Le protocole IP permet aux ordinateurs reliés à ces réseaux de dialoguer entre eux.
Chaque ordinateur possède une adresse sur le réseau. Elle est unique.
45
Chapitre IV
Vers La réplication universelle
TCP/IP Transmission Control Protocol
Avec TCP/IP, on peut maintenant communiquer de façon fiable entre logiciels situés
sur des ordinateurs différents.
TCP/IP est utilisé pour des tas de choses:
Ä Dans le navigateur, le protocole HTTP utilise le protocole TCP/IP pour
envoyer et recevoir des pages HTML, des images GIF, JPG et toutes sortes
d'autres données.
Ä FTP est un protocole qui permet d'envoyer et recevoir des fichiers. Il utilise
également TCP/IP.
Ä Le logiciel de courrier électronique utilise les protocoles SMTP et POP3
pour envoyer et recevoir des emails. SMTP et POP3 utilisent eux aussi
TCP/IP.
Ä Le navigateur (et d'autres logiciels) utilise le protocole DNS pour trouver
l'adresse IP d'un ordinateur à partir de son nom (par exemple, de trouver
216.32.74.52 à partir de 'www.yahoo.com'). Le protocole DNS utilise
UDP/IP et TCP/IP en fonction de ses besoins.
IV.7 Accès aux bases tierces
Il existe différent mode d’exécution des requêtes SQL en fonction du type
d’accès effectué à la base de données
IV.7.1 Accès natif
Comme son nom l’indique l'accès natif à une base de données affranchit
l'entreprise de l'installation de drivers ODBC et de providers OLE DB,
de ce fait, éliminant une couche logicielle entre le poste client et le serveur de base de
données. L'accès natif à une base de données apporte une meilleure intégration des
fonctionnalités offertes par le SGBD cible et des performances optimales.
IV.7.2 Accès par un driver ODBC direct
Les caractéristiques de la connexion à la base de données doivent être définie
dans l’administrateur ODBC de windows. Seuls les fonctions de type SQL sont
utilisables pour ce type d’accès.
46
Chapitre IV
Vers La réplication universelle
IV.7.3 Accès ODBC via le provider OLE DB
Ce type d’accès utilise le provider OLE DB spécifique pour un accès par un
driver ODBC. En effet, les performances sont moins bonnes que par un driver ODBC
direct.
IV.7.4 Accès par un provider OLE DB
Ce type d’accès utilise un provider OLE DB.
Remarque
Pour les modes d’accès 2 et 3, l’installation du provider lui-même ainsi que
MDAC2.6 ou supérieur sur le poste est nécessaire.
IV.8 Les accès ODBC aux bases de données
Il permet d’accéder à une base de données définie sous un SGBD x depuis un
SGBD externe gérant les accès ODBC. Dans ce cas, les données définies sous SGBD x
sont alors accessibles en lecture et en écriture.
Il est important de comprendre le fonctionnement et l’environnement des accès ODBC.
1. l’administrateur de données ODBC (odbcad3.exe) sur un poste client ou sur le
poste serveur permet de configurer les accès de ce mode.
2. l’onglet « base de données utilisateur » contient les informations relatives à la
mise en uvre du type d’accès.
3. plusieurs accès du type ODBC peuvent être configurés (le bouton « ajouter »).
4. le driver « x » relatif au SGBD « x » peut être sélectionné.
5. la validation du type d’accès pour cette source de donnée permet de
sauvegarder les informations (« terminer »).
6. le nom de la source de données « x » permettra d’identifier la base de données
« x » dans les programmes externes.
47
Chapitre IV
Vers La réplication universelle
7. il faut indiquer les détails de la connexion de données (l’option Analyse doit
être choisie ainsi que le répertoire des fichiers de données.
8. il faut sauvegarder cette configuration (validations, bouton « ok »)
Quand toutes ces opérations sont complétées, la base de données est utilisable
en lecture et en écriture depuis des programmes externes via le driver ODBC.
IV.9 Les journaux
On y distingue les journaux relatifs aux traitements sur la BDD et les journaux
propres à la réplication.
IV.9.1 Journaux relatifs aux traitements
IV.9.1.1 définition
Un journal est un fichier particulier dans lequel on mémorise automatiquement
toutes les opérations réalisées sur un ou plusieurs fichiers de données depuis sa
création jusqu'à sa sauvegarde en passant bien sur par toutes les opérations de mise à
jour.
IV.9.1.2 contenu du journal
Le journal contient l’historique de l’utilisation d’un fichier c'est-à-dire :
Ä La nature de l’opération (normale ou réplication)
Ä Identifiant de la transaction ou de la réplication
Ä L’enregistrement complet avant manipulation
l’utilisateur (local, réseau ou Internet)
ou modification
par
Ä L’auteur de la manipulation ou de la modification
Ä La date de la manipulation ou de la modification
Ä La nature de l’opération effectuée : ajout, modification, suppression, lecture
48
Chapitre IV
Vers La réplication universelle
IV.9.1.3 les types de journaux
- Le journal des écritures (*.jec)
Contient toutes les opérations d’ajout, de modification et de suppression.
Il sert à déterminer qui a modifié le fichier et quelle est la nature de la
modification effectuée.
- Le journal de l’historique des accès au fichier (*.jom)
Tous les ordres de lecture, d’écriture, de suppression, de modification effectués
sur fichier seront enregistrés.
Il sert à connaître à tout moment les opérations effectuées sur fichier, par contre
il ne détermine pas la nature de l’opération donc impossible de déterminer la valeur de
l’enregistrement avant et après modification.
- Le journal des écritures+historique des accès (*.jhe)
Toutes les opérations d’ajout, de modification et de suppression seront enregistrées
dans le journal.
Les ordres pour accéder au fichier seront mémorisés.
Ile permet de connaître à tout moment :
Ä Qui a modifié le fichier
Ä Quelle est la modification effectuée
Ä Quelles sont les opérations effectuées sur le fichier.
Précautions à prendre
Les fichiers journaux permettent d’enregistrer les opérations effectuées sur fichier
pour les rejouer sur une sauvegarde en cas de problème. Il est conseillé de sauvegarder
les fichiers journaux dans des répertoires, voire des disques différents que ceux utilisés
pour les fichiers de données.
49
Chapitre IV
Vers La réplication universelle
IV.9.2 journaux propres à la réplication
- Journal identifiant (*.RPc)
C’est un fichier qui permet d’identifier d’une manière unique chaque
réplication déclarée (identifiant de la réplication).
L’installation est obligatoire sur le poste maître, mais facultative sur le poste abonné.
- Journal description (*.RPB)
Fichier décrivant la base de données « maître » et les bases qui lui sont
abonnées. L’installation se fait sur le poste maître.
- Journal (*.rpi)
Fichier contenant les informations de la réplication. Il est échangé entre la base
de donnée maître et abonnée.
- Journal (*.syn)
Fichier contenant les informations sur la base de données distante (taille, etc.)
Cela permettra de prendre la décision d’utilisation des clichés.
L’installation se fait sur le poste maître et poste abonné.
IV.10 Contraintes pour réussir la réplication
1. Pour chaque analyse dans la description générale des fichiers, prévoir un
descriptif qui nous indiquera si le fichier sera répliqué ou non (un booléen : vrai
pour réplication sinon faux). Effectivement, cet élément va nous éviter de nous
tromper lors de la sélection des fichiers à répliquer et en même temps elle nous
permet la non sélection d’office des fichiers temporaires.
2. Pour mettre en place la réplication, il est obligatoire de créer la rubrique (ou 2
rubriques) de type date et heure dans chaque fichier. cette ou ces rubriques
seront mises à jour par l’application lors de la modification ou de l’ajout d’un
enregistrement. Si les bases de données utilisent différents fuseaux horaires,
on utilise le format universel c'est-à-dire heure GMT.
3. Le poste sur lequel est installé le réplica abonné doit avoir accès en lectureécriture au poste où le replica maître est installé.
4. ( 2 ) pour effectuer la réplication, pour identifier le chemin des fichiers de
données a répliquer, il est possible d’utiliser une lettre désignant le disque. Dans
2
Uniquement pour la réplication par réseau
50
Chapitre IV
Vers La réplication universelle
ce cas le poste qui lance l’opération de réplication doit utiliser la même lettre de
disque que le poste avec lequel il réplique.
Par exemple, si la réplication est lancée depuis le poste abonné :
Ä Sur le poste maître, le répertoire des données est sur « c: »
Ä Le poste abonné doit associer au « c: » (du poste maître) soit des chemins
UNC soit des chemins relatifs
Remarque : la réplication par support transportable permet uniquement une réplication
mono directionnelle :
Ä Soit du replica maître vers le replica abonné
Ä Soit du replica abonné vers le replica maître
IV.11 Notion de déclencheurs (triggers)
IV.1.2 Définition
Un trigger correspond à l'association d'une procédure et d'une fonction d'écriture sur
fichier.
Un trigger permet d'exécuter facilement des traitements lors de la modification d'un
enregistrement.
Les procédures appelées par l'intermédiaire des triggers peuvent être exécutées avant
ou après l'opération d'écriture réalisée sur fichier.
Ä Trigger avant
Un trigger est dit avant s'il est appelé avant l'opération sur fichier. Il peut par exemple
vérifier la cohérence des rubriques.
Un booléen est renvoyé, pour signaler la validité de l'opération par conséquent sa
confirmation ou son annulation.
Ä Trigger après
Un trigger est dit après s'il est appelé après l'exécution de l'opération sur fichier.
51
Chapitre IV
Vers La réplication universelle
IV.1.3 Intérêt des triggers
Les triggers permettent d'associer des traitements à toutes les fonctions gérantes
fichiers, sans se soucier de l'emplacement de ces fonctions dans le programme.
L’utilisation des triggers permet de diminuer la taille de code.
IV.1.4 Manipulation des triggers
Pour créer un trigger on définit
Ä le nom de fichier sur lequel il agit
Ä les fonctions déclanchant le trigger (ajout, modification, etc.)
Ä la procédure associée
Ä son type (avant, après)
IV.1.4.1 Procédure associée
Code écrit selon les critères définis.
Activation/désactivation d'un trigger
Il est possible de désactiver temporairement un trigger particulier.
Destruction du trigger
Lorsqu’un un trigger est détruit, ses procédures ne le sont pas. Elles restent à la
charge du programmeur.
52
Solution Technique
Chapitre V __
Solution technique
V.1 Introduction
Faire communiquer des Bases de données Hétérogènes c’est important et c’est
ainsi que nous est venue l’idée de créer un centre de réplication que l’on nommera
(Universal Data Replication), à partir duquel on peut définir, planifier et lancer des
réplications.
L’Universal Data Réplication « UDR » est une idée originale, mais vu
l’hétérogénéité des SGBD et de sources de données à manipuler, la gestion de l’UDR
ne peut se faire sans la création d’un centre d’administration et un centre d’exécution.
Le centre d’administration n’est autre qu’une interface utilisateur que l’on
nommera ‘ADMIN_UDR’» ; il aura pour mission :
Ä de définir avec exactitude toutes les réplications prévues c'est-à-dire
l’identification de la réplication, les bases de données manipulées, les
différentes connexions aux sources de données, la méthode de propagation, les
différents sites gérés, les différents conflits et les différents utilisateurs.
Ä de pouvoir modifier une réplication ayant déjà propagé des données
(modification du scénario), ainsi que ses utilisateurs.
Ä de pouvoir supprimer une réplication.
Ä et enfin de générer un code (une sorte de RAD), pouvant aider l’utilisateur dans
la réalisation du centre d’exécution.
L’ADMIN_UDR aura pour objet de préparer la base de travail pour le centre
d’exécution.
Le centre d’exécution que l’on nommera ‘EXEC_UDR’ n’est autre qu’un
programme récupérant les informations fournies par ADMIN_UDR et qui matérialise
l’exécutif de la réplication, c'est-à-dire qu’il commence à propager les données selon
les règles définies sous ADMIN_UDR.
Si une bonne administration est définie, le programme de réplication devient
très simple à réaliser (écriture du code) et facile à gérer.
Pour conclure, nous dirons que la réplication elle-même n’est pas aussi
complexe (synchronisation des données), mais c’est son administration (définition des
règles) qui l’est, et c’est la raison pour laquelle nous lui consacrons cette thèse.
Malgré cet avantage de gestion, l’UDR telle qu’elle est présentée montre ses
limites, car elle se limite à une même base de données.
54
Chapitre V __
Solution technique
Nous ne nous arrêtons pas à cela : la notion d’une UDR+ qui aura pour mission
de répliquer plusieurs bases de données (homogènes ou hétérogènes) de tout horizons
mûrit déjà dans notre esprit.
V.2 Présentation de la solution
UDR +
ADMIN_UDR
EXEC_UDR
Interface
Administration
Universelle
Serveur
De réplication
Universelle
Description de
la réplication
Forte
Interaction
Programme utilisant
la description de la
réplication et les
codes générés
UDR
Le serveur de réplication puise des informations à partir de l’administration
universelle et s’en sert pour faire les réplications nécessaires.
Dans ce qui suit, nous développerons la partie concernant l’interface d’administration.
55
Chapitre V __
Solution technique
V.2.1 Principe de fonctionnement
Projet Rep 2
Projet Rep 1
Projet Rep n
ADMIN_UDR
Replica
Maître
Tous
Replica
Abonnés
Associés
Tables
utilisées
Tuples
utilisés
Planning
Connexions
utilisées
Utilisateurs
Mode
Réplication
Média
utilisé
Mode d’Emploi + Suggestion de code
Rep 1
Rep 2
Rep n
EXEC_UDR
56
Chapitre V __
Solution technique
V.2.2 Cycle de vie
Cahier de charge
Réplication
Conception
Mis en place
U
Test réplication
D
R
Déploiement
Maintenance et
Evolution
57
Chapitre V __
Solution technique
V.3 Plateformes de développement
WinDev12 (AGL) s’avère un choix intéressant pour l'environnement de
développement utilisé pour le projet. En effet, la plateforme offre certaines possibilités
pour exécuter des réplications entre bases de données hétérogènes, reposant sur sa
connexion universelle des données.
V.4 Enchaînement des traitements
a
a
58
Chapitre V __
Solution technique
IV.4.1 Configuration nouvelle réplication
PHASE : Description générale
a
a
59
Chapitre V __
Solution technique
a
a
60
Chapitre V __
Solution technique
a
61
Chapitre V __
Solution technique
IV.4.2 Configuration nouvelle réplication
PHASE : Description Utilisateur (Facultative)
a
Crypté
62
Chapitre V __
Solution technique
IV.4.3 Configuration nouvelle réplication
PHASE : Génération
a
63
Chapitre V __
Solution technique
a
64
Chapitre V __
Solution technique
a
a
65
Chapitre V __
Solution technique
a
66
Chapitre V __
Solution technique
V.5 L’édition d’une réplication
Elle permet de modifier certains éléments propres à la réplication (droit
d’activation, le mode, espace commun, la règle des conflits et les filtres).
Principe
L’administrateur choisi une réplication parmi les projets de réplications, toutes
les parties non permise à la modification ne sont pas activées.
V.6 Sauvegarder
C’est prendre la configuration définie et l’insérer (modifier) dans la liste des
projets.
V.7 Suppression de projet
La suppression n’est tolérée que si la réplication en cours n’a jamais été
activée. La suppression d’un projet de réplication entraîne automatiquement la
suppression de tous ses composants c'est-à-dire la suppression :
Ä de ses procédures
Ä de ses utilisateurs
Ä de ses journaux
Ä et finalement de la liste des projets
V.8 Mise à niveau :
C’est une procédure qui permet de synchroniser le projet lui-même (vérifier
l’intégrité du projet de réplication en cours (les clés primaires, clés étrangères,
rubriques, etc.)
67
Chapitre V __
Solution technique
V.9 Description de l’analyse
ADRESSE EMAIL
Chaîne
AUTORISATION
Entier sur 2 Octets
CHEMIN
Chaîne
Chaîne
Chaîne
Clé
doublon
Type
Clé Unique
Rubrique
Taille
V.9.1 Dictionnaire des rubriques
50
Utilisée par…
EMAIL
REPLICATEUR
80
80
80
12
3
REPLICABONNE
REPLICAMAITRE
CONNEXION
O
CLETABLE
Clé composée
CODE_REPLICATION
Chaîne
DIMANCHE
Booléen
PROJETREPLICATION
ESPACE_COMMUN
Entier sur 2 Octets
PROJETREPLICATION
ETAT
Entier sur 2 Octets
PROJETREPLICATION
FILTRE_TABLE
Chaîne
GES_CONFLIT
Entier sur 2 Octets
HEURE
Heure
HOTE
Chaîne
IDCONNEXION
Entier sur 4 Octets
PROJETREPLICATION
80
TABLES_A_REPLIQUER
PROJETREPLICATION
4
10
PROJETREPLICATION
FTP
O
O
Identifiant automatique
IDPROJETREPLICATION
Entier sur 4 Octets
Entier sur 4 Octets
O
O
Entier sur 4 Octets
Identifiant automatique
Entier sur 4 Octets
IDREPLICABONNE
Entier sur 4 Octets
IDREPLICAMAITRE
O
O
O
Identifiant automatique
IDREPLICATEUR
Identifiant automatique
IDTABLES_A_REPLIQUER
Identifiant automatique
JEUDI
Booléen
LOGIN
Chaîne
Chaîne
REPLICMAITRE
CONNEXION
EMAIL
FTP
TABLE_A_REPLIQUER
REPLICABONNE
O
Entier sur 4 Octets
REPLICABONNE
PROJETREPLICATION
O
Identifiant automatique
TABLES_A_REPLIQUER
REPLICATEUR
O
O
O
Entier sur 4 Octets
TABLES_A_REPLIQUER
CONNEXION
O
O
O
O
Entier sur 4 Octets
Entier sur 4 Octets
IDREPLICA
TABLE_A_REPLIQUER
REPLICABONNE
REPLICMAITRE
REPLICATEUR
TABLES_A_REPLIQUER
PROJETREPLICATION
50
50
EMAIL
FTP
LUNDI
Booléen
PROJETREPLICATION
MARDI
Booléen
PROJETREPLICATION
68
Chapitre V __
Solution technique
MERCREDI
Booléen
PROJETREPLICATION
MODE_ACCES
Entier sur 2 Octets
CONNEXION
MODE_REPLICATION
Entier sur 4 Octets
PROJETREPLICATION
MOT_DE_PASSE
Chaîne
10
10
10
10
50
50
50
50
50
50
10
Chaîne
Chaîne
Chaîne
REPLICATEUR
PROJETREPLICATION
EMAIL
FTP
O
NOM_CONNEXION
Chaîne
NOM_REPLICABONNE
Chaîne
NOM_REPLICAMAITRE
Chaîne
NOM_REPLICATEUR
Chaîne
NOM_REPLICATION
Chaîne
NOM_TABLE
Chaîne
PORT
Chaîne
SAMEDI
Booléen
SERVEUR_POP
Chaîne
SERVEUR_SMTP
Chaîne
SGBD_UTILISE
Entier sur 2 Octets
CONNEXION
TYPE_ESPACE
Entier sur 2 Octets
REPLICABONNE
TYPE_REPLICATION
Entier sur 2 Octets
PROJETREPLICATION
VENDREDI
Booléen
PROJETREPLICATION
CONNEXION
REPLICABONNE
REPLICMAITRE
REPLICATEUR
PROJETREPLICATION
TABLES_A_REPLIQUER
FTP
PROJETREPLICATION
30
30
EMAIL
EMAIL
REPLICATEUR
TABLES_A_REPLIQUER
EMAIL
FTP
3
4
153
180
176
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
Compress.mémo
Sécurisé6
Jnl.Lect/Ecr5
Jnl.Ecr4
Réplication
+de 2Go
Espace3
Taille enreg
102
103
162
153
81
Crypt.mémo
REPLICMAITRE
1
1
1
1
1
1
1
1
Crypt.index
REPLICABONNE
O
O
O
O
O
O
O
O
Crypt.données
PROJETREPLICATION
N°génération
CONNEXION
Id.auto.
Abréviation
V.9.2 Liste des Fichiers
Espace : Compléter des chaînes par des espaces.
Jnl.Ecr : Journalisation des écritures.
69
Chapitre V __
Solution technique
IDCONNEXION
IDPROJETREPLICATION
Identifiant de
CONNEXION
Identifiant de
PROJETREPLICATION
SGBD_UTILISE
SGBD Utilisé
MODE_ACCES
Type d Accès
NOM_CONNEXION
Nom de la Connexion
CHEMIN
Chemin
Id.auto
(4 Octets)
Entier sur 4
Octets
Entier sur 4
Octets
Entier sur 4
Octets
Chaîne
Chaîne
Val.Défaut
Sens
Clé Doublon
Type
Clé Unique
Libellé
Taille
Ä CONNEXION : Connexion.fic
o
0
o
0
50
o
80
CODE_REPLICATION
Identifiant de
PROJETREPLICATION
Code réplication
Id.auto.
(4 octets)
Chaîne
NOM_REPLICATION
Nom de réplication
MODE_REPLICATION
Mode réplication
TYPE_REPLICATION
Maître Vers Abonne ou
Abonne Vers Maître
ETAT
Active ou Non
MOT_DE_PASSE
Mot de passe
GES_CONFLIT
Gestion des conflits
HEURE
Heure
Chaîne
Entier sur 2
Octets
Entier sur 2
Octets
Entier sur 2
Octets
Chaîne
Entier sur 2
Octets
Heure
(hh :mm)
SAMEDI
Journée
IDPROJETREPLICATION
5
6
Val.Défaut
Sens
Clé Doublon
Type
Clé Unique
Libellé
Taille
Ä PROJETREPLICATION : Projetreplication.fic*
o
3
50
0
0
0
10
0
0
Booléen
Jnl.Lect/Ecr : Journalisation des lectures et écritures
Sécurisé : Mode sécurisé renforcé
70
Chapitre V __
Solution technique
DIMANCHE
Journée
Booléen
LUNDI
Journée
Booléen
MARDI
Journée
Booléen
MERCREDI
Journée
Booléen
JEUDI
Journée
Booléen
VENDREDI
Journée
Booléen
NOM_REPLICABONNE
Identifiant de
REPLICABONNE
Nom_replica abonné
IDPROJETREPLICATION
Identifiant projet Replica
IDREPLICAMAITRE
Identifiant de Replica
maître
IDCONNEXION
Identifiant de Connexion
TYPE_ESPACE
Type Espace
ESPACE_COMMUN
Espace commun
CHEMIN
Chemin de données
IDREPLICABONNE
Id.auto
(4 Octets)
Chaîne
Entier sur 4
Octets
Entier sur 4
Octets
Entier sur 4
Octets
Entier sur 2
Octets
Entier sur 2
Octets
Chaîne
Val.Défaut
Sens
Clé Doublon
Type
Clé Unique
Libellé
Taille
Ä REPLICABONNE : Replicabonne.fic
O
O
O
0
O
0
O
0
0
80
71
Chapitre V __
Solution technique
IDREPLICAMAITRE
NOM_REPLICAMAITRE
Identifiant de replica
maître
Identifiant de
PROJETREPLICATION
IDPROJETREPLICATION
Identifiant de projet replica
IDCONNEXION
Identifiant de la Connexion
CHEMIN
Chemin de données
Id.auto.
(4 Octets)
Chaîne
Entier sur 4
Octets
Entier sur 4
Octets
Chaîne
Val.Défaut
Sens
Clé Doublon
Type
Clé Unique
Libellé
Taille
Ä REPLICAMAITRE : Replicamaitre.fic
O
50
O
0
O
O
80
IDREPLICATEUR
Identifiant de replicateur
NOM_REPLICATEUR
Nom replicateur
MOT_DE_PASSE
Mot de passe
AUTORISATION
Autorisation
IDPROJETREPLICATION
Identifiant de projet
replica
Id.auto
(4 Octets)
Chaîne
Chaîne
Entier sur 4
Octets
Entier sur 4
Octets
Val.Défaut
Sens
Clé Doublon
Type
Clé Unique
Libellé
Taille
Ä REPLICATEUR : Replicateur.fic
O
50
10
O
0
O
0
72
Chapitre V __
Solution technique
IDTABLES_A_REPLIQUER
Identifiant de Tables à
répliquer
IDCONNEXION
Identifiant de connexion
NOM_TABLE
Identifiant de projet de
replication
Nom de la table
FILTRE_TABLE
Filtre Table
IDREPLICABONNE
Identifiant du réplica
abonné
CLETABLE
Cletable
IDPROJETREPLICATION
Id.auto
(4 Octets)
Entier sur 4
Octets
Entier sur 4
Octets
Chaîne
Chaîne
Entier sur 4
Octets
Clé composée :
IDPROJETREPL
ICATION+IDRE
PLICABONNE+
IDTABLE_A_R
EPLIQUER
Val.Défaut
Sens
Clé Doublon
Type
Clé Unique
Libellé
Taille
Ä TABLES_A_REPLIQUER : Table_a_repliquer.fic
O
O
0
O
0
50
80
O
12
O
73
Chapitre V __
Solution technique
IDEMAIL
Identifiant de Email
LOGIN
MOT_DE_PASSE
Login
Identifiant de Maître ou
abonné
Mot de passe
SERVEUR_POP
Serveur pop
SERVEUR_SMTP
Serveur SMTP
IDREPLICA
Id.auto
(4 Octets)
Chaîne
Entier sur 4
Octets
Chaîne
Chaîne
Chaîne
Val.Défaut
Sens
Clé Doublon
Type
Clé Unique
Libellé
Taille
Ä EMAIL : Email.Fic
O
50
0
0
O
10
30
30
Id.auto
(4 Octets)
Chaîne
Entier sur 4
Octets
Chaîne
Chaîne
IDFTP
Identifiant de FTP
LOGIN
MOT_DE_PASSE
Login
Identifiant de Maître ou
abonné
Mot de passe
HOTE
Hôte
PORT
Port
Chaîne
CHEMIN
Chemin
Chaîne
IDREPLICA
Val.Défaut
Sens
Clé Doublon
Type
Clé Unique
Libellé
Taille
Ä FTP : Fitp.fic
O
50
0
O
0
10
20
10
80
74
Chapitre V __
Solution technique
V.10 Traitement associé à la réplication
V.10.1 Traitement Trigger avant
Opération sur
fichier
Non
Si Trigger
actif
Oui
Initialiser Trigger
à vrai
Vérification des
contraintes
Oui
Non
Stop
Erreur
Renvoyer Faux
75
Chapitre V __
Solution technique
V.10.2 Traitement Trigger après
Début
Non
Si Trigger
Avant = vrai
Stop
-Jounalisation
-Mise à jour effective
Non
Non
Oui
Tester Table
Importante
Si
Rep=Bidirectionnelle
synchrone
Oui
Oui
Utiliser
Cliché
Reporter
Mise à Jour
Lancer
Synchronisation
76
Chapitre V __
Solution technique
Début Synchronisation
Données à répliquer
Non
Oui
Donnée Maître
Vers Abonné
Oui
Info plus
récente
Ecriture Cible
Droit
Maître
Oui
Non
Droit
Abonné
Oui
Donnée Abonné
vers Maître
Non
Droit
aucun
Non
Ouverture
Boite de dialogue
Stop
Action selon
Réponse
Journalisation
77
Chapitre V __
Solution technique
Remarque
Dans le cas de la réplication asynchrone, on peut se passer des clichés et opérer
directement sur les tables à répliquer en utilisant la technique des indexes (sur date et
heure).
78
Conclusion et perspectives
Vers la réplication Universelle
Le travail présenté dans cette thèse s’inscrit dans le cadre de la réplication.
Nous avons d’abord présenté les notions de bases de données et de systèmes de gestion
de bases de données. Ensuite, nous avons montré la différence entre la copie, la
sauvegarde et la réplication, qui elles-mêmes assurent une partie de la sécurité des
données, puis nous avons mis en évidence l’avantage de la réplication par rapport à la
sauvegarde.
Nous appelons réplication classique toute réplication mono SGBD. Tous les
aspects de la réplication classique ont été présentés. Une analyse de l’évolution du
monde informatique a montré les limites de la réplication classique. Pour combler ce
déficit, nous avons présenté une ébauche de l’UDR. La solution présentée fait
abstraction des systèmes d’exploitation utilisés, des SGBD dans lesquels les réplicas
sont définis, et des supports utilisés. Elle permet une réplication multi SGBD, multi
supports, multi systèmes d’exploitation.
Les propositions que nous avons exposées dans cette thèse marquent une étape
dans notre projet que nous souhaitons poursuivre à court terme et à long terme sur
deux aspects :
1-
nous souhaitons conduire une évaluation du prototype (administration de
réplication) qui devra, en particulier, permettre d’analyser comment un
utilisateur non expérimenté appréhende la notion de réplication. Il est
évident que cette évaluation permettra son amélioration ;
2-
le serveur de réplication qui constituera le deuxième prototype ainsi que le
couplage entre le prototype 1 (réalisé dans cette thèse) et le prototype 2.
Un tel système est une condition forte pour la promotion de la réplication des
bases de données hétérogènes. Il reste à imaginer, spécifier, développer et évaluer un
type de réplication de bases de données hétérogènes sans contraintes (bases de données
identiques), c'est-à-dire aller vers la « réplication update ». Mais ceci nous engage
fortement dans un autre domaine de recherche sur lequel il serait nécessaire de
s’investir pleinement.
80
Glossaire
Vers la réplication universelle
A
AGL
Atelier de Génie Logiciel
ADSL
Asymetric Digital Suscriber Line. Service d'accès à l'Internet utilisant les lignes
téléphoniques classiques, en utilisant une bande passante.
API
Application Programming Interface: Bibliothèque de fonctions destinées à être
utilisées par les programmeurs dans leurs applications.
B
BANQUE DE DONNEES
Le sens est proche de celui d’une base de données, à la différence que la base
exclu la répétition et est plus strictement structurée. Souvent elle est constituée
de plusieurs bases de données.
BASE DE DONNEES
Une base de données, usuellement abrégée en BD ou BDD, est un ensemble
structuré et organisé permettant le stockage de grandes quantités d'informations
afin d'en faciliter l'exploitation (ajout, mise à jour, recherche de données)
BDD HETEROGENES
Base De Données gérées par différents SGBD
C
CDROM
Compact Disc Read Only Memory est un disque compact contenant toutes
sortes de données Numériques.
82
Glossaire
Vers la réplication universelle
CLE USB
Une clé USB (ou clef USB) est une unité de stockage de petit format « dongle »
se connectant sur le port USB (Universal Serial Bus) d’un ordinateur. On peut
l’assimiler à (une mémoire flash ou un mini disque dur), à laquelle on peut
accéder.
COM
Component Objet Model connu sous le nom de ActiveX, est un composant
logiciel (comme les DLL) créé par Microsoft, permettant de dialoguer plusieurs
logiciels.
COPIE
Reproduire à l’identique un enregistrement, un ou plusieurs fichiers.
D
DSN
Data Source Name (source de données) permet de faire le lien avec une base de
données.
DVD
Digital Versatile Disc. Support de stockage de données numérique, de forme
identique à un CD-ROM. Il peut contenir actuellement jusqu’à 4,7 Go de
données.
E
EMAIL
Adresse de courrier électronique
ENREGISTREMENT
Un enregistrement est un élément d’un fichier ou d’une base de données.
83
Glossaire
Vers la réplication universelle
F
FICHIER
Fichier est une collection d’informations de même nature, telle qu’un
programme, des données. Un fichier est caractérisé par un nom, un chemin
d’accès et un format.
FTP
File Transfer Protocol est un protocole applicatif pour le transfert de fichiers sur
Internet.
G
GIF
Graphics Interchange Format, un format de données informatique d'image
numérique.
GPRS
Global Packet Radio Service est une amélioration de la technologie GSM
(Global System for Mobile communications.) qui permet des connexions en
mode données plus rapides.
H
HF
Hyper File, Format de fichier de grande capacité.
HTML
Hyper Text Markup Langage. Langage permettant de créer des pages Web.
HTTP
Hyper Text Transfer Protocol. Protocole pour la transmission des pages Web
depuis un serveur vers un navigateur client.
84
Glossaire
Vers la réplication universelle
I
INTERNET
INTERconnexion of NETworks : Ensemble de réseau reliés entre eux et se
comportant comme
IP
Internet Protocol
J
JPG
Joint Photographic Experts Group (format d'image permettant un Impressionnant
taux de compression)
L
LDD
Langage de Description des Données
LMD
Langage de Manipulation des Données
M
MDAC 2.6
Making IIS and Data Access Component
MODE ASYNCHRONE
La mise à jour de la table répliquée est différée
85
Glossaire
Vers la réplication universelle
MODE SYNCHRONE
La copie est instantanément mise à jour
O
ODBC
Open Data Base Connectivity : c est une interface stratégique conçue par
Microsoft pour accéder à des bases de données dans un environnement
hétérogène.
OLE DB
Object Linking and Embedding Data Base est une API développée par Microsoft
permettant l'accès aux données stockées dans différentes sources.
P
POP 3
Post Office Protocol (protocole de bureau de poste récupérer le courrier sur
serveur distant)
PROVIDER
Nom anglais désignant fournisseur d'accès internent
R
REPLICA ABONNE
Le site déclaré esclave dans une réplication.
86
Glossaire
Vers la réplication universelle
REPLICA MAITRE
Le site déclaré maître dans une réplication
REPLICATION
Mécanisme de copie automatique d'une base de données vers une autre,
permettant de rapprocher des données de l'utilisateur.
REPLICATION ASYMETRIQUE
Les copies de données ne se font que dans un sens
REPLICATION SYMETRIQUE
Les copies de données se font dans les deux sens
S
SAUVEGARDE
Copie de données essentielles réalisée afin de les préserver d'une destruction
malheureuse.
SGBD
Système de Gestion de Bases de Données
SGBDR
SGBD Relationnel, basé sur le modèle mathématique.
SMTP
Simple Mail Transfer Protocol (protocole simple de transfert de courrier)
SPYWARES
Contraction de "spy" et "software", (logiciel espion)
SQL
Sequel Query Language
87
Glossaire
Vers la réplication universelle
SYNCHRONISATION
Lorsqu'un utilisateur ajoute, modifie, ou supprime un fichier à l'endroit A, le
processus de synchronisation entre A et B ajoutera, modifiera, ou supprimera le
même fichier à l'endroit B.
T
TCP
Transmission Control Protocol; Protocole utilisé sur le réseau Internet pour
transmettre des données entre deux machines.
TRIGGER
Un trigger ou déclencheur est un événement qui provoque l'exécution d'un
algorithme. Il est souvent associé aux opérations sur fichier.
U
UDP
User Datagram Protocol (Protocole que l'on peut employer à la place de
quand la fiabilité de la transmission n’est pas critique)
TCP
UNC
Universal Naming Convention (permet d'identifier un fichier partagé dans un
réseau quelque soit le support)
W
WINDEV AGL
Atelier de Génie Logiciel, développé par PC SOFT.
88
Bibliographie
Vers une réplication universelle
[AAAS97] D. Agrawal , G. Alonso , A. El Abbadi , I. Stanoi, Exploiting Atomic Broadcast in
Replicated Databases (Extended Abstract), Proceedings of the Third International Euro-Par
Conference on Parallel Processing, pp.496-503, August 26-29, 1997.
[ACL87] R. Agrawal , M. J. Carey , M. Livny, Concurrency control performance modeling:
alternatives and implications, ACM Transactions on Database Systems (TODS), v.12 n.4,
pp.609-654, 1987.
[ALO97] G. Alonso, “Partial Database Replication and Group Communication Primitives,”
Proc. Second European Research Seminar on Advances in Distributed Systems (ERSADS
'97), pp. 171-176, 1997.
[AT02] Y. Amir , C. Tutu, From Total Order to Database Replication, Proceedings of the 22
nd International Conference on Distributed Computing Systems (ICDCS'02), pp.494, 2002.
[BHG87] P. A. Bernstein , V. Hadzilacos , N. Goodman, Concurrency control and recovery in
database systems, Addison-Wesley Longman Publishing Co., Inc., Boston, MA, 1987.
[BRO06] F. Brouard. Optimisation des bases de données MS SQL Server. Séminaire
Européen de Recherche sur les Systèmes Distribués, Genève, 2006.
[BT93] O Babaoglu , Sam Toueg, Understanding Non-Blocking Atomic Commitment,
University of Bologna, 1993.
[CHA01] R. Chapuis. Les bases de données Oracle, Media Press, 2001.
[CHA84] J.-M. Chang, Simplifying distributed database systems design by using a broadcast
network, ACM SIGMOD Record, v.14 n.2, 1984.
[COR04] A. Corn . Oracle Advanced Master-to-Master Replication from WisdomForce.
Rapport de recherche, WisdomForce Technologies, Inc, 2004.
[CSI94] CSIM18 Simulation Engine (C++ Version), Mesquite Software Inc., Austin, Texas
78759, 1994.
[CT92] S. Chen and D. Towsley, “A Performance Evaluation of RAID Architectures,”
Technical Report UM-CS-1992-067, Dept. of Computer Science, Univ. of Masschusetts,
Amherst, 1992.
[DMMA02] K. Day, F.A. Masoud, A.B. Mnaouer, and M. Al-Towaiq (Oman). Centralized
Versus Replicated Client-Server Database Systems. Proceeding of Applied Informatics, pp.
149-161, 2002.
90
Bibliographie
Vers une réplication universelle
[FP01] S. Frølund and F. Pedone, “Continental Pronto,” Proc. 20th Symp. Reliable
Distributed Systems, pp. 46-55, 2001.
[GHOS96] J. Gray , P. Helland , P. O'Neil , D. Shasha, The dangers of replication and a
solution, Proceedings of the 1996 ACM SIGMOD, international conference on Management
of data, pp.173-182, 1996.
[GRA07] Y. Grandmontagne. NetApp : le logiciel s'impose entre application et réplication,
Rapport de recherche, Silicon, 2007.
[HAA00] J. A. Holliday , D. Agrawal , A. El Abbadi, Using Multicast Communication to
Reduce Deadlock in Replicated Databases, Proceedings of the 19th IEEE Symposium on
Reliable Distributed Systems (SRDS'00), pp.196, 2000.
[HAA99] J. A. Holliday , D. Agrawal , A. El Abbadi, The Performance of Database
Replication with Group Multicast, Proceedings of the Twenty-Ninth Annual International
Symposium on Fault-Tolerant Computing, pp.158, 1999.
[HAA99-1] J. A. Holliday , D. Agrawal , A. El Abbadi, The Performance of Replicated
Databases using Atomic Broadcast Group Communication, University of California at Santa
Barbara, Santa Barbara, CA, 1999.
[HASA07] A. Haj Said, L. Amanton, B. Sadeg and B. Ayeb. Contrôle de la réplication dans
les SGBD temps réel distribués. Schedae Conference, Prepublication n° 13, fascicule n° 2, pp.
41-49, 2007.
[HSAA03] J. A. Holliday , R. Steinke , D. Agrawal , A. El Abbadi, Epidemic Algorithms for
Replicated Databases, IEEE Transactions on Knowledge and Data Engineering, v.15 n.5,
pp.1218-1238, 2003.
[HT94] V. Hadzilacos , S. Toueg, A Modular Approach to Fault-Tolerant Broadcasts and
Related Problems, Cornell University, Ithaca, NY, 1994.
[JA91] R. Ja, The Art of Computer System Performance Analysis: Techniques for
Experimental Design, Measurement, Simulation and Modeling. John Wiley and Sons, 1991.
[JPAA01] R. Jiménez-Peris , M. Patiño-Martínez , G. Alonso , S, Arévalo, A Low-Latency
Non-blocking Commit Service, Proceedings of the 15th International Conference on
Distributed Computing, pp.93-107, 2001.
[KA00] B. Kemme , G. Alonso, Don't Be Lazy, Be Consistent: Postgres-R, A New Way to
Implement Database Replication, Proceedings of the 26th International Conference on Very
Large Data Bases, pp.134-143, 2000.
91
Bibliographie
Vers une réplication universelle
[KA00-1] B. Kemme , G. Alonso, A new approach to developing and implementing eager
database replication protocols, ACM Transactions on Database Systems (TODS), v.25 n.3,
pp.333-379, 2000
[KA98] B. Kemme , G. Alonso, A Suite of Database Replication Protocols based on Group
Communication Primitives, Proceedings of the The 18th International Conference on
Distributed Computing Systems, pp.156, 1998.
[KD98] I. Keidar , D. Dolev, Increasing the resilience of distributed and replicated database
systems, Journal of Computer and System Sciences, v.57 n.3, pp.309-324, 1998
[KEI94] I. Keidar, “A Highly Available Paradigm For Consistent Object Replication,”
master's thesis, The Hebrew Univ. of Jerusalem, Israel, 1994.
[KEM00] B. Kemme, “Database Replication for Clusters of Workstations,” PhD dissertation,
Swiss Federal Inst. of Technology Zürich, Switzerland, 2000.
[KP97] F. Kramarz et O. Perrault. Bases de données et SGBD : de la conception à la mise en
uvre , Edition Eyrolles, 1997
[MOR07] J. Mortar. MySQL master-master : réplication maître à maître, rapport de
recherche, IBM Rational Systems, 2007.
[MOR07-2] J. Mortar. Réduire le temps d'initialisation d'un esclave de réplication. Rapport de
recherche, IBM Rational Systems, 2007.
[NSB97] K. Nørvåg O. Sandstå and K. Bratbergsengen, “Concurrency Control in Distributed
Object-Oriented Database Systems,” Proc. Advances in Databases and Information Systems
Conf., pp. 9-17, 1997.
[ORC99] Oracle 8i concepts, Release 2, Oracle Corp. Publ., 1999.
[PED99] F. Pedone, “The Database State Machine and Group Communication Issues,” PhD
dissertation, École Polytechnique Fédérale de Lausanne, Switzerland, 1999.
[PF00] F. Pedone and S. Frølund, “PRonto: A Fast Failover Protocol for Off-the-Shelf
Commercial Databases,” Technical Report HPL-2000-96, Software Technology Laboratory,
Hewlett-Packard Laboratories, Palo Alto, Calif., 2000.
92
Bibliographie
Vers une réplication universelle
[PG89] F. M. Pittelli , H. Garcia-Molina, Reliable scheduling in a TMR database system,
ACM Transactions on Computer Systems (TOCS), v.7 n.1, pp.25-60, 1989.
[PGS03] F. Pedone , R. Guerraoui , A. Schiper, The Database State Machine Approach,
Distributed and Parallel Databases, v.14 n.1, pp.71-98, 2003.
[PGS98] F. Pedone , R. Guerraoui , A. Schiper, Exploiting Atomic Broadcast in Replicated
Databases, Proceedings of the 4th International Euro-Par Conference on Parallel Processing,
pp.513-520, 1998.
[PS98] F. Pedone , A. Schiper, Optimistic Atomic Broadcast, Proceedings of the 12th
International Symposium on Distributed Computing, pp.318-332, 1998.
[SCH90] F. B. Schneider, Implementing fault-tolerant services using the state machine
approach: a tutorial, ACM Computing Surveys (CSUR), v.22 n.4, pp.299-319, 1990.
[SSP06] N. Schiper, R. Schmidt, and F. Pedone. Brief announcement: Optimistic Algorithms
for Partial Database Replication. Rapport de recherche, université Lugano et EPFL Lausanne,
Suisse, 2006.
[TOM85] J. L. Tomas. Bases de données « conception réalisation et implantation », Edition
Eyrolles, 1985.
[TR06] An Adaptive Probabilistic Replication Method for Unstructured P2P Networks.
Rapport de recherche, LIP, France, 2006
[TRI93] P. Trigano. Méthodologie de la programmation, Eyrolles, 1993.
[UDS00] P. Urbán X. Défago and A. Schiper, “Contention-Aware Metrics for Distributed
Algorithms: Comparison of Atomic Broadcast Algorithms,” Proc. Ninth IEEE Int'l Conf.
Computer Comm. and Networks (IC3N 2000), 2000.
[USDN01] P. Urban , A. Schiper , X. Defago, A. Neko: A Single Environment to Simulate
and Prototype Distributed Algorithms, Proceedings of the The 15th International Conference
on Information Networking, pp.503-510, 2001.
[VAN00] R. Vandewall, “Database Replication Prototype,” master's thesis, Rijksuniversiteit
Groningen and École Polytechnique Fédérale de Lausanne, Netherlands and Switzerland,
2000.
[WD08] Pc soft :
Windev 7.5 ; Windev 9 ; Windev 12. PC Soft Publ., 2008.
93
Bibliographie
Vers une réplication universelle
[WEN06] J. M. Wendt. Host-based replication. Rapport de recherche, Oracle Corp., 2006.
[WIE05] M. Wiesmann. Comparison of Database Replication Techniques Based on Total
Order Broadcast. IEEE Transactions on Knowledge and Data Engineering, Volume 17 , N 4,
pp. 551 - 566, 2005.
[WS04] M. WIESMANN and A. SCHIPER; Beyond 1-safety and 2-safety for replicated
databases: Group-safety. Lecture notes in computer science, vol. 2992, pp. 165-182, 2004.
[WSPKA00] M. Wiesmann , A. Schiper , F. Pedone , B. Kemme , G. Alonso, Database
Replication Techniques: A Three Parameter Classification, Proceedings of the 19th IEEE
Symposium on Reliable Distributed Systems (SRDS'00), pp.206, 2000.
[WPSKA00-1] M. Wiesmann , F. Pedone , A. Schiper , B. Kemme , G. Alonso,
Understanding Replication in Databases and Distributed Systems, Proceedings of the The
20th International Conference on Distributed Computing Systems ( ICDCS 2000), pp.464,
2000.
94
Bibliographie
Vers une réplication universelle
Webograhie
ADAP
http://adapt.asr.cnrs.fr/reunions/20051206/slides/gilliot.
pdf ; « Etude d'un service de réplication »
ANYW
www.ianywhere.com ; « Réplication de données avec replication Server »
CCM
www.commentcamarche ; « Sauvegarde informatique »
DEFMA
www.definitions-marketing.com ; « Définition SGBD »
DICPHP
www.dictionnaire.phpmyvisites.net/definition-Replication
DRAP
www.dataprotex.be ; « Sauvegarde informatique »
FUTSI
www.futura-sciences.com ; « Définition SGBD »
GREG
www.greg.rubyfr.net ; « Introduction à la réplication des bases de données »
linux magazine, Fév. 2004
IKOUL
www.supportikoula.com ; « Comment répliquer deux bases de données avec
MYSQL »
JDN
www.journaldunet.com ; « Sécurité informatique »
JDN 1
www.journaldunet.com ; « Réplication de bases entre continuité de service et
disponibilité »
LORI
www.loria.fr ; « Réplication de données »
95
Bibliographie
Vers une réplication universelle
LINUX
www.linux-france.org ; « Définition SGBDR »
LRI
www.lri.fr/~antoine/Courses ; « Cours base de données »
MS
www.technet.microsoft.com ; « Fonctionnement de la réplication » Exchange
Server
MSH
www.msdn2.microsoft.com ; « Intégration de données hétérogènes »
NACBO
www.loria.fr ; « Base de données et SGBD »
SINFO
www.supinfo-projects.com ; « Synchronisation et réplication bases de
données hétérogènes »
TUT 04
www.jgrondin.developpez.com ; « Tutoriel de la réplication sous MYSQL »
WIK08
www.fr.wikipedia.org ; « Sauvegarde informatique »
96
Téléchargement