Académique Documents
Professionnel Documents
Culture Documents
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.
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.
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.
24.2
806
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.
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
24.4
808
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
24.5.1
24.5.2
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.
810
Figure 24.1 Proprit matreesclave : a) dissmination des donnes; b) consolidation des donnes.
a)
b)
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.
812
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
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.
24.6.2
814
a)
b)
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.
816
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
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.
818
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
24.8.1
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.
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
820
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 :
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.
822
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.
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
824
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.
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.