Vous êtes sur la page 1sur 21

Chapitre Rplication et bases de donnes mobiles

Objectifs du chapitre
Dans ce chapitre, vous apprendrez : n En quoi une base de donnes rplique diffre dune base de donnes distribue. n Les avantages de la rplication de donnes. n valuer des exemples dapplications qui exploitent la rplication des donnes. n Les composants de base qui constituent un systme de rplication. n La diffrence entre la rplication synchrone et la rplication asynchrone. n Les principaux types de possession des donnes : matre/esclave, flux dactivits et modifiable nimporte o. n Les fonctionnalits essentielles dun serveur de rplication de base de donnes. n Les principales notions dimplmentation qui sassocient la rplication de base de donnes. n Le soutien quapporte une base de donnes mobile au travailleur itinrant. n Les fonctionnalits dun SGBD mobile. n Comment Oracle gre la rplication des donnes.

Au chapitre prcdent, nous avons examin les concepts fondamentaux associs aux systmes de gestion de bases de donnes distribues (SGBDD). Du point de vue de lutilisateur, les fonctionnalits offertes par le SGBDD sont trs attirantes mais, du point de vue de limplantation technique, les protocoles et les algorithmes ncessaires pour assurer ces fonctionnalits sont complexes et font poindre plusieurs problmes qui assombrissent les avantages offerts par cette technologie. Dans ce chapitre, nous abordons une approche alternative et potentiellement simplificatrice la distribution de donnes, fournie par le serveur de rplication, qui gre des rpliques des donnes dans des sites distants. Tout vendeur de SGBD dune certaine importance se doit doffrir dune manire ou dune autre une solution de rplication et nombre de vendeurs de logiciels qui nont rien voir avec les bases de donnes proposent galement des alternatives la rplication des donnes. Plus loin dans ce chapitre, nous nous penchons aussi sur une application particulire de la rplication de base de donnes, que lon appelle les bases de donnes mobiles et nous verrons comment cette technologie vient en aide au travailleur itinrant.

Copyright 2005 ditions Reynald Goulet inc. Tous droits rservs

24.2 Avantages de la rplication de base de donnes | 805

Structure du chapitre
la section 24.1, nous prsentons la rplication de base de donnes et, la section 24.2, nous en valuons les avantages. Nous identifions la section 24.3 les applications types de la rplication de base de donnes. Nous tudions ensuite la section 24.4 quelques-uns des composants importants de lenvironnement de rplication de base de donnes et, la section 24.5, nous examinons les importantes options disponibles dans le cadre de lenvironnement de rplication, comme lutilisation de la rplication soit synchrone, soit asynchrone. la section 24.6, nous identifions les fonctionnalits essentielles que doit offrir un serveur de rplication et les principales notions dimplmentation qui sassocient cette technologie. Vient ensuite lexamen, la section 24.7, des bases de donnes mobiles et des fonctionnalits que nous devons attendre dans tout SGBD mobile. Enfin, la section 24.8, nous proposons une vue densemble de la manire dont Oracle9i gre la rplication. Les exemples de ce chapitre sont galement extraits de ltude de cas Maisons de Rve dcrite la section 10.4 et lannexe A.

Introduction la rplication de base de donnes


La rplication est un mcanisme important parce quil permet des organisations dassurer leurs utilisateurs un accs aux donnes courantes o et quand ils en ont besoin. Rplication de base de donnes Le processus de copie et dentretien dobjets de base de donnes, tels que des relations, dans des bases de donnes multiples qui forment un systme de base de donnes distribue.

24.1

Les modifications apportes un site sont captures et stockes localement avant dtre transmises et appliques chacun des sites distants. La rplication exploite une technologie spcifique des bases de donnes distribues pour partager les donnes parmi des sites multiples, mais les bases de donnes rpliques et les bases de donnes distribues reprsentent des notions distinctes. Dans une base de donnes distribue, en effet, les donnes sont disponibles dans plusieurs emplacements, mais une relation particulire est hberge un emplacement bien prcis. Par exemple, si Maisons de Rve possdait une base de donnes distribue, la relation qui dcrit les biens louer, cest--dire la relation PropritALouer, ne se trouverait que dans un seul serveur de base de donnes, Montral par exemple et non sur ceux de Paris ou Genve. Tandis que la rplication signifie que les mmes donnes sont disponibles dans plusieurs sites. Ainsi, dans le contexte de la rplication, la relation PropritALouer se trouverait duplique dans les serveurs de base de donnes de Montral, Paris et Genve.

Avantages de la rplication de base de donnes


Le tableau 24.1 numre les principaux avantages de la rplication de base de donnes. La disponibilit fait rfrence la manire dont la rplication amliore la disponibilit des donnes aux utilisateurs et aux applications par le biais de la mise disposition doptions alternatives daccs aux donnes. Si un site devient inaccessible pour une raison ou lautre, les utilisateurs peuvent continuer soumettre leurs requtes ou mme modifier les donnes des emplacements encore accessibles.

24.2

Copyright 2005 ditions Reynald Goulet inc. Tous droits rservs

806

Chapitre 24 - Rplication et bases de donnes mobiles

Tableau 24.1 Disponibilit Fiabilit Performances

Avantages de la rplication.

Rduction de charge Informatique autonome Soutien de nombreux utilisateurs Soutien dapplications volues

La fiabilit reprsente le fait que des copies multiples des donnes disponibles sur le systme fournissent autant de facilits de rcupration chaud des donnes dans lventualit dune dfaillance de lun ou lautre site dhbergement. Les performances des transactions de requte sont particulirement amplifies quand la rplication est introduite dans le but de soulager un systme pnalis par un excs de charge significatif des ressources centralises. La rplication offre en effet un accs local, rapide des donnes partages, parce quelle quilibre la rpartition des activits sur plusieurs sites. Certains utilisateurs peuvent ds lors accder plus dun serveur tandis que dautres utilisateurs accdent des serveurs diffrents, ce qui restitue des niveaux de performances acceptables sur tous les serveurs. La rduction de charge fait rfrence la manire dont la rplication sert aussi distribuer les donnes parmi des emplacements distants multiples. Les utilisateurs peuvent alors accder aux donnes de serveurs distincts et nombreux au lieu daccder un seul serveur central. Ce genre de configuration rduit substantiellement le trafic de rseau et les utilisateurs peuvent galement accder aux donnes dont ils ont besoin partir du serveur de rplication qui prsente le moindre cot, soit gnralement le site gographiquement le plus proche deux. Linformatique autonome est une notion encore plus intressante, puisque la rplication peut tre renforce par ce que lon nomme des instantans. Un instantan (ou snapshot) est une copie complte ou partielle (cest--dire une rplique) dune relation cible, prise un moment prcis et unique. Les instantans permettent des utilisateurs de travailler sur des sous-ensembles dune base de donnes dentreprise, alors quils sont dconnects du serveur de base de donnes central. Par la suite, ds que la connexion est rtablie, les utilisateurs synchronisent (rafrachissent) leurs instantans avec le contenu de la base de donnes centrale, si ncessaire. Ceci peut signifier que les instantans reoivent des mises jour de la base de donnes centrale, mais aussi, linverse, que la base de donnes centrale reoive des mises jour au dpart des instantans. Quelle que soit laction mene, les donnes de linstantan et de la base de donnes dentreprise retrouvent priodiquement leur cohrence. Le soutien de nombreux utilisateurs intervient quand une organisation doit de plus en plus souvent dployer de nombreuses applications qui exigent la disponibilit dusage et de manipulation de donnes. La rplication leur permet de crer de multiples instantans parfaitement adapts aux besoins des utilisateurs ou des groupes dutilisateurs qui emploient le systme. Le soutien des applications volues se manifeste par le fait que les organisations ont de plus en plus besoin de mettre des donnes dentreprise la disposition, non seulement des systmes traditionnels de traitement en ligne (OLTP, online transaction processing) mais galement dapplications volues danalyse de donnes, tels que les entrepts de donnes, le traitement analytique en ligne (OLAP, online analytical processing) et lexploration de donnes (voir chapitres 31 34). De mme, grce la rplication des donnes, les donnes dune entreprise sont dsormais mises la disposition des applications innovantes de linformatique mobile, de plus en plus apprcie (voir section 24.7). Bien entendu, un systme de base de donnes rplique qui offre les avantages numrs au tableau 24.1 prsente aussi une complexit majeure par rapport une base de donnes centralise. Ainsi, les performances de lensemble risquent dtre greves par les transactions de mise jour, car la moindre modification logique doit tre applique toutes les copies de la base de donnes, pour que celles-ci demeurent cohrentes. Les techniques de contrle de concurrence et de rcupration sont plus complexes et donc plus coteuses par rapport aux mmes oprations dans un systme sans rplication.

