Sujet: INFO: De l'intelligence des répliquas....
(Parution initiale, le 5/13/99)
Qui est le plus intelligent?Imaginons quatre répliquas dans une topologie
annulaire, soit Redmond qui se synchronise avec Chicago qui se synchronise avec
New York qui se synchronise avec Philadelphie qui se resynchronise avec Redmond,
et on recommence. Notons que ce ne sont pas les répliquas eux-mêmes qui se
synchronisent, mais les opérateurs. Après sa synchronisation avec New York,
Philadelphie possède toutes les informations que Redmond a envoyé à Chicago,
au début de la boucle. En effet, chaque répliqua se souvient de sa
"génération" par rapport au système. Ainsi, Philadelphie est au
courrant qu'elle vient de recevoir des nouvelles informations de Redmond ( par
l'intermédiaire de d'autres répliquas) et que cette information n'a pas à
être retournée à Redmond, la source de cette information. Maintenant, que
se passe-t-il si, un jour, on renverse le sens de la réplication et que les
gens de Redmond appelle Philadelphie pour une synchronisation (admettons que la
ligne n'était pas accessible lorsque Philadelphie a essayé de communiquer avec
Redmond)? Le répliqua de Redmond connaît le numéro de génération lors de sa
dernière synchronisation avec Philadelphie et essaiera d'envoyer toutes
l'information modifiée depuis, à ce pauvre Philadelphie, croyant que
Philadelphie n'a rien reçu depuis. L'intégrité des données n'est pas en
danger puisque Jet annulera toute modification remplacée par une modification
plus récente et il saura effacer un enregistrement s'il est dans la table MSysTombstones,
mais on peut se retrouver avec une conversation téléphonique plus longue entre
ces deux sites. Il est toujours important de conserver ce point à l'esprit et
d'ailleurs je conçois mes fonctions de synchronisation de sorte que je
puisse dynamiquement déterminer quel répliqua est le plus
"intelligent" de sorte que je puisse minimiser le temps requis de
connexion pour les synchronisations, tant locales que sur de grandes distances..
Un problème
avec ce site? Contacter le
webmaster@trigeminal.com
avec vos commentaires, questions, ou suggestions (en anglais, de
préférence).
|
|