La réplication de géodatabase utilise le versionnement pendant le processus de synchronisation sur les réplicas hébergés dans des géodatabases d’entreprise. Le versionnement permet de déterminer quelles modifications doivent être envoyées et reçues. La seule exception concerne l’utilisation de l’archivage pour le suivi des modifications lors d’une réplication monodirectionnelle.
Voici comment le versionnement est utilisé dans chacun des processus de synchronisation suivants :
Envoyer des modifications
Lorsqu’un réplica envoie des modifications, une analyse de la version de réplication (définie lors de la création du réplica) et des versions de système est effectuée. Cette analyse peut filtrer et exclure les mises à jour précédemment envoyées lors d’une synchronisation antérieure ou déterminer quelles sont les modifications à renvoyer. Pour les réplicas d’extraction/insertion dans des géodatabase fichier, une table interne contenant toutes les mises à jour est analysée. Pour la réplication monodirectionnelle avec utilisation de l’archivage, la classe d’archive est analysée pour déterminer quelles sont les modifications à envoyer.
Recevoir des modifications
Lorsqu’un réplica reçoit des modifications, voici ce qui se produit :
Tout d’abord, les modifications sont appliquées à la version de synchronisation. La version de synchronisation est un enfant de la version de réplica, conçu pour contenir temporairement les modifications synchronisées jusqu’à leur réconciliation et leur réinjection dans la version de réplica. Pour les réplicas monodirectionnels et bidirectionnels, la création de cette version ne peut pas intervenir avant la synchronisation. En revanche, pour les réplicas d’extraction/insertion, cette version est créée au moment de la création du réplica. Dans les diagrammes ci-dessous, la version de réplica peut être la version par défaut ou une version nommée.
Ensuite, la version de synchronisation est réconciliée par rapport à la version de réplica. Le type de réplica détermine le comportement lors de cette étape :
- Réplicas bidirectionnels : dans le cas de réplicas bidirectionnels, il peut y avoir des conflits lors de l’opération de réconciliation. Si des conflits sont détectés, une règle de réconciliation est utilisée pour déterminer comment les gérer. S’il n’y a aucun conflit, ou qu’une règle de réconciliation automatique résout automatiquement les conflits, la version de réplica est réinjectée dans la version de synchronisation.
- Réplicas d’extraction/insertion : dans le cas des réplicas d’extraction/insertion, le traitement de réconciliation et de réinjection est facultatif et n’est pas exécuté par défaut. Si vous choisissez de ne pas procéder à la réconciliation et à la réinjection, les modifications sont conservées dans la version de synchronisation. Vous pouvez ensuite effectuer manuellement la réconciliation et la réinjection ultérieurement. Si vous choisissez de procéder à la réconciliation et à la réinjection, le comportement est identique à celui d’un réplica bidirectionnel.
- Réplicas monodirectionnels : dans le cas des réplicas monodirectionnels, les modifications apportées à la version de réplica sont toujours remplacées et aucun conflit non résolu n’est créé. Si un type de modèle simple est utilisé, il n’est pas nécessaire de versionner les données du réplica enfant. Si le réplica enfant n’est pas versionné, les modifications sont appliquées directement aux tables de base. De même, les modifications sont remplacées directement si le réplica enfant est hébergé dans une géodatabase fichier.
Une fois que les modifications ont été réinjectées dans la version de réplica, la version de synchronisation est supprimée. Pour les réplicas bidirectionnels, tant que la version de synchronisation existe, le réplica est considéré comme étant en conflit. En cas de conflit, le réplica peut recevoir des modifications, mais pas en envoyer.
Remarque :
Il est recommandé d’effectuer les opérations de réconciliation et de réinjection en étant connecté en tant que propriétaire du réplica. Par défaut, la version de synchronisation est privée ; seul le propriétaire du réplica peut y accéder. Si cette version est rendue publique, la réconciliation et l’enregistrement des modifications peuvent être effectués par un utilisateur différent du propriétaire du réplica. Toutefois, les modifications doivent être réinjectées par un utilisateur connecté en tant que propriétaire de la version de réplica.
Rubriques connexes
Vous avez un commentaire à formuler concernant cette rubrique ?