Copyright 2005 ditions Reynald Goulet inc. Tous droits rservs

24.4 Composants fondamentaux de la rplication de base de donnes | 807

Applications de la rplication
La rplication appuie toute une varit dapplications qui affichent des exigences divergentes. Certaines applications nont vraiment besoin que dune synchronisation rduite entre les copies dune base de donnes et le systme de base de donnes de lentreprise, tandis que dautres requirent une synchronisation permanente entre toutes les copies de la base de donnes. Ainsi, une quipe de vente dtache ncessite habituellement la synchronisation priodique dun grand nombre de petits sites distants par rapport la base de donnes centrale de lentreprise. Ces sites sont gnralement autonomes, dconnects de la base de donnes centrale pendant des priodes relativement longues. Malgr ce fait, un membre dune quipe de vente doit tre en mesure de conclure une vente, quil soit ou non connect la base de donnes de lentreprise. Autrement dit, les sites distants doivent tre capable dappuyer toutes les transactions associes une vente. Dans ce cas prcis, lautonomie dun site revt une importance majeure par rapport la cohrence des donnes. loppos, les applications financires qui grent des actions exigent des donnes de nombreux sites, synchronises en permanence et dune manire quasi instantane, pour que le service fourni soit disponible et quivalent tout instant. Dans le mme genre, les sites Web qui affichent les prix des actions doivent offrir la garantie que les clients puissent voir les mmes informations au mme moment et sur tous les sites. Dans ce cas despce, la cohrence des donnes importe plus que lautonomie des sites. Nous proposons dautres exemples dapplications qui exigent de la rplication la section 24.5.2. Nous nous focalisons galement dans ce chapitre sur une application particulire de la rplication que lon nomme les bases de donnes mobiles et nous examinons la section 24.7 lappui que ce genre de technologie apporte aux travailleurs itinrants.

24.3

Composants fondamentaux de la rplication de base de donnes


Cette section dcrit en dtail quelques-uns des composants fondamentaux de lenvironnement de rplication de base de donnes, notamment les objets, les groupes et les sites de rplication. Un objet de rplication est un objet de base de donnes tel quune relation, un index, une vue, une fonction ou une procdure, qui existe sur plusieurs serveurs dans un systme de base de donnes distribue. Dans un environnement de rplication type, toute modification apporte un objet de rplication prsent dans un site est rpercute sur toutes les copies de cet objet dans les autres sites. Dans un environnement de rplication, les objets de rplication sont grs laide de groupes de rplication. Un groupe de rplication est une collection dobjets de rplication logiquement relis. Lorganisation dobjets de base de donnes relis en un groupe de rplication facilite amplement ladministration de ces objets. Un groupe de rplication peut exister dans de multiples sites de rplication. Les environnements de rplication soutiennent deux types fondamentaux de sites : les sites matres et les sites esclaves. Un groupe de rplication peut tre associ un ou plusieurs sites matres et un ou plusieurs sites esclaves. Un mme site peut tre la fois un site matre pour un groupe de rplication dtermin et un site esclave pour un autre groupe de rplication mais un mme site ne peut jamais tre un site matre et un site esclave pour le mme groupe de rplication.

24.4

Copyright 2005 ditions Reynald Goulet inc. Tous droits rservs

808

Chapitre 24 - Rplication et bases de donnes mobiles

Un site matre contrle un groupe de rplication et les objets de ce dernier, en entretenant une copie complte de tous les objets du groupe de rplication et en propageant toute modification du groupe toutes les copies situes sur les sites esclaves. Un site esclave peut contenir la totalit des objets dun groupe de rplication ou seulement un sous-ensemble de celui-ci. Les sites esclaves nhbergent cependant quun instantan dun groupe de rplication, sous la forme, par exemple, des donnes dune relation, captures un instant dtermin. Les sites qui contiennent les instantans sont gnralement rafrachis priodiquement pour les synchroniser avec leurs sites matres. Dans le cas dun environnement de rplication comportant plus dun site matre, tous les sites matres communiquent directement entre eux pour propager en permanence les modifications de donnes qui se produisent dans les groupes de rplication. Nous examinons la section suivante les notions relatives la cohrence des donnes parmi les sites matres et les sites esclaves.

24.5

Environnements de rplication de base de donnes


Cette section est ddie ltude des caractristiques importantes de lenvironnement de rplication de base de donnes, comme le maintien de la rplication des donnes par une rplication asynchrone ou, au contraire, synchrone et la proprit par un ou plusieurs sites de la copie matre des donnes rpliques.

24.5.1

Rplications synchrone et asynchrone


Nous avons dj tudi au chapitre prcdent les protocoles qui interviennent dans la mise jour des donnes rpliques, qui fonctionnaient selon le principe que toutes les mises jour sont gres comme une partie intgrante de la transaction englobante. Autrement dit, les donnes rpliques sont immdiatement mises jour quand les donnes sources sont mises jour, laide, de faon type, du protocole de validation en deux phases tudi la section 23.4.3. Ce type de rplication sappelle la rplication synchrone. Si ce mcanisme est ventuellement appropri dans des environnements qui doivent, par ncessit, entretenir toutes les rpliques des donnes compltement synchronises (comme les transactions des applications financires), il prsente plusieurs inconvnients. Par exemple, la transaction risque de ne pas sachever compltement si un ou plusieurs sites qui dtiennent des rpliques sont inaccessibles. En outre, le nombre de messages ncessaires pour coordonner la synchronisation des donnes impose une charge importante aux rseaux dentreprise. Nombre de SGBD commerciaux fournissent un mcanisme alternatif la synchronisation de la rplication, appel la rplication asynchrone. Avec ce mcanisme, la base de donnes cible est mise jour aprs la modification de la base de donnes source. Le dlai de rtablissement de la cohrence peut voluer de quelques secondes plusieurs heures, voire des jours. Quoi quil en soit, les donnes se synchronisent en dfinitive la mme valeur dans tous les sites dupliqus. Bien que ce mcanisme transgresse le principe dindpendance des donnes distribues, il constitue un compromis pragmatique entre lintgrit des donnes et leur disponibilit, parfois plus adapt aux besoins des organisations, puisquelles peuvent travailler sur des rpliques qui nont pas ncessairement besoin dtre toujours parfaitement synchronises et actualises.

