Disponible avec une licence Standard ou Advanced.
Dans différents processus, vous devez distribuer vos données entre différentes géodatabases et synchroniser les mouvements apportés aux données dans chaque géodatabase. Le guide ci-après vous aide à déterminer comment exploiter au mieux les données distribuées, les réplicas de géodatabase et la synchronisation dans votre système.
Pour commencer, consultez la rubrique Présentation des données réparties, qui décrit la réplication de géodatabase, ainsi que d’autres méthodes de distribution des données. La rubrique Scénarios recense également plusieurs cas d’utilisation courants de la réplication de géodatabase. Si la réplication de géodatabase semble être la méthode la plus adaptée à votre système, vous pouvez commencer à créer des réplicas.
Création de réplicas
La section ci-après vous aide à choisir la meilleure méthode pour créer des réplicas pour votre système.
- Déterminez les réplicas nécessaires : dans certains cas, vous aurez peut-être besoin de créer seulement un ou deux réplicas, tandis que dans d’autres, vous en aurez besoin de plusieurs. Par exemple, vous avez besoin de plusieurs réplicas si vous distribuez des données entre des équipes sur le terrain qui les utilisent sur site avec leurs appareils mobiles. Si vous souhaitez maintenir deux géodatabases d'entreprise synchronisées, un seul réplica vous suffit. Pour comprendre ce qu'est un réplica et son mode de fonctionnement dans une géodatabase, consultez la rubrique Réplicas et géodatabases.
- Choisissez le type de réplication : les trois types de réplication disponibles sont décrits dans la rubrique Types de réplication. Votre système peut exiger que vous utilisiez un type de réplica dans un cas et un autre dans un autre cas. 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.
- Choisissez le jeu d'outils à utiliser pour créer les réplicas : ArcGIS fournit plusieurs environnements que vous pouvez utiliser pour la réplication de géodatabase. Chaque environnement offre des avantages différents. Vous trouverez ci-après une description de ce que chaque environnement peut offrir.
- Assistant Create Replica (Créer un réplica) : l'assistant Create Replica (Créer un réplica) est disponible dans la barre d'outils Distributed Geodatabase (Géodatabase distribuée) de ArcMap. Cet assistant propose un grand nombre d'options et une interface utilisateur bien décrite étroitement intégrée à ArcMap. Il est recommandé d'utiliser l'assistant Create Replica (Créer un réplica) lorsque vous créez des réplicas pour la première fois ou si vous prévoyez de ne créer qu'un petit nombre de réplicas.
- Outil de géotraitement Create Replica (Créer un réplica) : l'outil de géotraitement Create Replica (Créer un réplica) peut également être utilisé pour créer des réplicas. Cet outil dispose d'un grand nombre d'options, mais n'offre pas certaines des options les plus avancées de l'assistant Create Replica (Créer un réplica).
L'outil de géotraitement Create Replica (Créer un réplica) est idéal dans les cas où vous avez besoin de créer des réplicas régulièrement. Les modèles et scripts qui peuvent être exécutés de manière répétée sont faciles à générer dans l'environnement de géotraitement. 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. Pour plus d'informations, reportez-vous à l'aide de l'outil de géotraitement Create Replica (Créer un réplica).
- API ArcObjects : une API ArcObjects est également disponible pour prendre en charge l'écriture de code afin de créer des réplicas dans plusieurs langages au choix. Cela est utile si vous souhaitez personnaliser l'expérience de création de réplica ou que vous devez créer régulièrement des réplicas avec des options complexes.
- Intégrez la réplication à vos processus de versionnement : la réplication de géodatabase repose sur le versionnement. Pendant la création d’un réplica, une version de réplica est définie dans le réplica parent et le réplica enfant. Il s’agit de la version à partir de laquelle vous enverrez et recevrez les mouvements lors de la synchronisation. Pour plus d’informations, reportez-vous à la rubrique Création de réplica et versionnement.
La version du réplica servant de base à la synchronisation des mouvements, planifiez l’utilisation de vos versions de réplica avant de créer des réplicas. Par exemple, vous pouvez programmer une validation des mouvements reçus lors de la synchronisation avant de les intégrer au processus principal. Pour ce faire, vous pouvez analyser le contenu de la version du réplica après une synchronisation, puis effectuer une réconciliation et une réinjection de ce contenu 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éfinissez les données à répliquer : la réplication de géodatabase permet de répliquer une partie ou la totalité des jeux de données d'une géodatabase d’entreprise ou de groupe de travail. 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 des lignes supplémentaires. Pour plus d’informations, reportez-vous à la rubrique Préparation à la réplication.
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 évoluer et nécessiter une zone de réplication plus grande. Vous devez également prendre en compte le type des données répliquées. Pour préserver 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 topologies et des réseaux géométriques. Vous trouverez une description de ces règles et des exemples dans les rubriques d’aide suivantes : Réseaux géométriques, Topologies, Classes de relations, Données raster et MNT et jeux de données réseau.
- Étudiez 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 processus. Consultez la liste suivante pour savoir si ces options peuvent vous être utiles:
- Re-use schema (Réutiliser la structure) : à l'aide de l'option Re-use schema (Réutiliser la structure), spécifiez une géodatabase cible contenant déjà la structure des données à répliquer. 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.
- Schema only (Structure uniquement) : l'option Schema only (Structure uniquement) permet de créer un réplica sans réplication des lignes. Ici, seule la structure est copiée lors de la création du réplica. Cette option concerne uniquement les réplicas d'extraction. Elle peut par exemple s'avérer utile lorsque vous créez un réplica pour une équipe sur le terrain qui prévoit seulement d'entrer de nouvelles informations. Cet option vous permet de gagner du temps car vous n'avez pas besoin de spécifier l'option Schema only (Structure uniquement) pour chaque jeu de données dans l'assistant.
- Register existing data (Enregistrer les données existantes) : si vous répliquez un volume de données très important, vous pouvez envisager d’utiliser l’option Register existing data (Enregistrer les données existantes). Cette option vous permet d'ignorer l’étape de copie de données de la procédure de création de réplica et d’inscrire simplement un nouveau réplica. Pour utiliser cette option avec succès, vous devez effectuer un ensemble spécifique d'étapes avant de créer le réplica. Notez que cette option n'est pas disponible si vous utilisez les outils de géotraitement.
- Replicate related data (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 pour déterminer les données à répliquer. Vous pouvez choisir de désactiver le traitement des classes de relations, ce qui vous fera gagner 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 Create Replica (Créer un réplica) et de l’outil de géotraitement. L'assistant Create Replica (Créer un réplica) permet également de désactiver le traitement pour des classes de relations spécifiques.
- Use archiving to track changes (Utiliser l’archivage pour le suivi des modifications) : lorsque l’archivage est utilisé pour le suivi des modifications, au lieu des tables de deltas associées au versionnement, aucune version de 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 ; les gestions de la version et de la réplication sont donc indépendantes. Cette situation permet également une meilleure flexibilité de la planification de synchronisation.
- Déterminez s’il convient d’utiliser un environnement connecté ou déconnecté : les réplicas peuvent être créés dans les deux environnements. Dans un environnement connecté, la création et la synchronisation sont réalisées lors de la connexion à un même réseau. Dans un environnement déconnecté, le réseau n’est pas utilisé. La création et la synchronisation sont réalisées en exportant des fichiers, tels que des documents XML, en les envoyant à la cible, puis en les important dans la cible. Pour en plus d'informations, reportez-vous à la rubrique Réplication connectée et déconnectée.
Si le réseau est disponible, mais instable, vous pouvez encore envisager une réplication déconnectée. La création d’un réplica sur un réseau lent peut prendre beaucoup de temps et donner des résultats médiocres. Avec la méthode de réplication déconnectée, vous pouvez exporter dans un fichier et continuer de travailler sans avoir à attendre l’envoi des informations via le réseau. En pareille situation, toutefois, vous voudrez probablement créer une sauvegarde de ces fichiers pour éviter une éventuelle perte des fichiers avant leur importation sur la cible.
Synchronisation de réplicas
Une fois qu’un réplica est créé, vous pouvez commencer à synchroniser les mouvements entre les géodatabases de réplica. Pour en savoir plus, reportez-vous à la rubrique À propos de la synchronisation. Pour optimiser les performances du système, il est important de concevoir une stratégie de synchronisation des mouvements. Vous devez tenir compte des points ci-après pour choisir la stratégie la plus adaptée à votre système.
- Méthodes de synchronisation : déterminez d’abord la méthode de synchronisation la plus adaptée à vos besoins. Voici certaines options à envisager :
- Synchronisation manuelle : si vous n’utilisez qu’un petit nombre de réplicas et que vous ne prévoyez de synchroniser les modifications qu’à titre occasionnel, envisagez d'utiliser les outils fournis par ArcGIS. La barre d'outils Distributed geodatabase (Géodatabase distribuée) et le menu contextuel de la géodatabase distribuée dans l'arborescence du Catalogue offrent des assistants permettant d'effectuer les synchronisations. Ces assistants sont disponibles pour les connexions à la géodatabase, ainsi que pour les objets de serveur de géodonnées exposés viaArcGIS Server dans l'arborescence du Catalogue. Cela vous permet de synchroniser à la fois les connexions locales et les connexions distantes via Internet. Des outils de géotraitement de géodatabase distribuée offrent également les mêmes fonctionnalités.
- 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 envisager de 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é, les techniques suivantes peuvent être utilisées pour créer des agents de synchronisation :
- Synchronisation à l’aide d’outils de géotraitement : les outils de géotraitement permettent d’élaborer facilement des modèles pour synchroniser les réplicas via des connexions à des géodatabases locales ou des connexions à des objets 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 : la synchronisation est entièrement prise en charge via l'API ArcObjects. Cette API vous permet de créer des agents de synchronisation plus sophistiqués que ceux créés à l'aide d'outils de géotraitement. Par exemple, vous pouvez ajouter une fonctionnalité pour 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 mises à jour apportées aux données d’un réplica sont en conflit avec des mises à jour en cours de synchronisation à partir du réplica associé, vous devez déterminer le mode de résolution du conflit. Une règle de réconciliation peut être appliquée pour résoudre automatiquement les conflits ou permettre la résolution manuelle des conflits ultérieurement. Pour vérifier si ce problème s’applique à votre système, reportez-vous à la rubrique Synchronisation et versionnement. Sinon, pour résoudre les conflits, vous pouvez utiliser l'API ArcObjects afin de créer un système de traitement des conflits. Dans ce système, les synchronisations utilisent une règle de réconciliation manuelle, mais disposent d'un traitement secondaire exécuté automatiquement par la suite pour résoudre les éventuels conflits survenus.
- 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 des classes de relations sont appliquées. Vous pouvez utiliser le gestionnaire de réplicas pour déterminer les filtres et les règles de classe de relations appliquées à chaque jeu de données répliqué. Vous pouvez également créer une emprise de réplica pour stocker ces informations en local et visualiser le filtre spatial de chaque réplica.
Pour préserver 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. La synchronisation des données peut être complétée par le traitement des classes de relations. Il est vous est conseillé de consulter les rubriques suivantes pour vous familiariser avec la synchronisation de différents types de données : Synchronisation de topologie, Synchronisation de données reliées et Synchronisation de réseaux géométriques.
Les métadonnées des données que vous décidez de répliquer sont copiées au cours du processus de création de réplicas. Cependant, les modifications apportées aux métadonnées ne sont pas répercutées lors de la synchronisation des réplicas.
- Volume de données : lors de la synchronisation, seuls 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 des 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 déconnecté, vous devez toujours utiliser des fichiers ZIP au lieu de formats décompressés, comme les fichiers XML, au cours de l’exportation des modifications de données. Il est également recommandé de prendre l’habitude d’envoyer régulièrement des messages avec accusé de réception.
- Ordre de synchronisation des réplicas : si vous utilisez plusieurs réplicas, l’ordre dans lequel ceux-ci sont synchronisés peut être important. Imaginez, par exemple, que vous créiez plusieurs réplicas bidirectionnels à partir d’une même géodatabase. Vous pouvez synchroniser ces réplicas en synchronisant chaque réplica enfant avec le réplica parent, dans les deux directions. Dans ce cas, l’enfant envoie les modifications au parent, puis le parent envoie les modifications à l’enfant. Dans une autre méthode, chaque réplica enfant envoie d’abord ses modifications au parent. Le parent intègre toutes les modifications, puis les renvoie à chaque enfant. Dans le premier cas, le parent envoie uniquement ses modifications, tandis que dans le second, 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 continuent de fonctionner même si des mouvements de structure sont appliqués aux données répliquées. Dans une certaine mesure, vous pouvez également appliquer les mouvements de structure entre les réplicas. Pour plus de détails, reportez-vous à la rubrique Utilisation des mouvements de structure.
En général, il est préférable d'effectuer un minimum de mouvements de structure. Si vous souhaitez appliquer les mouvements de structure entre les réplicas, il est recommandé de le faire de manière structurée. Par exemple, pour ajouter un champ entre des réplicas, ajoutez-le à la classe d'entités dans le réplica parent de niveau supérieur. Déclenchez un traitement dans lequel le mouvement de structure est appliqué à tous les réplicas vers le bas. Pour plus d’informations, reportez-vous à la rubrique Mouvements de structure et réplicas.
- Correction des erreurs : des erreurs peuvent se produire pendant le processus de synchronisation pour de nombreuses raisons. Dans un environnement connecté, un réseau informatique peut tomber en panne ou vous pouvez tenter de synchroniser un réplica en conflit. Dans un environnement déconnecté, il est possible de perdre des messages ou vous pouvez essayer à tort d’importer les messages dans un ordre incorrect. Quel que soit le cas, le système est conçu pour conserver sa cohérence. Les mouvements sont annulés, et les messages inappropriés sont rejetés. Le journal d’activité de 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 simplement la synchronisation des modifications. Les réplicas contiennent également des informations de génération qui indiquent le nombre d’ensembles de modifications envoyés et reçus. Pour plus d'informations, reportez-vous à la rubrique Gestion des réplicas.