Outil de migration de bases de données

Convertir des données d’une base de données vers une autre

  • Migrer des données entre bases de données
  • Prise en charge de toutes les principales bases de données relationnelles
  • Convertir les bases de données SQL en NoSQL
  • Mappage de données graphique, no-code
  • Spécifier les paramètres clés de base de données
  • Mapper des colonnes ayant des noms, des types et des structures différents
  • Définir les actions de table de base de données
  • Prise en charge des procédures stockées SQL
  • Journalisation des sorties et gestion des erreurs avec annulation
  • Requête directe dans les bases de données
  • Trier et filtrer les composants d’entrée de la base de données
  • Conversion instantanée & options d’automatisation abordable

Outils de migration de bases de données

Le transfert de données d’une base de données vers une autre est l’une des tâches les plus courantes en gestion des données, que ce soit pour consolider des systèmes après une fusion, mettre hors service une plateforme héritée, standardiser l’utilisation d’un seul fournisseur de bases de données ou transférer une base de données de bureau vers une base de données serveur. Altova MapForce est un outil de migration de bases de données qui gère ces conversions via une interface visuelle de type glisser-déposer, sans qu’il soit nécessaire d’écrire manuellement des scripts de migration.

MapForce se connecte à vos bases de données source et cible, lit automatiquement les deux schémas et vous permet de définir les règles de migration en traçant des connexions entre les tables et les colonnes de chaque côté. Comme la source et la cible sont mappées explicitement, vous n’êtes pas limité à des schémas identiques : vous pouvez renommer des colonnes, diviser ou fusionner des champs, convertir des types de données, filtrer des lignes et remodeler la structure cible dans le cadre d’une même migration.

Bases de données relationnelles prises en charge :

  • Firebird
  • IBM DB2 for iSeries®
  • IBM DB2®
  • Informix®
  • MariaDB
  • Microsoft Access™
  • Microsoft® Azure SQL
  • Microsoft® SQL Server®
  • MySQL®
  • Oracle®
  • PostgreSQL
  • Progress OpenEdge
  • SQLite
  • Sybase® ASE
  • Teradata

Bases de données NoSQL prises en charge :

  • MongoDB
  • CouchDB
  • DB Microsoft Azure Cosmos

Toute base de données prise en charge peut servir de source, de cible, ou les deux. Cela signifie que ce même outil couvre toutes les combinaisons source-cible de la liste ci-dessus, plutôt que de proposer un seul chemin de migration fixe.

Fonctionnement de la conversion de base de données à base de données

Il est facile de définir un projet de migration de base de données à l’aide des outils visuels de mappage de données par glisser-déposer de MapForce. Vous pouvez même commencer par utiliser Altova AI pour obtenir des suggestions de connexions après avoir chargé vos structures source et cible.

1. Se connecter à la base de données source. L'assistant de connexion à la base de données vous guide tout au long de la procédure de connexion. Les connexions SQLite sont prises en charge en tant que connexions natives et directes au fichier de base de données, sans nécessiter de pilotes distincts. Les autres bases de données se connectent de manière native ou via des interfaces standard, notamment ODBC, JDBC, ADO et ADO.NET.

 

Se connecter à la base de données pour la conversion

 

2. Se connecter à la base de données cible. MapForce charge le schéma cible de la même manière et affiche les tables, vues et relations disponibles.

3. Mapper les tables et les colonnes. Faites glisser des lignes de connexion de la source vers la cible, ou commencez par utiliser Altova AI. MapForce reconnaît automatiquement les relations entre les tables ; ainsi, les tables liées conservent leur structure dans le mappage.

4. Transformer les données selon les besoins. Insérez des filtres, des conditions et des fonctions de traitement des données entre la source et la cible pour convertir les types, reformater les valeurs, concaténer ou diviser des champs, et exclure les lignes que vous ne souhaitez pas migrer.

 

Migration de bases de données dans MapForce

 

5. Prévisualisez et exécutez. Le moteur MapForce intégré vous permet de prévisualiser les scripts SQL — instructions SELECT, INSERT, UPDATE et DELETE — dans l’onglet Sortie avant de les exécuter sur la base de données cible.

Aperçu de la sortie SQL pour la migration de bases de données dans MapForce

Chemins de migration

Plusieurs des tâches de migration de base de données à base de données les plus couramment requises sont décrites ci-dessous. La même approche s’applique à toute autre combinaison de bases de données prises en charge.

Migration d’Oracle vers PostgreSQL