24.5.2

Appartenance des donnes


La notion dappartenance (ou de proprit ) des donnes concerne le site qui possde le privilge de mettre jour les donnes. Les principaux types de proprits sont le matre-esclave, le workflow (flux dactivits) et la mise jour partout (update-anywhere, parfois appele rplication poste poste ou symtrique).

Copyright 2005 ditions Reynald Goulet inc. Tous droits rservs

24.5 Environnements de rplication de base de donnes | 809

Proprit matre-esclave Les donnes dupliques de manire asynchrone sont la proprit dun seul site, le site matre ou primaire, et peuvent tre mises jour par ce seul site. Suivant la mtaphore de la publication et de la souscription, le site matre (le publieur) met des donnes disposition des sites esclaves (les souscripteurs). Les sites esclaves sabonnent aux donnes possdes par le site matre, ce qui signifie quils reoivent des copies en lecture seule sur leurs propres systmes locaux. Tout site est susceptible dtre potentiellement le site matre densembles de donnes sans chevauchement, mais un seul site peut mettre jour la copie matre dun ensemble particulier de donnes, de sorte quaucun conflit de mise jour ne peut se produire parmi les sites. Voici quelques exemples dapplications qui illustrent tout le potentiel de ce type particulier de rplication : n Lanalyse dun systme dassistance la dcision. Les donnes dune ou plusieurs bases de donnes sont recopies et charges dans un systme distinct daide la dcision en vue de lanalyse en lecture seule. Dans le cas de Maisons de Rve, nous pourrions rcuprer toutes les informations concernant les locations et les ventes de proprits avec les dtails des clients sur un systme part, pour conduire des analyses et dterminer des tendances, comme les types de personnes les plus susceptibles dacheter ou de louer un logement dans une gamme de prix ou une zone gographique dtermine. Aux chapitres 33 et 34, nous revenons sur les technologies qui exigent ce genre de rplication dans le contexte de lanalyse, notamment lOLAP et lexploration de donnes. La distribution et la dissmination dinformations centralises. La dissmination de donnes dcrit un environnement o les donnes sont mises jour dans un emplacement central, puis dupliques dans des sites en lecture seule. Par exemple, les informations sur des produits, comme la liste des prix, pourraient tre entretenues au sige central dune entreprise et dupliques sous la forme de copies en lecture seule hberges dans des filiales. La figure 24.1.a illustre ce type de rplication. La consolidation dinformations distantes. La consolidation de donnes dcrit un environnement o les donnes sont mises jour localement et runies ensuite dans un annuaire en lecture seule, dans un emplacement dtermin. Cette mthode accorde une proprit des donnes chaque site et lui offre une certaine autonomie. Par exemple, les dtails des proprits entretenus dans chaque agence de Maisons de Rve sont dupliqus dans une copie de consolidation en lecture seule conserve sur le site du sige social de lentreprise. La figure 24.1.b illustre cette forme de rplication. Linformatique mobile ou itinrante. Linformatique mobile est devenue nettement plus accessible ces dernires annes et, dans nombre de socits, des gens travaillent distance de leurs bureaux. Un certain nombre de mthodes permettent actuellement de fournir des donnes de la main duvre mobile, dont la rplication ne reprsente quun exemple. Dans ce cas, les donnes sont tlcharges sur demande partir dun serveur de groupe de travail local. Les mises jour des donnes de groupe de travail ou centrales, de la part du client mobile, comme les informations relatives un nouveau client o une commande, sont traites de la mme manire. Nous revenons sur les dtails de cette application de la rplication de donnes la section 24.7.

Si un site central possde les donnes de la totalit dune relation, les autres sites souscrivent des copies en lecture seule de cette relation. linverse, plusieurs sites peuvent ne possder que des fragments distincts dune mme relation et les autres sites doivent sabonner des copies en lecture seule de ces fragments. Ce type de rplication est galement connu sous le nom de rplication asymtrique. Dans le cas de Maisons de Rve, nous pourrions implanter un SGBD distribu pour permettre chaque agence de dtenir ses propres partitions horizontales distinctes des relations de PropritALouer, Client et Bail. Un sige central pourrait sabonner aux donnes dtenues par chaque agence pour constituer une copie consolide en lecture seule de tous les logements, clients et baux, valables pour lensemble de lorganisation.

Copyright 2005 ditions Reynald Goulet inc. Tous droits rservs

810

Chapitre 24 - Rplication et bases de donnes mobiles

Figure 24.1 Proprit matreesclave : a) dissmination des donnes; b) consolidation des donnes.

a)

b)

Copyright 2005 ditions Reynald Goulet inc. Tous droits rservs

24.5 Environnements de rplication de base de donnes | 811

Figure 24.2 Proprit de flux dactivit.

Proprit de flux dactivit (workflow) Comme la proprit matre-esclave, le modle de proprit de flux dactivit vite les conflits de mise jour tout en proposant dans le mme temps un modle de proprit plus dynamique. La proprit de flux dactivit permet de dplacer le droit de mettre jour les donnes dupliques dun site un autre. tout moment, un seul site est en droit de modifier un ensemble dtermin de donnes. Lexemple type de proprit de flux dactivit est celui dun systme de gestion de commandes, o le traitement des commandes suit une srie dtapes telles que la saisie de la commande, lapprobation de crdit, la facturation, lexpdition et ainsi de suite. Dans un SGBD centralis, les applications de cette nature accdent aux donnes et les mettent jour dans une base de donnes intgre : chaque application met jour les donnes de commande en une squence lorsque, et uniquement lorsque, ltat de la commande indique que ltape prcdente a t accomplie. Dans un modle de proprit de flux dactivit, les applications peuvent tre dissmines parmi les diffrents sites qui composent lentreprise et, au fur et mesure o les donnes sont dupliques et transmises au site suivant de la chane, le droit de mise jour les donnes se propage galement, comme illustr la figure 24.2. Proprit de mise jour partout (ou rplication symtrique) Les deux modles que nous venons dvoquer partagent une particularit : un moment spcifique, un seul site peut modifier les donnes, tandis que tous les autres sites nont quun accs en lecture aux rpliques. Certains environnements ne peuvent saccommoder de ces restrictions. Le modle de mise jour partout cre un environnement de poste poste o plusieurs sites ont des droits gaux de modifier les donnes dupliques. Ceci permet des sites locaux de fonctionner en toute autonomie, mme lorsque les autres sites ne sont pas disponibles. Ainsi, Maisons de Rve pourrait dcider de mettre en place une ligne directe permettant aux candidats locataires de tlphoner via un numro de tlphone tarification partage pour dclarer leur intrt envers la location dun logement ou les logements dune zone gographique, pour convenir dune visite ou, globalement, se livrer toutes les actions quils pourraient entreprendre en visitant une agence. Pour ce faire, des centres dappel ont t mis en place dans toutes les agences et les appels sont drouts jusqu lagence la plus proche; par exemple, les personnes intresses par des logements de Toronto et appelant de Rimouski sont dvies jusqu lagence de Qubec, car Qubec est responsable (notamment des clients locataires) de la rive sud du fleuve Saint-Laurent. Le systme de tlcommunications tente dquilibrer la charge, de sorte que, si Qubec est particulirement occup, les appels peuvent tre dvis vers Montral. Chaque centre dappel doit tre en mesure daccder aux donnes de nimporte quelle autre agence et de les modifier : les enregistrements mis jour doivent tre dupliqus dans les autres sites, comme illustr la figure 24.3.

