Utilisation de la réplication de géodatabase
Cette rubrique s'applique uniquement à ArcEditor et ArcInfo.
La réplication de géodatabase est conçue pour gérer plusieurs systèmes différents dans lesquels vous devez distribuer des données. Les sections suivantes sont aident à optimiser l'utilisation de cette fonction dans votre système.
Pour commencer, reportez-vous à la rubrique Présentation des données réparties qui décrit la réplication de géodatabase et d'autres méthodes de distribution des données. La rubrique Scénarios présente également plusieurs cas courants d'utilisation de la réplication de géodatabase. Si la réplication de géodatabase apparaît comme la méthode la mieux adaptée à votre système, l'étape suivante consiste à créer des réplicas.
Création de réplicas
La section suivante vous aide à sélectionner la méthode la mieux adaptée à la création de réplicas pour votre système.
- Déterminer les réplicas nécessaires : dans certains cas, vous devez uniquement créer un ou deux réplicas tandis que dans d'autres, de nombreux réplicas sont nécessaires. Par exemple, plusieurs réplicas sont nécessaires si vous créez des réplicas pour des équipes sur le terrain disposant d'ordinateurs portables. Si vous souhaitez maintenir deux géodatabases d'entreprise synchronisées, un seul réplica vous suffit. Pour comprendre la signification d'un réplica et son fonctionnement dans une géodatabase, reportez-vous à la rubrique Réplicas et géodatabases.
- Sélectionner le type de réplication : la rubrique Types de réplication décrit chacun des trois types de réplication disponibles. Selon les cas, votre système peut nécessiter différents types de réplica. Par exemple, vous pouvez utiliser une réplication bidirectionnelle pour synchroniser les données avec un autre bureau, et une réplication monodirectionnelle pour actualiser votre géodatabase de publication cartographique.
- Choisir le jeu d'outils à utiliser pour créer les réplicas : ArcGIS propose plusieurs environnements permettant d'effectuer une réplication de géodatabase. Chaque environnement offre différents avantages. Les sections suivantes décrivent les options de chaque environnement.
- L'assistant de création du réplica : l'assistant de création de réplicas est disponible dans la barre d'outils Géodatabase répartie d'ArcMap. L'assistant propose de nombreuses options ainsi qu'une interface utilisateur complète intégrée à ArcMap. Il est recommandé d'utiliser l'assistant de création du réplica lorsque vous débutez dans la création de réplicas ou si vous envisagez de ne créer qu'un petit nombre de réplicas.
- L'outil de géotraitement Créer un réplica : l'outil de géotraitement Créer un réplica permet également de créer des réplicas. L'outil propose de nombreuses options, mais il n'offre pas les options plus avancées de l'assistant de création du réplica.
L'outil de géotraitement Créer un réplica est idéal si vous devez créer régulièrement des réplicas. L'environnement de géotraitement permet de créer facilement des modèles et des scripts pouvant s'exécuter de façon répétitive. Par exemple, un modèle peut être construit pour créer chaque jour des réplicas d'extraction destinés à chacune de vos équipes sur le terrain. Consultez l'aide de l'outil de géotraitement Créer un réplica pour plus d'informations.
- API ArcObjects : une API ArcObjects est également disponible afin d'écrire le code permettant de créer des réplicas dans le langage de votre choix. Cette option est utile si vous souhaitez personnaliser la création du réplica ou si vous devez créer régulièrement des réplicas avec des options complexes.
- Intégrer la réplication à vos workflows de versionnement : la réplication de géodatabase est créée par-dessus le versionnement. Lors de la création du réplica, une version du réplica est définie à la fois dans le réplica parent et le réplica enfant. Il s'agit de la version à partir de laquelle vous enverrez et recevrez les modifications lors de la synchronisation. Reportez-vous à la rubrique Création de réplica et versionnement pour plus d'informations.
La version du réplica servant de base à la synchronisation des modifications, planifiez l'utilisation de vos versions de réplica avant de créer des réplicas. Par exemple, vous pouvez programmer une validation des modifications reçues lors la synchronisation avant de les intégrer au workflow principal. Cette opération peut être réalisée facilement en analysant le contenu de la version du réplica après une synchronisation, puis en réconciliant et en réinjectant les données dans votre version de travail habituelle. La version par défaut peut également servir de version de réplica. Cela s'avère utile si vous souhaitez appliquer directement les modifications dans la version par défaut lors de la synchronisation.
- Définir les données à répliquer : la réplication de géodatabase permet de répliquer tout ou partie des jeux de données de votre géodatabase ArcSDE. Elle vous permet également de définir les entités ou lignes à répliquer à l'aide de filtres et de classes de relations. Lors de la création, les filtres sont toujours appliqués en premier, puis les classes de relations servent à ajouter des entités et lignes supplémentaires. Reportez-vous à la rubrique Préparation à la réplication pour plus d'informations.
Tenez compte de vos besoins futurs lors de la définition des données à répliquer. Par exemple, les réplicas bidirectionnels et monodirectionnels sont créés une seule fois et synchronisés plusieurs fois. Les filtres que vous définissez en créant le réplica sont également appliqués lors de la synchronisation. Avec le temps, vos besoins peuvent changer et nécessiter une zone de réplica plus grande. Vous devez également prendre en compte le type des données répliquées. Pour maintenir l'intégrité des données, des règles supplémentaires sont appliquées lors de la réplication de types de données complexes tels que des réseaux géométriques et des topologies. Les rubriques d'aide suivantes décrivent ces règles et fournissent des exemples : Réseaux géométriques, Topologies, Classes de relations, Données raster et MNT et jeux de données réseau.
- Etudier les options de création de réplica : certaines options ont été ajoutées pour rendre le processus de création de réplica aussi efficace que possible. Ces options ont été conçues pour des cas spécifiques et peuvent ne pas s'appliquer à votre workflow. Consultez la liste suivante pour savoir si ces options peuvent vous être utiles :
- Réutiliser la structure : avec l'option Réutiliser la structure, vous spécifiez une géodatabase cible contenant déjà la structure pour les données que vous répliquez. Vous économisez ainsi du temps puisque vous n'avez pas à construire la structure lors de la création d'un réplica. Cette option concerne uniquement les réplicas d'extraction, mais elle doit être appliquée chaque fois que cela est possible.
- Structure uniquement : l'option Structure uniquement permet de créer un réplica ne contenant aucune ligne répliquée. Ici, seule la structure est copiée lors de la création du réplica. Cette option ne s'applique qu'aux réplicas d'extraction. Vous pouvez, par exemple, utiliser cette option lorsque vous créez un réplica destiné à une équipe sur le terrain, qui se contente d'entrer de nouvelles informations. Elle vous évite de définir chaque jeu de données sur Structure uniquement dans l'assistant.
- Inscrire les données existantes uniquement : si vous répliquez un très grand volume de données, vous pouvez utiliser l'option Inscrire les données existantes uniquement. Elle vous permet d'ignorer l'étape de copie des données lors de la création du réplica, et d'inscrire uniquement un nouveau réplica. Pour utiliser correctement cette option, vous devez suivre une série d'étapes spécifique avant la création du réplica. Notez que cette option n'est pas disponible lors de l'utilisation des outils de géotraitement.
- Répliquer les données reliées : lors de la création de réplica, des filtres sont appliqués en premier, puis des classes de relations sont traitées afin de déterminer les données à répliquer. Vous pouvez choisir de désactiver le traitement des classes de relations, ce qui vous économisera du temps. Dans ce cas, les classes de relations demeurent présentes mais elles ne sont pas traitées lors de la création et de la synchronisation. Une option permet de désactiver complètement le traitement des classes de relations dans les sections avancées de l'assistant de création du réplica et l'outil de géotraitement. L'assistant de création du réplica vous permet également de désactiver le traitement de classes de relations spécifiques.
- Utiliser l'archivage pour suivre les modifications apportées : lors de l'utilisation de l'archivage pour le suivi des changements au lieu des tables de deltas associées au versionnement, aucune version système n'est créée. Par conséquent, les processus de réconciliation, de réinjection et de compression ne sont pas affectés ; la gestion de la version et de la réplication sont donc indépendantes. Cette situation permet également une meilleure flexibilité de la planification de synchronisation.
- Sélectionner un environnement connecté ou déconnecté : les réplicas peuvent être créés dans un environnement connecté et déconnecté. Dans un environnement connecté, la création et la synchronisation s'effectuent lorsque vous êtes connecté au même réseau. Dans un environnement déconnecté, le réseau n'est pas utilisé. La création et la synchronisation s'effectuent en exportant des fichiers, tels que des documents XML, en les envoyant, puis en les important dans la cible. Reportez-vous à la rubrique Réplication connectée et déconnectée pour plus d'informations.
Si le réseau est disponible mais pas fiable, vous pouvez quand même envisager d'effectuer une réplication déconnectée. Un processus de création de réplica exécuté sur un réseau lent risque de prendre beaucoup de temps et de manquer de fiabilité. Une réplication déconnectée permet d'exporter des données vers un fichier, puis de continuer à travailler sans avoir à attendre la diffusion de ces informations sur le réseau. Vous devez cependant créer des sauvegardes de ces fichiers au cas où ils seraient perdus avant d'être importés dans la cible.
Synchronisation de réplicas
Lorsqu'un réplica est créé, vous pouvez commencer à synchroniser les modifications entre les géodatabases de réplica. Reportez-vous à la rubrique A propos de la synchronisation pour en savoir plus. Pour optimiser les performances du système, il est important de concevoir une stratégie de synchronisation des modifications. Tenez compte des éléments suivants pour définir la stratégie la mieux adaptée à votre système.
- Méthodes de synchronisation : déterminez tout d'abord la meilleure méthode de synchronisation en fonction de vos besoins. Voici quelques-unes des options disponibles :
- Synchronisation manuelle : si vous n'utilisez qu'un petit nombre de réplicas et ne souhaitez synchroniser que quelques modifications occasionnelles, vous pouvez utiliser les outils fournis par ArcGIS. La barre d'outils Géodatabase répartie et le menu contextuel de l'arborescence du catalogue fournissent des assistants permettant d'effectuer des synchronisations. Ces assistants sont disponibles pour les connexions à la géodatabase ainsi que pour les objets du serveur de géodonnées présentés par l'intermédiaire du serveur ArcGIS dans l'arborescence du catalogue. Cela vous permet de synchroniser des connexions locales et distantes via Internet. Des outils de géotraitement de géodatabase répartie offrent également cette fonctionnalité.
- Synchronisation automatisée à l'aide d'agents : dans un système caractérisé par de nombreux réplicas et/ou de fréquentes synchronisations, vous devez créer un agent de réplication. Les agents de réplication se connectent automatiquement aux géodatabases répliquées pour effectuer les synchronisations. Dans ce cas, les utilisateurs finaux n'ont pas besoin de synchroniser de façon explicite leurs bases de données, puisque la synchronisation est automatique. Dans un environnement connecté, vous pouvez utiliser les techniques suivantes pour créer des agents de synchronisation :
- Synchronisation à l'aide d'outils de géotraitement : les outils de géotraitement permettent de créer facilement des modèles afin de synchroniser des réplicas à l'aide de connexions aux géodatabases locales ou de connexions aux objets du serveur de géodonnées exécutés sur Internet. Ces modèles peuvent être exportés vers des scripts Python et exécutés dans Python. Les commandes d'exécution des scripts peuvent être ajoutées à un logiciel de planification tel que le planificateur de tâches Windows afin de pouvoir les lancer régulièrement. Par exemple, vous pouvez planifier l'exécution d'une synchronisation entre deux géodatabases d'entreprise chaque semaine à heure creuse.
- Synchronisation à l'aide d'ArcObjects : l'API ArcObjects assure une prise en charge complète de la synchronisation. Elle vous permet de créer des agents de synchronisation plus sophistiqués que ceux conçus à l'aide des outils de géotraitement. Par exemple, vous pouvez ajouter la fonctionnalité permettant de synchroniser un ordinateur portable sur le terrain lorsque le système d'exploitation détecte qu'il est connecté au réseau.
- Synchronisation et conflits : si des modifications ont été apportées à un conflit de données d'un réplica alors que d'autres modifications étaient synchronisées à partir du réplica associé, vous devez sélectionner la méthode de résolution du conflit. Une règle de réconciliation peut être appliquée pour résoudre automatiquement les conflits ou activer la résolution manuelle des conflits à une date ultérieure. Reportez-vous à la rubrique Synchronisation et versionnement pour vérifier si ce problème s'applique à votre système. Vous pouvez également résoudre les conflits à l'aide d'un système créé dans l'API ArcObjects. Dans ce système, les synchronisations utilisent une règle de réconciliation manuelle, mais elles intègrent un processus secondaire qui s'exécute automatiquement par la suite afin de résoudre tous les conflits éventuels.
- Données en cours de synchronisation : pour les réplicas d'extraction, toutes les modifications de données effectuées dans le réplica enfant sont synchronisées. Pour les réplicas bidirectionnels et monodirectionnels, seules les modifications qui correspondent aux conditions des filtres et classes de relations sont appliquées. Le Gestionnaire de réplicas permet de définir les filtres et règles de classes de relations appliqués à chaque jeu de données répliqué. Vous pouvez également créer une emprise de réplica afin de stocker localement ces informations et visualiser le filtre spatial de chaque réplica.
Pour maintenir l'intégrité des données, des règles supplémentaires sont appliquées lors de la synchronisation de types de données complexes tels que des réseaux géométriques et des topologies. Le traitement des classes de relations permet également d'ajouter des données synchronisées. Il est conseillé de consulter les rubriques suivantes pour vous familiariser avec la synchronisation des différents types de données : Synchronisation de la topologie, Synchronisation de données reliées et Synchronisation de réseaux géométriques.
- Volume de données : lors de la synchronisation, seules les modifications effectuées depuis la dernière synchronisation sont appliquées. ArcGIS filtre toutes les modifications qui ont déjà été envoyées et confirmées. De même, une modification envoyée ne retourne jamais vers le réplica d'origine. Ainsi, les volumes de données sont tronqués au niveau strictement nécessaire.
Calquez la fréquence des synchronisations sur la fréquence à laquelle les modifications sont appliquées à vos données. Si vous ne synchronisez pas assez régulièrement le volume des modifications, le processus peut être long. Il est également recommandé d'effectuer les synchronisations pendant les heures creuses. Dans un environnement connecté, il est conseillé de toujours utiliser des fichiers ZIP au lieu de formats non compressés (tels que des fichiers XML) lors de l'exportation des mouvements de données. Vous devriez également envoyer régulièrement des messages d'accusé de réception.
- Ordre de synchronisation des réplicas : si vous utilisez plusieurs réplicas, l'ordre dans lequel ces réplicas sont synchronisés peut être important. Supposons par exemple que vous créez plusieurs réplicas bidirectionnels à partir d'une seule géodatabase ArcSDE. Vous pouvez synchroniser ces réplicas en synchronisant chaque réplica enfant avec le réplica parent, dans les deux directions. Ici, l'enfant envoie des modifications au parent, puis le parent envoie des modifications à l'enfant. Dans autre méthode, chaque réplica enfant envoie d'abord ses modifications au parent. Le parent intègre toutes les modifications, puis renvoie les modifications à chaque enfant. Dans le premier cas, le parent envoie uniquement ses modifications, tandis que dans le deuxième, il envoie également les modifications intégrées à partir d'autres réplicas. Selon les besoins de votre système, une méthode peut être plus appropriée qu'une autre.
- Mouvements de structure : la réplication de géodatabase est conçue pour autoriser les mouvements de structure. Cela signifie que les synchronisations continueront de fonctionner même si des mouvements de structure sont appliqués aux données répliquées. Jusqu'à un certain point, vous pouvez également appliquer des mouvements de structure à plusieurs réplicas. Reportez-vous à la rubrique Utilisation des mouvements de structure pour plus de détails.
En général, il est préférable d'effectuer un minimum de mouvements de structure. Si vous souhaitez appliquer des mouvements de structure à plusieurs réplicas, il est préférable d'adopter une approche structurée. Par exemple, pour ajouter un champ à plusieurs réplicas, ajoutez d'abord le champ à la classe d'entités du réplica parent de niveau supérieur. Créez ensuite un processus dans lequel le mouvement de structure est appliqué à tous les réplicas sous-jacents. Reportez-vous à la rubrique Mouvements de structure et réplicas pour plus d'informations.
- Correction des erreurs : des erreurs peuvent se produire pendant le processus de synchronisation, pour plusieurs raisons. Dans un système connecté, un réseau d'ordinateurs peut tomber en panne ou vous essayez de synchroniser un réplica en conflit. Dans un système déconnecté, vous risquez de perdre des messages ou d'importer par erreur les messages dans un ordre incorrect. Dans tous ces cas, le système est conçu pour conserver un état cohérent. Les mouvements sont annulés et les messages inappropriés sont rejetés. Le journal d'activité du réplica permet de rechercher les erreurs qui se sont produites et de définir les actions à exécuter pour les corriger, le cas échéant. Dans la plupart des cas, le système corrige automatiquement les erreurs si vous poursuivez la synchronisation des mouvements. Les réplicas contiennent également des informations de génération qui indiquent le nombre d'ensembles de mouvements envoyés et reçus. Reportez-vous à la rubrique Gestion des réplicas pour plus d'informations.