Les entreprises qui migrent d’Oracle vers PostgreSQL doivent transférer les données des tables entre deux moteurs qui nomment et classent leurs colonnes différemment. À l’aide de l’assistant de connexion à la base de données, MapForce se connecte à Oracle via JDBC ou ODBC et à PostgreSQL via une connexion native ou une connexion basée sur un pilote. Il charge les deux schémas dans le volet de mappage, où vous pouvez utiliser le glisser-déposer (ou invoquer Altova AI) pour relier les tables Oracle à leurs équivalents PostgreSQL.

Il est tout aussi simple de glisser-déposer des fonctions de traitement des données pour convertir les valeurs entre les types de données Oracle et PostgreSQL, reformater les dates et les horodatages, et gérer les valeurs NULL de manière adaptée, conformément aux règles des bases de données concernées. Les paramètres de clés de base de données vous permettent de choisir si les valeurs des clés primaires et étrangères proviennent de la source Oracle ou sont générées par PostgreSQL lors de l’insertion.

Migration de MySQL vers PostgreSQL

La migration de MySQL vers PostgreSQL est l’une des conversions les plus courantes pour lesquelles MapForce est utilisé. Une fois les deux structures de base de données chargées, MapForce interprète chaque schéma, affiche les tables et les vues disponibles, et identifie les relations entre elles. Pour finaliser la migration, il suffit de tracer des lignes de connexion entre les structures source et cible, puis d’ajouter des fonctions de traitement des données chaque fois que les types ou les conventions de MySQL et de PostgreSQL divergent.

Le mappage étant enregistré sous forme de conception réutilisable, la même migration de MySQL vers PostgreSQL peut être réexécutée chaque fois que les données source changent, par exemple lors d’une migration progressive ou dans le cadre d’un chargement récurrent.

Migration de SQLite vers MySQL

Les bases de données SQLite sont fréquemment utilisées pour le stockage local ou intégré et doivent ensuite être transférées vers un serveur MySQL partagé.

Le typage flexible de SQLite est l’élément principal à prendre en compte dans cette migration : les valeurs stockées de manière non stricte par SQLite doivent être mappées vers des colonnes MySQL à typage explicite. Les fonctions de traitement des données de MapForce effectuent cette conversion au sein même du mappage, de sorte que des valeurs correctement typées soient écrites dans la cible MySQL.

Migration de SQL Server vers MySQL

Lors d’une migration de MSSQL vers MySQL, MapForce gère les différences de schéma entre les deux moteurs dans le cadre du mappage : le renommage des colonnes, la conversion des types et le formatage des valeurs s’effectuent tous de manière graphique plutôt que via des scripts de migration. Les actions sur les tables vous permettent de contrôler la manière dont les données sont mappées. Vous pouvez choisir INSERT, UPDATE ou DELETE pour chaque table, et définir les colonnes que MapForce utilise pour déterminer si une ligne cible existe déjà.

Migration de Microsoft Access vers SQL Server

Les bases de données Access qui ont dépassé les capacités d’un ordinateur de bureau sont généralement migrées vers SQL Server. MapForce se connecte à Microsoft Access et à SQL Server via ADO, charge les deux schémas et vous permet de mapper les tables et les requêtes Access vers des tables SQL Server.

Access et SQL Server diffèrent en termes de types de données, de gestion des clés et de règles de nommage. Le mappage visuel de la conversion met en évidence ces différences et vous permet de les corriger une seule fois, au niveau du mappage, plutôt que de manière répétée dans les données. Les paramètres de clé de la base de données déterminent si les valeurs AutoNumber d’Access sont conservées ou remplacées par des valeurs d’identité de SQL Server.

Migration d’Access (ACCDB) vers SQLite

La conversion d’un fichier ACCDB vers SQLite permet de transférer une base de données Access vers un format léger, basé sur des fichiers, qui s’exécute partout. MapForce lit la base de données Access via ADO et écrit dans le fichier SQLite via une connexion native. Comme pour toute migration MapForce, les schémas source et cible n’ont pas besoin de correspondre. Vous pouvez aplatir, renommer ou créer un sous-ensemble de la structure Access lors de sa transformation vers SQLite.

Migration de MariaDB vers MySQL

MariaDB et MySQL sont étroitement liés, mais une migration entre ces deux systèmes nécessite tout de même de prendre en compte les types de données, les clés et toute divergence dans les définitions de colonnes. Lorsque les schémas sont identiques, le mappage consiste en un simple ensemble de connexions ; lorsqu’ils diffèrent, les mêmes filtres et fonctions que ceux utilisés dans tout autre chemin de migration s’appliquent.

Migration de SQL vers NoSQL