Copyright 2005 ditions Reynald Goulet inc. Tous droits rservs

812

Chapitre 24 - Rplication et bases de donnes mobiles

Figure 24.3 Proprit de mise jour partout (de poste poste).

La proprit partage entrane tt ou tard des scnarios de conflit et larchitecture de rplication doit employer une mthodologie de dtection et de rsolution des conflits. Nous reviendrons sur ce problme la section suivante.

24.6

Serveurs de rplication
Ainsi que nous le mentionnions la section 22.1.2, les SGBDD usage gnral ne sont pas encore universellement accepts lheure actuelle, bien que nombre des protocoles et des problmes sont bien compris et assimils. La rplication de donnes, cest--dire la copie et lentretien de donnes sur plusieurs serveurs, apparat comme une solution privilgie par rapport au SGBDD. Tous les principaux diteurs de logiciels de base de donnes tels que Microsoft Office Access et Oracle proposent une solution de rplication dune sorte ou dune autre et nombre de vendeurs de logiciels distincts des bases de donnes offrent galement des mthodes de rplication des donnes. Le serveur de rplication (replication server) est une alternative et forme une approche potentiellement plus simple, la distribution des donnes. Dans cette section, nous examinons les fonctions que nous pouvons attendre dun serveur de rplication et nous valuons quelques-uns des concepts dimplmentation lis cette technologie.

24.6.1

Fonctionnalits de serveur de rplication


Au niveau fondamental, nous attendons duns service de rplication de donnes distribues quil soit capable de copier des donnes dune base de donnes une autre, de manire synchrone ou asynchrone. De nombreuses autres fonctions doivent toutefois tre prsentes, telles que (Buretta, 1997) : n Lvolutivit (scalability). Le service doit tre en mesure de grer la rplication tant de petits que de grands volumes de donnes.

Copyright 2005 ditions Reynald Goulet inc. Tous droits rservs

24.6 Serveurs de rplication | 813

n n

n n

La gestion des correspondances et de la transformation. Le service doit tre capable de grer la rplication parmi des SGBD et des plates-formes diffrents. Nous mentionnions la section 22.1.3 que ceci suppose de faire correspondre des donnes dun modle de donnes un autre et de grer les transformations de ces donnes dun type en un autre type de donne dun SGBD diffrent. La rplication dobjet. Il doit galement tre possible de rpliquer des objets autres que des donnes. Par exemple, certains systmes permettent de dupliquer des index et des procdures stockes (ou des dclencheurs). La spcification du schma de rplication. Le systme doit proposer un mcanisme qui permette un utilisateur privilgi de spcifier les donnes et les objets rpliquer. Un mcanisme dabonnement (souscription). Le systme doit offrir un mcanisme qui permette un utilisateur privilgi de sabonner aux donnes et aux objets disponibles dans le cadre de la rplication. Un mcanisme dinitialisation. Le systme se doit de proposer un mcanisme dinitialisation dune rplique cible. Une administration aise. Ladministrateur de base de donnes ne peut prouver aucune difficult grer le systme, ni vrifier ltat et surveiller les performances des composants du systme de rplication.

Notions relatives limplmentation


Nous examinons dans cette section quelques notions dimplmentation qui gravitent autour de la rplication des donnes par le serveur de rplication, notamment : n n n les mises jour transactionnelles; les instantans et les dclencheurs de base de donnes; la dtection et la rsolution des conflits.

24.6.2

Mises jour transactionnelles


Une premire approche emprunte par les organisations pour mettre en place un mcanisme de rplication tait de charger les donnes adquates sur un support de sauvegarde (par exemple une cassette de bande magntique) puis denvoyer le support par courrier un second site, o le contenu du support de sauvegarde tait charg dans un autre systme informatique (une mthode de communication dsigne de sneakernet, le rseau de chapardeurs , ou de sneakerware). Le second site prenait ensuite les dcisions qui simposaient en fonction de ces donnes, dont lactualit remontait bien entendu quelques jours. Les principaux inconvnients de cette approche rsident dans lobsolescence systmatique des donnes et lexigence dune manipulation humaine des donnes. Les tentatives suivantes de mise en place dune rplication automatise taient non transactionnelles par nature, c'est--dire que les donnes taient copies sans conserver latomicit des transactions, entranant une perte potentielle de lintgrit des donnes distribues. La figure 24.4.a illustre cette approche. Elle montre une transaction constitue de plusieurs oprations de modification sur des relations effectue sur les donnes du site source, convertie lors du processus de rplication en une suite de transactions distinctes, responsables chacune de la modification dune relation bien dtermine. Si, sur le site cible, certaines transactions russissent alors que dautres chouent, la cohrence parmi les bases de donnes source et cible est perdue. La figure 24.4.b illustre le mcanisme de rplication transactionnel, o la structure mme de la transaction originale sur la base de donnes source est conserve sur le site cible.

Copyright 2005 ditions Reynald Goulet inc. Tous droits rservs

814

Chapitre 24 - Rplication et bases de donnes mobiles

Figure 24.4 a) Rplication de modifications non transactionnelle; b) rplication de modifications transactionnelle.

a)

b)

Instantans, compars aux dclencheurs de base de donnes


Les instantans (ou clichs) prsentent un certain intrt dans le cadre des mcanismes de rplication transactionnels. Nous comparons cette mthode un autre mcanisme qui exploite des dclencheurs de base de donnes. Instantans Un instantan (snapshot) permet la distribution asynchrone des modifications apportes aux relations, des collections de relations, des vues ou des fragments de relations, pris individuellement, en fonction dune planification dfinie lavance, par exemple tous les jours 23 heures. Nous pourrions ainsi stocker la relation Personnel dans un site (matre) et crer un instantan contenant une copie complte de la relation Personnel dans chacune des filiales. Autre possibilit, nous pourrions crer un clich de la relation Personnel pour chaque agence, contenant les seuls dtails du personnel qui travaille dans cette agence. Nous proposons un exemple de cration dinstantans avec Oracle la section 24.8. Une approche usuelle de la gestion des instantans emploie le fichier journal de rcupration, induisant de ce fait le minimum de charge supplmentaire pour le systme. Lide fondamentale est que le journal est la meilleure source dinformations de capture des donnes sources. Il suffit donc de mettre en place un mcanisme qui, partir du fichier journal, dtecte les modifications des donnes sources et propage les changements dans les bases de donnes cibles sans interfrer avec les oprations normales du systme source. Les produits de base de donnes diffrent dans lintgration de ce mcanisme au SGBD. Dans certains cas, le processus fait partie intgrante du serveur de base de donnes mme, tandis que dans dautres cas, il fonctionne sous la forme dun serveur externe distinct. Un processus de mise en file dattente est galement ncessaire pour envoyer les mises jour aux autres sites. Dans lventualit dune rupture de rseau ou de la panne dun site, la file dattente retient les modifications jusquau rtablissement de la connexion. Pour garantir lintgrit, lordre des mises jour est obligatoirement respect durant la livraison. Dclencheurs de base de donnes Une autre approche autorise les utilisateurs dfinir leurs propres applications de rplication laide de dclencheurs de base de donnes (database trigger). Ici, la responsabilit incombe aux utilisateurs de rdiger le code des dclencheurs qui sexcute chaque fois que lvnement adquat se produit, comme lajout

