French

Troisième partie d'une série de quatre articles.

Vers les parties précédentes ->

Migration des données

La migration des données consiste en la lecture des données de l'ancienne base de données pour les écrire dans la nouvelle tout en garantissant que toutes les données ont été copiées. Cette phase est décomposée en trois étapes :

  • l'extraction des données de l'ancienne base de données pour produire un fichier par segment IMS
  • la transformation des données lues pour les mettre au format de la nouvelle base de données
  • le chargement des données dans la nouvelle base de données

migration des données

1. Extraction des données

Chaque base de données est lue séquentiellement pour produire un fichier par segment. Ce fichier contient les données brutes sans aucune transformation. La phase de rétro-ingénierie a permis de modéliser la base de données IMSRever a développé un plugin DB-MAIN qui permet à partir du modèle de la base de donnéesIMS de générer les composants nécessaires à l'extraction des données. A savoir, un programme (COBOL) de lecture par DBD, les JCL de compilation et d'exécution. Le programme lit séquentiellement toute la base de données pour produire un fichier par segment.

2. Transformation des données

Grâce au modèle de la base de données IMS, au modèle de la nouvelle base de données et au mapping entre ces deux bases de données, il est possible d'écrire des programmes qui vont lire les fichiers résultats de l'extraction pour les transformer en fichiers qui pourront être lus par le chargeur de la base de données cible. Ici encore, Rever a développé un plugin DB-MAIN qui, se basant sur les deux modèles et le mapping entre ces deux modèles, génère les programmes de transformation (un par segment). Ces programmes lisent les données d'un segment, les transforment pour les rendre conformes au modèle relationnel et produisent un fichier par table (conforme au chargeur du SGBD cible).

3. Chargement des données

Pour cette étape, nous utiliserons le chargeur de données fourni avec le SGBD cible. Rever a développé un plugin DB-MAIN qui génère les scripts de chargement des données en se basant sur le modèle cible.


 

Validation de la migration

La validation des données après migration est une étape souvent négligée mais importante. Sans cette validation, lors des tests de l'application utilisant la nouvelle base de données, si une erreur est détectée, il faudra vérifier si l'erreur est due à la migration de la base de données ou provient de l'application elle-même. Par contre, si la migration des données a été validée, il y a de fortes chances que l'erreur provienne de l'application.

Trois types de validation sont possibles :

  1. Compteurs : vérification que le nombre d'enregistrements avant et après la migration est le même pour chaque type d'enregistrements.
  2. Checksum : il est possible de calculer un checksum pour l'ensemble des données d'une colonne. Il suffit de comparer le checksum calculé pour une même colonne avant et après migration. Si le checksum est le même avant et après, il y a de fortes chances que la migration de cette colonne soit correcte.
  3. Comparaison XML : les deux méthodes précédentes permettent de vérifier que toutes les données d'une table ou d'une colonne ont bien été migrées. Mais elles ne permettent pas de vérifier que les liens ont bien été migrés (par exemple, que l'on a attaché les commandes d'un client à un autre). Cette validation extrait (tout ou en partie) les données de chaque base de données dans des documents XML de même structure. La comparaison des deux documents permet de vérifier que les deux bases de données contiennent la même chose.

La première validation est la plus facile à mettre en œuvre, mais est la moins précise.

Par contre la troisième est difficile à implémenter et est coûteuse à exécuter, mais elle offre la certitude que la migration s'est bien déroulée.

REVER a développé différents plugins permettant l'automatisation de la mise en œuvre des 3 techniques de validation.


 

Dans la quatrième partie de cet article, nous verrons comment les programmes peuvent être adaptés pour qu'ils accèdent à la nouvelle BD.

 

Lexique des acronymes :

  • IMS = Information Management System
  • Cobol = Common Business-Oriented Language
  • DBD = Database Description
  • SGBD = Système de Gestion de Base de Données
  • JCL = Job Control Language
  • XML = Extensible Markup Language
  • Checksum = somme de contrôle

En savoir plus ? DB-Main est un outil de modélisation et d'architecture de données. Historiquement développé au sein du laboratoire d'ingénierie des bases de données de l'UNamurRever continue à l'améliorer pour aider les développeurs et les analystes dans la plupart des processus d'ingénierie des données.

Mots clés: 

Auteur: 

Jean Henrard