MapForce migre également les données depuis des bases de données relationnelles vers des bases de données NoSQL, notamment MongoDB, CouchDB et Microsoft Azure Cosmos DB. Les lignes relationnelles et leurs tables associées sont mappées visuellement en structures de documents ; ainsi, un schéma SQL normalisé peut être transformé en documents dans le cadre de la migration même, plutôt que lors d’une étape de transformation distincte.

Filtrage et traitement des données

La plupart des migrations réelles ne consistent pas en un simple mappage colonne par colonne. MapForce intègre une bibliothèque de fonctions de traitement des données permettant d’effectuer des comparaisons logiques, des calculs mathématiques, des manipulations de chaînes de caractères et la gestion des dates et heures, ainsi que des filtres et des conditions qui déterminent quelles lignes parviennent à la base de données cible.

Cela signifie que vous pouvez migrer un sous-ensemble des données source, fusionner deux colonnes source en une seule colonne cible, répartir une seule colonne source sur plusieurs colonnes cibles, rechercher et remplacer des valeurs, ou appliquer des règles métier pendant la migration, le tout au sein d’un même mappage visuel.

Paramètres des clés de base de données

Les paramètres de clés de base de données de MapForce vous permettent de personnaliser la manière dont les valeurs des clés primaires et étrangères sont ajoutées à la base de données cible lors d’une migration. Vous pouvez fournir des valeurs de clé depuis MapForce, en conservant les identifiants utilisés dans le système source, ou laisser le système de base de données cible se charger de la génération automatique des valeurs.

Définir les actions sur les tables de base de données

Le dialogue Actions de table de base de données contrôle la manière dont les données sont écrites dans chaque table cible. Sélectionnez l’action (INSERT, UPDATE, DELETE) à exécuter et définissez les colonnes que MapForce utilise pour faire correspondre les enregistrements cibles. Ce dialogue prend en charge la comparaison des valeurs NULL ; une migration peut ainsi être configurée pour comparer les données en tenant compte des valeurs NULL, conformément aux règles de la base de données concernée.

 

Contrôler la manière dont les données sont écrites lors du mappage de base de données

 

Prise en charge des procédures stockées SQL

MapForce prend en charge les procédures stockées en tant que composants d’entrée ou de sortie, ou sous forme d’appels de type fonction — en fournissant des données d’entrée, en exécutant la procédure et en mappant les données de sortie vers d’autres composants. Les procédures stockées peuvent également être utilisées pour générer des valeurs de clé au cours d’une migration.

Journalisation/traçage des sorties de base de données

Le traçage des sorties de base de données consigne toutes les modifications apportées par une migration lors de son exécution. Lorsque le traçage est activé, les événements tels que les actions d’insertion ou de mise à jour dans la base de données, ainsi que les erreurs, sont consignés dans un fichier XML que vous pouvez analyser ultérieurement ou traiter davantage. La journalisation des sorties est utile pour établir un relevé de ce qui a été migré.

Gestion des erreurs de transaction de base de données

MapForce propose une gestion des transactions de base de données permettant d’annuler la partie affectée d’une conversion de base de données lorsqu’une erreur est levée, et, si vous le souhaitez, de poursuivre le reste du mappage. Cela évite qu’un échec partiel ne laisse la base de données cible dans un état incohérent.

Interroger directement les bases de données

L’onglet Requête de base de données vous permet d’exécuter des requêtes SQL sur la base de données source ou cible depuis MapForce, grâce à un éditeur SQL complet. Cette fonctionnalité est utile pour inspecter les données source avant de concevoir le mappage et pour vérifier les résultats dans la base de données cible une fois la migration lancée.

 

Interroger une base de données pendant la conversion

 

Trier les composants d'entrée de base de données

Pour les migrations nécessitant que les données d’entrée soient classées dans un ordre particulier, le composant SQL-WHERE/ORDER offre des options supplémentaires de tri et de filtrage pour les composants d’entrée de base de données.

Automatiser et faire évoluer les migrations avec MapForce Server

Une fois le mappage de migration conçu et testé dans MapForce, Altova MapForce Server offre une automatisation hautement performante, pouvant être lancée depuis la ligne de commande, par programmation via une API, ou sous forme d’étape de tâche gérée par FlowForce Server en fonction de déclencheurs et de planifications définis.

MapForce Server inclut le traitement parallèle et le multithreading, l’insertion SQL en masse, ainsi qu’une prise en charge multiplateforme ; ainsi, les migrations volumineuses et les chargements répétés s’exécutent plus rapidement qu’ils ne le feraient en mode interactif. Dans le cas d’une migration par étapes où les mêmes tables sont déplacées à plusieurs reprises jusqu’au basculement, cela transforme un mappage ponctuel en une opération planifiée et reproductible.