Copyright 2005 ditions Reynald Goulet inc. Tous droits rservs

24.6 Serveurs de rplication | 815

dun tuple ou la modification dun tuple existant. Par exemple, Oracle nous permet dexploiter le dclencheur suivant pour entretenir une rplique de la relation Personnel dans un autre site, dtermin par la liaison de base de donnes dnomme LOCATION.MONTREAL.CA.COM (voir section 23.9) : CREATE TRIGGER PersonnelAprsAjoutLigne BEFORE INSERT ON Personnel FOR EACH ROW BEGIN INSERT INTO PersonnelDuplicata@LOCATION.MONTREAL.CA.COM VALUES ( :new.numPersonnel, :new.prnom, :new.nom, :new.fonction, :new.genre, :new.salaire, :new.numFiliale); END; Ce dclencheur est invoqu lors de linsertion de chaque tuple dans la copie primaire de la relation
Personnel. Tout en offrant plus de souplesse que les instantans, cette approche subit les inconvnients

suivants : n n n La gestion et lexcution des dclencheurs grvent les performances, du fait de la charge supplmentaire quelles entranent. Les dclencheurs transfrent les donnes lors de leur modification, mais nont aucune conscience de la nature transactionnelle des modifications. Les dclencheurs sexcutent lors de toutes les modifications de tuples dans la relation matre. Si la relation matre subit de nombreuses modifications, ils induisent une charge supplmentaire non ngligeable de lapplication et du rseau. Au contraire, les instantans collectent les modifications en une seule transaction. Les dclencheurs ne sont pas planifiables; ils sactivent lorsque se produit la modification de la relation matre, tandis que les instantans peuvent tre planifis ou dmarrs manuellement. Ceci dit, les deux mthodes doivent viter les grosses surcharges dues aux transactions de rplication pendant les priodes de pointe dutilisation du systme. Si plusieurs relations lies doivent tre dupliques, la synchronisation des rpliques peut tre obtenue laide de mcanismes tels que les groupes de rafrachissement, tandis que ce mme but est beaucoup plus complexe atteindre laide de dclencheurs. Lactivation des dclencheurs nest pas facile dfaire dans lventualit dune opration dannulation de transaction.

Dtection et rsolution des conflits


Quand plusieurs sites sont autoriss dupliquer des donnes, il est ncessaire de faire appel un mcanisme de dtection des conflits de modification et de restauration de la cohrence des donnes. Un mcanisme simplifi dtecte les conflits au sein dune seule relation en envoyant, du site source, les ancienne et nouvelle valeurs (les images avant et aprs) de tout tuple modifi depuis le dernier rafrachissement. Au site cible, le serveur de rplication compare tous les tuples dans la base de donnes cible qui ont aussi reu des modifications, par rapport ces valeurs. Nous devons nanmoins prendre en compte dautres types de conflits tels que la transgression de lintgrit rfrentielle parmi deux relations. Bien dautres mcanismes ont t proposs pour rsoudre les conflits et certains dentre eux sont trs souvent appliqus; ce sont les suivants : n Les estampilles la plus ancienne et la plus rcente. Appliquer la mise jour correspondant la donne qui porte lestampille la plus ancienne ou, au contraire, la plus rcente.

Copyright 2005 ditions Reynald Goulet inc. Tous droits rservs

816

Chapitre 24 - Rplication et bases de donnes mobiles

n n

n n n

La priorit de site. Appliquer la mise jour qui provient du site portant la plus grande priorit. Les mises jour additive et moyenne. Appliquer commutativement les mises jour. Ce genre de rsolution de conflit sutilise quand des changements un attribut ont la forme dune addition, Par exemple salaire = salaire + x. Les valeurs minimum et maximum. Appliquer les mises jour correspondant un attribut de valeur minimum ou maximum. Dfinition par lutilisateur. Permettre lABD de fournir une procdure dfinie par lui-mme qui rsout le conflit. Des procdures diffrentes peuvent co-exister pour diffrents types de conflits. La conservation en vue dune rsolution manuelle. Enregistrer le conflit dans un fichier journal derreur, pour que lABD puisse ultrieurement rviser et rsoudre manuellement les conflits.

Certains systmes rsolvent aussi les conflits rsultant de lusage rparti des contraintes de cl primaire ou dunicit; par exemple : n n n Ajouter le nom du site un doublon de valeur. Ajouter le nom global de la base de donnes du site original la valeur de lattribut dupliqu. Ajouter un numro de squence la valeur en double. Ajouter la valeur de lattribut un numro dordre dans une squence prdfinie. carter les doublons. Omettre volontairement lenregistrement du site lorigine de lerreur.

En clair, si la rsolution de conflits se base sur les estampilles, il est vital de faire en sorte que les estampilles des diffrents sites participant la rplication insrent un lment de fuseau horaire ou se fondent sur le mme fuseau horaire. Par exemple, les serveurs de bases de donnes seront rgls sur lheure du mridien de Greenwich ou tout autre fuseau horaire acceptable et, de prfrence, un fuseau qui nobserve pas le passage lheure dt et dhiver.

24.7

Introduction aux bases de donnes mobiles


Nous sommes actuellement les tmoins dune demande de plus en plus soutenue pour une informatique mobile offrant des types de supports de donnes indispensables un nombre croissant de travailleurs mobiles (itinrants) et (ou) de tltravailleurs. Les personnes qui entrent dans ces catgories ont besoin de travailler comme si elles se trouvaient dans leurs bureaux, mais partir dendroits distants tels que des bureaux propres aux clients, pendant leurs dplacements ou, plus simplement, de chez eux. Ce concept est tel, que le bureau accompagne le travailleur distant, sous la forme dun ordinateur portable, dun assistant numrique personnel (PDA, personal digital assistant) ou de tout autre dispositif daccs Internet. Avec la stupfiante expansion des communications cellulaires, sans fil et par satellite, il sera bientt possible aux utilisateurs mobiles daccder leurs donnes nimporte quand et de nimporte quel endroit. Malheureusement, ltiquette en matire de relations commerciales et de travail, les aspects pratiques, la scurit et, surtout, les cots freinent les communications, de sorte quil nest pas possible dtablir de communication permanente, nimporte quel moment et aussi longtemps que les utilisateurs le souhaiteraient. Les bases de donnes mobiles offrent une solution certaines de ces restrictions. Base de donnes mobile Une base de donnes portable, spare physiquement dun serveur de base de donnes dentreprise mais capable de communiquer avec ce serveur partir de sites distants, o ceuxci autorisent le partage des donnes de lentreprise.

Copyright 2005 ditions Reynald Goulet inc. Tous droits rservs

24.7 Introduction aux bases de donnes mobiles | 817

Figure 24.5 Architecture type dun environnement de base de donnes mobile (BDD = base
de donnes).

Grce aux bases de donnes mobiles, les utilisateurs ont accs aux donnes de leur entreprise sur leurs ordinateurs portables, leurs assistants numriques personnels et tout autre dispositif daccs Internet ncessaires aux applications qui peuvent fonctionner dans des sites distants. La figure 24.5 illustre larchitecture type dun environnement de base de donnes mobile. Les composants dun tel environnement sont notamment : n n n n Un serveur de base de donnes dentreprise et un SGBD qui grent et stockent les donnes dentreprise, et fournissent les applications lchelle de lentreprise. Une base de donnes distante qui gre et stocke les donnes mobiles et assure le fonctionnement des applications mobiles. Une plate-forme de base de donnes mobile constitue dun ordinateur portable, dun assistant numrique personnel et (ou) de tout autre quipement de connexion Internet. Des liaisons de communication deux voies entre les SGBD dentreprise et mobile.

