Gestion des transactions des géodatabases

Les transactions représentent des ensembles de tâches permettant de modifier les bases de données. Les bases de données de système d'information géographique (SIG), comme d'autres applications de base de données, doivent prendre en charge les transactions de mise à jour permettant de garantir l'intégrité des données et le comportement de l'application. Dans de nombreux cas, les utilisateurs peuvent utiliser l'infrastructure de système de gestion de base de données (SGBD) basée sur les transactions pour gérer les modifications et les mises à jour des géodatabases.

Ceci étant, les utilisateurs de SIG sont également soumis à certaines conditions spécifiques en matière de transactions. Par exemple :

En outre, les utilisateurs doivent pouvoir annuler et répéter leurs modifications. Les sessions de mise à jour peuvent s'étaler sur plusieurs heures ou jours. En général, les modifications doivent être effectuées sur un système déconnecté de la base de données partagée centrale.

Etant donné que le processus de workflow peut s'étaler sur des jours ou des mois, la base de données SIG doit être disponible continuellement pour les opérations quotidiennes car chaque utilisateur peut avoir une version personnelle de la base de données SIG partagée. Dans une base de données multi-utilisateurs, les transactions SIG doivent être gérées au niveau de l'infrastructure SGBD basée sur les transactions courtes. La technologie ArcSDE joue un rôle essentiel au cours de ces opérations en gérant les transactions SIG complexes de niveau supérieur dans l'infrastructure simple de transaction SGBD.

Les utilisateurs SIG rencontrent souvent le cas où les workflows basés sur des transactions longues sont essentiels. Dans la plupart des cas, la gestion des mises à jour vers la base de données SIG centrale s'effectue grâce à un SGBD multi-utilisateurs et à ArcSDE à l'aide du versionnement (vous trouverez plus d'informations sur le versionnement plus bas).

Voici des exemples de workflows de gestion de données SIG nécessitant un modèle de transaction basé sur des versions :

Le modèle de transaction de géodatabase : versionnement

Le mécanisme de géodatabase pour la gestion de ces workflows SIG critiques, et bien d'autres, consiste à gérer en parallèle plusieurs états dans la géodatabase et, ce qui est le plus important, à le faire tout en assurant l'intégrité des informations géographiques, des règles et du comportement. Cette aptitude à gérer, travailler avec et afficher plusieurs états s'appuie sur le versionnement. Comme son nom l'indique, le versionnement enregistre explicitement des versions de chaque entité et objet modifié, créé et supprimé en leur associant des états différents. Chaque version enregistre formellement chaque état d'une entité ou d'un objet sous forme de ligne dans une table avec des informations importantes relatives à la transaction. Vous pouvez utiliser autant d'utilisateurs que vous voulez pour traiter et gérer plusieurs versions.

Les versions permettent à toutes les transactions d'être enregistrées sous forme d'une série de modifications apportées à la base de données dans le temps. Cela signifie que plusieurs utilisateurs peuvent gérer différentes vues ou état de la géodatabase. Ce système a pour objet d'offrir un accès multi-utilisateurs ouvert et très performant. Par exemple, le système doit être rapide et prendre en charge de façon efficace l'utilisation de jeux de données contenant des centaines de millions d'enregistrements ouverts par des milliers d'utilisateurs en même temps.

Le modèle de transaction de géodatabase basé sur des versions est relativement simple : les mises à jour sont consignées dans des tables de modifications.

Les versions enregistrent les états des objets d'une géodatabase dans deux tables de mouvements :

Des requêtes simples servent à afficher et à utiliser un état quelconque de la géodatabase (exemple : pour afficher l'état de la base de données à un moment donné ou consulter la version en cours d'un utilisateur particulier avec ses modifications).

ArcSDE joue un rôle essentiel dans les applications de géodatabase versionnées et est utilisé pour gérer les transactions longues dans chaque SGBD (en tirant parti de l'infrastructure basée sur les transactions courtes) et dans différents systèmes.

Tables de versions de la géodatabase

Dans l'exemple de table de version, une parcelle (lot 45) est mise à jour pour devenir la nouvelle parcelle 47. Avec le versionnement, la parcelle d'origine est enregistrée dans la table des suppressions et la nouvelle parcelle est enregistrée dans la table des ajouts. D'autres métatables consignent des informations sur la version de la transaction telles que l'heure et la séquence de chaque mise à jour, le nom de la version et l'état de chaque mise à jour. Chaque version dispose de ses propres droits de sécurité et d'accès.

Cela permet à la plupart des utilisateurs de travailler avec la version par défaut tandis que d'autres éditeurs effectuent simultanément des mises à jour sur leurs propres versions de base de données dans le temps.

De nombreuses mises à jour peuvent être effectuées sur chaque version et les utilisateurs se connectent et utilisent la version mise à jour lorsqu'ils apportent d'autres modifications aux données. Lorsque les utilisateurs sont prêts à partager les mises à jour avec le reste de l'entreprise, une opération de réconciliation et de publication est exécutée pour appliquer les modifications de la version mise à jour à la version principale (par défaut). Un processus de résolution permet d'identifier et de réconcilier les éventuels conflits survenant au cours de cette opération.

Pour en savoir plus sur le versionnement, reportez-vous à la rubrique Maîtrise du versionnement.

5/10/2014