Les communications entre les bases de donnes dentreprise et mobile sont gnralement intermittentes : elles stablissent pendant de courtes priodes et des intervalles irrguliers. Bien que soit inhabituel, certaines applications exigent des communications directes entre les bases de donnes mobiles. Les deux principaux concepts lis aux bases de donnes mobiles sont la gestion de la base de donnes mobile et les communications entre les bases de donnes mobiles et dentreprise. Nous identifions la section suivante les exigences des SGBD mobiles.

Copyright 2005 ditions Reynald Goulet inc. Tous droits rservs

818

Chapitre 24 - Rplication et bases de donnes mobiles

24.7.1

SGBD mobiles
Les principaux diteurs de SGBD proposent aujourdhui des SGBD mobiles. En fait, ce dveloppement est partiellement responsable de lexplosion des ventes des plus grands diteurs de SGBD. Pour la plupart, ils promeuvent leurs SGBD mobiles par largument quils sont capables de communiquer avec une gamme de SGBD relationnels et en fournissant des services de base de donnes qui nexigent que peu de ressources de calcul, ce qui les adapte bien celles proposes par les appareils mobiles. Les fonctionnalits supplmentaires exiges par les SGBD mobiles sont la capacit : n n n n n n n Communiquer avec le serveur de base de donnes central via des nuds connects sans fil ou par Internet. Dupliquer des donnes sur le serveur de base de donnes et lappareil mobile. Synchroniser les donnes sur le serveur de base de donnes et lappareil mobile. Capturer des donnes de toutes sortes de sources, comme Internet. Grer les donnes sur lappareil mobile. Analyser les donnes sur un appareil mobile. Crer des applications mobiles sur mesure.

Les diteurs de SGBD mnent des politiques de prix par utilisateur telles, que les organisations trouvent une efficacit financire tendre leurs applications aux appareils mobiles dans des cas qui les cantonnaient auparavant dans les bureaux. Actuellement, la plupart des SGBD mobiles ne proposent malheureusement encore que des fonctions SQL premballes pour les applications mobiles, au lieu de requtes compltes et des analyses tendues sur les bases de donnes. Il est toutefois prvisible que dans un avenir proche, les appareils mobiles offriront des fonctionnalits comparables celles des sites dentreprise.

24.8

Rplication sous Oracle


Nous terminons ce chapitre en examinant les fonctionnalits de rplication dOracle 9i (Oracle Corporation, 2004e). Dans cette section, nous reprenons la terminologie dOracle, qui fait rfrence une relation en parlant de table, constitue de lignes et de colonnes. Nous avons propos une introduction Oracle la section 8.2.

24.8.1

Fonctionnalits de rplication dOracle


Si Oracle offre des fonctionnalits de SGBD distribu, il propose aussi un outil nomm Oracle Advanced Replication permettant une rplication la fois synchrone et asynchrone. La rplication dOracle permet de rpliquer des tables et des objets de soutien, tels que les vues, les dclencheurs, les packages, les index et les synonymes. Ldition standard dOracle naccepte quun seul site matre qui duplique les modifications vers des sites esclaves. Ldition Entreprise autorise lexistence de plusieurs sites matres et les mises jour peuvent prendre place dans nimporte lequel de ces sites. Dans cette section, nous parcourons brivement le mcanisme de rplication dOracle. Nous commenons par dfinir les genres de rplication quOracle accepte.

Copyright 2005 ditions Reynald Goulet inc. Tous droits rservs

24.8 Rplication sous Oracle | 819

Types de rplication
Oracle accepte quatre types de rplication : n Les instantans en lecture seule, connus aussi sous le nom de vues matrialises. Une table matre est copie dans une ou plusieurs bases de donnes distantes. Les modifications apportes la table matre se rpercutent dans les tables des instantans lors de chaque rafrachissement, sous limpulsion du site hbergeant les instantans. Les instantans modifiables. Semblables aux prcdents, ils autorisent cependant les modifications des donnes des instantans; celles-ci sont ensuite rpercutes sur le site matre. Ici aussi, les sites qui hbergent les instantans dterminent la frquence des rafrachissements, tant des instantans que des renvois des modifications au site matre. La rplication matres multiples. Une table est copie dans une ou plusieurs bases de donnes distantes, o elle peut subir des mises jour. Les modifications sont expdies lautre base de donnes dans un dlai impos par ladministrateur de base de donnes de chaque groupe de rplication. La rplication procdurale. Lappel une procdure ou une fonction empaquete est clon dans une ou plusieurs autres bases de donnes.

Nous tudions un peu plus en dtail ces types de rplication.

Groupes de rplication
Pour simplifier ladministration, Oracle gre les objets de rplication par lentremise de groupes de rplication. De faon type, la cration des groupes de rplication a pour but dorganiser les objets de schma ncessaires une application particulire. Les objets de groupe de rplication proviennent ventuellement de plusieurs schmas et un objet de schma est susceptible de contenir des objets provenant de plusieurs groupes de rplication diffrents. Un objet de rplication ne peut toutefois tre membre que dun seul groupe.

Sites de rplication
Un environnement de rplication Oracle peut faire intervenir deux types de sites : n Le site matre conserve une copie complte de tous les objets dun groupe de rplication. Tous les sites matres dans un environnement de rplication matres multiples communiquent directement les uns avec les autres pour propager les modifications des donnes dans un groupe de rplication (qui, dans un environnement de rplication matres multiples, sappelle un groupe matre). Chacun des groupes matres, dans chacun des sites, doit contenir le mme ensemble dobjets de rplication, en fonction dun seul site de dfinition matre. Le site dinstantan soutient les instantans en lecture seule ou modifiables des donnes dune table dans un site matre associ. Alors que, dans la rplication matres multiples, les tables sont continuellement mises jour par les autres sites, les instantans sont, eux, mis jour par une ou plusieurs tables matres par lentremise de mises jour par lot individuelles, dsignes du terme de rafrachissements, partir dun seul site matre. Un groupe de rplication dans un site dinstantan sappelle un groupe dinstantans.

Groupes de rafrachissement
Sil est ncessaire de rafrachir deux instantans ou plus au mme moment, par exemple pour conserver lintgrit parmi des tables, Oracle permet de dfinir des groupes de rafrachissement (refresh groups). Aprs

Copyright 2005 ditions Reynald Goulet inc. Tous droits rservs

820

Chapitre 24 - Rplication et bases de donnes mobiles

rafrachissement de tous les instantans dans un groupe de rafrachissement, les donnes de tous les instantans du groupe correspondent au mme moment, cohrent dun point de vue transactionnel. Le package DBMS_REFRESH contient des procdures qui permettent dentretenir des groupes de rafrachissement en PL/SQL. Nous pouvons par exemple grouper les instantans PersonnelLocal, ClientLocal et PropritaireLocal en un groupe dinstantans comme suit : DECLARE vListeInstantans DBMS_UTILITY.UNCL_ARRAY; BEGIN vListeInstantans(1) = 'PersonnelLocal'; vListeInstantans(1) = 'ClientLocal'; vListeInstantans(1) = 'PropritaireLocal'; DBMS_REFRESH.MAKE ( name => 'LOCAL_INFO', tab => vListeInstantans, next_date => TRUNC(sysdate) + 1, interval => 'sysdate + 1'); END;

Types de rafrachissement
Oracle permet de rafrachir (refresh) un instantan dune des manires suivantes : n COMPLETE. Le serveur qui gre linstantan excute la requte de dfinition de linstantan. Lensemble de rsultats de la requte remplace les donnes de linstantan actuel pour le rafrachir. Oracle peut ainsi effectuer un rafrachissement complet de nimporte quel instantan. Selon la quantit de donnes qui satisfont la dfinition de la requte, un rafrachissement complet prend bien entendu souvent plus de temps quun rafrachissement rapide (fast). FAST. Le serveur qui gre linstantan identifie dabord les modifications intervenues dans la table matre depuis le rafrachissement le plus rcent de linstantan, puis les applique linstantan. Les rafrachissements rapides prsentent une meilleure efficacit que les rafrachissements complets lorsque les modifications sont peu nombreuses dans la table matre, car le serveur participant et le rseau convoient moins de donnes. Les rafrachissements rapides sont possibles pour des instantans, seulement quand la table matre possde un journal dinstantan. Si le rafrachissement rapide nest pas possible, une erreur est leve et le ou les instantans ne sont pas rafrachis. FORCE. Le serveur qui gre linstantan essaie dabord le rafrachissement rapide et, sil nest pas possible, Oracle effectue un rafrachissement complet.

Cration dinstantans
La procdure fondamentale de cration dun instantan en lecture seule est la suivante : 1) Identifier la ou les tables du ou des sites matres dupliquer sur le site dinstantan et le schma qui devra possder les instantans. 2) Crer une ou plusieurs liaisons (connexions) de base de donnes sur le site dinstantan, vers le ou les sites matres. 3) Crer des journaux dinstantan (snapshot log) dans la base de donnes matre pour chacune des tables matres si le rafrachissement rapide est ncessaire (voir plus bas). 4) Utiliser linstruction CREATE SNAPSHOT pour crer linstantan. Nous dfinissons comme suit, par exemple, un instantan contenant les informations du personnel de la filiale F003 :

Copyright 2005 ditions Reynald Goulet inc. Tous droits rservs

24.8 Rplication sous Oracle | 821

CREATE SNAPSHOT Personnel REFRESH FAST START WITH sysdate NEXT sysdate + 7 WITH PRIMARY KEY AS SELECT * FROM Personnel@PLOCATION.PARIS.FR.COM WHERE numFiliale = 'F003'; Dans cet exemple, la clause SELECT dfinit les lignes de la table matre (situe dans PLOCATION.PARIS.FR.COM; voir section 23.9) dupliquer. La clause START WITH tablit que le rafrachissement de linstantan doit se produire tous les sept jours partir daujourdhui (sysdate). Sur le site dinstantan, Oracle cre une table dnomme SNAP$_Personnel, contenant toutes les colonnes de la table matre Personnel. Oracle cre une vue dnomme Personnel, dfinie comme tant une requte sur la table SNAP$_Personnel. Il planifie aussi une tche (job) dans la file dattente des tches pour rafrachir linstantan. 5) Crer ventuellement un ou plusieurs groupes de rafrachissement sur le site dinstantan et affecter chaque instantan un groupe.

Journaux dinstantan
Un journal dinstantan (snapshot log) est une table qui suit tous les changements apports une table matre. La cration dun journal dinstantan seffectue avec linstruction CREATE SNAPSHOT LOG ou linstruction qui remplace celle-ci dans la version 9.2 dOracle, CREATE MATERIALIZED VIEW LOG. Ainsi, pour la table Personnel, nous pouvons crer un journal dinstantan comme suit : CREATE SNAPSHOT LOG ON Personnel WITH PRIMARY KEY TABLESPACE Maisons de Rve_Donnes STORAGE (INITIAL 1 NEXT 1M PCTINCREASE 0); Cette instruction cre une table dnomme Maisons de Rve.mlog$_Personnel, contenant la cl primaire de la table Personnel, numPersonnel, ainsi quun certain nombre dautres colonnes, notamment lheure laquelle une ligne a t modifie, le type de modification et les valeurs ancienne et nouvelle. Oracle cre aussi un dclencheur aprs ligne sur la table Personnel, qui remplit le journal dinstantan aprs chaque insertion, modification ou suppression. Oracle Replication Manager permet galement de crer des journaux dinstantan de manire interactive.

Instantans modifiables
Les instantans modifiables (updatable snapshot) ressemblent des instantans en lecture seule, sauf que les sites dinstantan peuvent modifier les donnes et renvoyer les changements au site matre. Le site dinstantan dtermine la frquence des rafrachissements et la frquence des renvois des modifications au site matre. Pour crer un instantan modifiable, nous spcifions simplement en plus la clause FOR UPDATE, avant la sous-slection dans linstruction CREATE SNAPSHOT. Lorsque nous lui demandons de crer un instantan modifiable correspondant la table Personnel, Oracle cre les objets suivants : 1) La table SNAP$_PERSONNEL sur le site dinstantan, contenant les rsultats de la requte de dfinition. 2) La table USLOG$_PERSONNEL sur le site dinstantan, collectant des informations sur les lignes qui subissent des modifications. Ces informations servent la mise jour de la table matre.

Copyright 2005 ditions Reynald Goulet inc. Tous droits rservs

822

Chapitre 24 - Rplication et bases de donnes mobiles

3) Le dclencheur USLOG$_PERSONNEL sur la table SNAP$_PERSONNEL sur le site dinstantan qui remplit la table USLOG$_PERSONNEL. 4) Le dclencheur PERSONNEL$RT sur la table SNAP$_PERSONNEL, sur le site dinstantan, qui lance des appels au package PERSONNEL$TP. 5) Le package PERSONNEL$TP sur le site dinstantan qui construit les appels de procdure distants diffrs, appelant le package PERSONNEL$RP du site matre. 6) Le package PERSONNEL$RP qui effectue les mises jour de la table matre. 7) Le package PERSONNEL$RR contenant des routines de rsolution des conflits sur le site matre. 8) La vue Personnel dfinie sur la table SNAP$_PERSONNEL. 9) Lentre dans la file dattente des tches, qui appelle le package DBMS_REFRESH.

Rsolution des conflits


Nous avons envisag la rsolution des conflits dans le contexte de lenvironnement distribu la fin de la section 24.5.2. Oracle implmente nombre des mcanismes de rsolution des conflits que nous avons voqus dans cette section, laide de groupes de colonnes. Un groupe de colonnes est un regroupement logique dune ou plusieurs colonnes dune table duplique. Une colonne ne peut appartenir plus dun groupe de colonnes et les colonnes qui ne sont pas explicitement attribues un groupe de colonne sont automatiquement membres dun groupe de colonnes masqu qui suit les mthodes de rsolution de conflits prdfinies (par dfaut). La cration des groupes de colonnes, puis lattribution de mthodes de rsolution ceux-ci, seffectuent grce au package DBMS_REPCAT. Par exemple, pour attribuer la mthode de rsolution par estampille la plus rcente la table Personnel et ainsi rsoudre les conflits de modifications du salaire du personnel, nous devons entretenir une colonne destampille dans la table Personnel, par exemple salaireEstampille, et emprunter un des appels de procdures suivants : EXECUTE DBMS_REPCAT.MAKE_COLUMN_GROUPS (gname => 'HR' , oname => 'PERSONNEL', column_group => 'SALAIRE_GP', list_of_column_names => 'numPersonnel, salaire, salaireEstampille'); EXECUTE DBMS_REPCAT.ADD_UPDATE_RESOLUTION (sname => 'HR', oname => 'PERSONNEL', column_group => 'SALAIRE_GP', sequence_no => 1, method => 'LATEST_TIMESTAMP', parameter_column_name => 'salaireEstampille', comment = 'Mthode 1 ajoute le ' || sysdate); Le package DBMS_REPCAT contient galement des routines qui permettent de crer des groupes de priorit et des sites prioritaires. Les groupes de colonnes, les groupes de priorit et les sites de priorit peuvent tre crs de faon interactive laide dOracle Replication Manager.

Rplication matre multiple


Dans le contexte de la rplication matre multiple, nous avons vu au dbut de cette section quune table est copie dans une ou plusieurs bases de donnes distantes un intervalle de temps rgl par lABD pour chaque groupe de rplication. Selon bien des aspects, la mise en place de la rplication matre multiple est plus simple que celle des instantans modifiables, puisquil nest fait aucune distinction entre les sites matres et les sites dinstantans. Le mcanisme sous-jacent de ce type de rplication est constitu de dclencheurs sur les tables dupliques, appelant des procdures de package qui placent en file dattente des appels de procdures distantes diffrs la base de donnes matre distante. La rsolution des conflits a t dcrite ci-dessus.

Copyright 2005 ditions Reynald Goulet inc. Tous droits rservs

Rsum du chapitre | 823

Rsum du chapitre
n n n n La rplication de base de donnes est un mcanisme important parce quil permet des organisations de fournir leurs utilisateurs laccs des donnes actualises o et quand ils en ont besoin. La rplication de base de donnes est le processus de copie et dentretien dobjets de base de donnes, tels que des relations, dans des bases de donnes multiples qui forment un systme de base de donnes distribue. La rplication offre un certain nombre davantages, parmi lesquels une fiabilit et une disponibilit amliores des donnes, ainsi que le soutien linformatique autonome, de nombreux utilisateurs et des applications volues. Un objet de rplication est un objet dune base de donnes tel quune relation, un index, une vue, une procdure ou une fonction, qui existe sur plusieurs serveurs dans un systme de base de donnes distribue. Dans un environnement de rplication, toute modification apporte un objet de rplication dans un site sapplique galement toutes les copies de cet objet dans les autres sites. Dans un environnement de rplication, les objets de rplication sont grs laide de groupes de rplication. Un groupe de rplication est une collection dobjets de rplication relis logiquement. Un groupe de rplication peut exister dans plusieurs sites de rplication. Les environnements de rplications acceptent deux types fondamentaux de sites : les sites matres et les sites esclaves. Un site matre contrle un groupe de rplication et tous les objets de ce groupe en entretenant une copie complte de tous les objets du groupe et en propageant toutes les copies du groupe, situes sur les sites esclaves, toute modification aux objets du groupe de rplication. Un site esclave contient seulement un instantan (snapshot) dun groupe de rplication tel que les donnes dune relation, collectes un instant dtermin. Un instantan est rafrachi priodiquement pour le synchroniser avec le site matre. La rplication synchrone reprsente une mise jour immdiate des donnes cibles rpliques la suite dune modification dune donne source. Elle est gnralement obtenue grce au protocole de validation en deux phases. La rplication asynchrone apparat lorsque la base de donnes cible rplique est mise jour un instant donn, parfois bien aprs la modification de la base de donnes source. Le dlai ncessaire pour retrouver la cohrence entre des bases de donnes source et cible peut varier de quelques secondes plusieurs heures, voire des jours. Cependant, les donnes se synchronisent en dfinitive la mme valeur pour tous les sites. Les modles de proprit sont, dans le contexte de la rplication, le matre-esclave, le flux dactivit (workflow) et la mise jour partout (ou de poste poste). Dans les deux premiers modles, les rpliques sont en lecture seule, tandis que, dans le modle de mise jour partout, toute copie est susceptible daccepter des modifications, ce qui suppose quun mcanisme de dtection et de rsolution des conflits soit mis en place pour maintenir lintgrit des donnes. La rplication fait appel aux mcanismes strotyps que sont les instantans (snapshot) et les dclencheurs (trigger) de base de donnes. La propagation des mises jour parmi les rpliques est soit transactionnelle, soit non transactionnelle. Une base de donnes mobile est une base de donnes portable et physiquement distincte dun serveur de base de donnes dentreprise, mais capable de communiquer avec ce serveur partir de sites distants, lui permettant de partager des donnes dentreprise. Grce aux bases de donnes mobiles, les utilisateurs ont accs aux donnes de leur entreprise sur leurs ordinateurs portables, leurs assistants numriques personnels ou tout autre appareil capable daccder Internet, et dont ils ont besoin pour leurs applications sur leurs sites distants.

n n n

n n n

n n

Copyright 2005 ditions Reynald Goulet inc. Tous droits rservs

824

Chapitre 24 - Rplication et bases de donnes mobiles

Questions de rvision
24.1 24.2 24.3 24.4 24.5 24.6 Expliquez la diffrence entre une base de donnes distribue et une base de donnes rplique. Quels sont les avantages quapporte la rplication dans un systme distribu? Dcrivez quelques exemples dapplications types de la rplication de base de donnes. Expliquez ce que sont un objet, un groupe et un site de rplication, ainsi quun site matre et un site esclave. Comparez la rplication synchrone et la rplication asynchrone. Comparez les diffrents modles de proprit 24.7 24.8 24.9 (appartenance) de donnes disponibles dans un environnement de rplication. Donnez un exemple de chaque modle. Expliquez les fonctionnalits que lon attend dun serveur de rplication. Dcrivez les notions relatives limplmentation et associes la rplication. Expliquez lintrt des bases de donnes mobiles pour les travailleurs itinrants.

24.10 Dcrivez les fonctionnalits supplmentaires attendre des SGBD mobiles.

Exercices
24.11 Le directeur gnral de Maisons de Rve vous demande denquter sur les exigences de distribution de donnes de sa compagnie et de rdiger un rapport sur lusage potentiel dun serveur de rplication de base de donnes. Votre rapport doit comparer la technologie du SGBD centralis avec celle du serveur de rplication et mentionner les avantages et inconvnients de la mise en place de la rplication de base de donnes dans toute lorganisation, avec une liste exhaustive de tous les types de problmes qui peuvent se manifester. Votre rapport doit aussi mentionner lventualit de la mise en place dun serveur de rplication pour faire face aux exigences de distribution. Enfin, le rapport contiendra un ensemble compltement justifi des recommandations et proposera une solution approprie au cas de Maisons de Rve. 24.12 Vous tes charg(e) dune mission de conseil par le directeur gnral de Maisons de Rve sur lintrt dutiliser des bases de donnes mobiles et de leurs champs dapplication envisageables dans le cadre des activits de la socit. Vous prsenterez les rsultats de vos investigations dans un rapport dtaill o vous exposerez les avantages potentiels des bases de donnes mobiles et toutes les notions qui sassocient avec lexploitation de cette technologie au sein dune organisation. Vous proposerez enfin dans votre rapport une liste de recommandations pour la faon la plus approprie demployer cette technologie au sein de Maisons de Rve.

Copyright 2005 ditions Reynald Goulet inc. Tous droits rservs

Vous aimerez peut-être aussi