Mappage de base de données & ETL

Mapper et convertir des données entre des bases de données ou d'autres formats de données

  • ETL pour toute base de données
  • Exécuter des requêtes de base de données sur toutes les bases de données principales
  • Prise en charge de bases de données SQL & NoSQL
  • Conversion d'un type de base de données à l'autre
  • Mapper des données de bases de données depuis ou vers d'autres formats de données
  • Spécifier les paramètres clés de base de données
  • Journalisation de sortie & gestion d'erreur
  • Définir les actions de table de base de données
  • Requête directe dans les bases de données
  • Connecter à et mapper des XML de bases de données dans des tables
  • Trier les composants d'entrée de base de données

Outils de mappage de base de données

MapForce est un outil ETL et d’intégration de données avec une prise en charge puissante pour la conversion de base de données. Vous pouvez convertir entre toute combinaison de données de base de données et XML, JSON, PDF, CSV et d’autres fichiers plats, EDI, Excel (OOXML), protobuf, XBRL, services Web, et même d’autres formats de base de données.

Lorsque vous chargez une structure de base de données dans la fenêtre de design, MapForce interprète automatiquement le schéma de base de données, vous permet de choisir des tables et modes de base de données disponibles et reconnait des relations de table. Vous pouvez ensuite consulter la structure de base de données visuellement.

Mappage graphique de base de données dans MapForce pour intégrer aisément des données de base de données

Une fois que vous avez chargé tous les modèles de contenu nécessaires pour votre mappage de base de données, terminez le mappage en glissant les lignes de connexion entre les structures de source et de cible.

Bases de données relationnelles prises en charge :

  • Firebird 2.5, 3, 4
  • IBM DB2 for iSeries® v6.1, 7.1, 7.2, 7.3, 7.4
  • IBM DB2® 8, 9.1, 9.5, 9.7, 10.1, 10.5, 11.5, 11.5.7
  • Informix® 11.70, 12.10, 14.10
  • MariaDB 10, 10.3, 10.4, 10.5, 10.6.5, 10.9.2, 11.2
  • Microsoft Access™ 2003, 2007, 2010, 2013, 2019
  • Microsoft® Azure SQL
  • Microsoft® SQL Server® 2005-2022
  • MySQL® 5, 5.1, 5.5, 5.6, 5.7, 8, 8.0.25, 8.0.28, 8.2, 8.3
  • Oracle® 9i, 10g, 11g, 12c, 18, 19
  • PostgreSQL 8, 9, 10, 11, 12, 13, 14, 15, 16
  • Progress OpenEdge 11.6
  • SQLite 3.x
  • Sybase® ASE 15, 16
  • Teradata 16

Bases de données NoSQL prises en charge :

  • MongoDB
  • CouchDB

MapForce prend en charge toutes les principales bases de données relationnelles, ainsi que les bases de données NoSQL, vous permettant de créer des designs de mappage de base de données graphiques entre des sources de données de base de données, des fonctions et filtres de traitement de données et d'autres structures de données de tout type. Ceci permet de prendre en charge pour les scénarios de migration de base de données, tel que MySQL to PostgreSQL, ainsi que d’autres possibilités infinies y compris les transformations one-to-many et transformations de données en chaîne.

Outils ETL de base de données

MapForce inclut des outils ETL puissants pour écrire des données dans des bases de données SQL et NoSQL. Ceci comprend non seulement la transformation de XML, JSON et d’autres formats de données mais aussi la transformation des données d’un type de base de données à un autre, comme après une fusion et acquisition ou une migration de système.

  • Extract: Une fois connecté, MapForce lit les données de tout format source pris en charge pour extraction.
  • Transform: MapForce prend en charge un grand nombre de fonctions de transformation, y compris la manipulation de strings, les opérations mathématiques, conversions de données, etc., de même que les fonctions personnalisées et la logique conditionnelle pour gérer des transformations complexes.
  • Load: MapForce rend la configuration de connexions aux bases de données facile, génère les scripts SQL pour insérer les données transformées et définir les actions comme insérer, mettre à jours ou supprimer pour contrôler comment les données sont écrites, toutes avec des options complètes pour la gestion d’erreurs et de journalisation.

Filtrer et traiter les données de base de données

De nombreuses transformations de bases de données nécessitent la manipulation de données entre la source et la cible sur la base de conditions booléennes ou d'instructions SQL et SQL/XML. Vous devrez éventuellement effectuer des comparaisons logiques, des calculs mathématiques ou des opérations de strings, contrôler les données de base de données d'une valeur particulière et procéder à d'autres modifications des données. Dans la capture d'écran ci-dessus, les fonctions de traitement des données apparaissent comme des cadres entre les lignes reliant le modèle de données source et cible.

Les fonctions de traitement des données vous permettent d'effectuer des mappages de base de données avancés très rapidement pour une multitude d'exigences de transformations concrètes Vous pouvez, par exemple, construire des mappages de base de données qui utilisent des messages XML ou EDI pour extraire des lignes de base de données sur la base de critères de filtre depuis les éléments XML ou EDI.

Conversion de base de données instantanée

Une fois que votre mappage a été défini, le moteur intégré de MapForce vous permet de consulter et d'enregistrer les résultats en un clic.

Les mappages base de données-sur-XML produisent une sortie XML, les mappages de base de données sur fichier plat ont leur sortie dans des fichiers CSV ou des fichiers de texte à longueur fixe, les mappages de base de données sur EDI peuvent produire des messages EDIFACT, X12 ou HL7, les mappages sur Excel produisent une balise Office Open XML (OOXML), et des mappages sur XBRL produisent des rapports financiers XBRL.

Les mappages vers une base de données produisent une sortie sous la forme de scripts SQL (par ex., instructions SELECT, INSERT, UPDATE et DELETE) ou scripts NoSQL qui sont exécutés par rapport à votre base de données cible directement depuis MapForce.

Outre la transformation instantanée, ETL haute performance est disponible via MapForce Server.

Journalisation de sortie de base de données (traçage)

Le traçage de sortie de base de données permet de consigner dans un fichier journal tous les changements effectués par un projet de mappage ou ETL dans la base de données lorsque le mappage est exécuté.

Lorsque le traçage est activé, des événements comme des insertions de base de données ou des actions de mise à jour, ou bien des erreurs sont enregistrées dans un fichier XML que vous pouvez analyser ultérieurement ou traiter de manière autonome.

Le traçage de base de données peut être activé au niveau du composant de base de données, de table, de procédure stockée, ou de champ de base de données. Vous pouvez choisir de tracer tous les messages ou seulement des erreurs, ou vous pouvez désactiver le traçage complètement.

Une fois que vous avez déterminé le niveau de traçage souhaité, le composant de base de données touché dans le projet de mappage est étendu par le biais d’une arborescence XML montrant la structure de journal. Si vous souhaitez un autre format que XML pour votre fichier journal, vous pouvez mapper des données depuis ce fichier vers un autre format de données pris en charge par MapForce (par exemple, un fichier de texte ou même une autre base de données).

En cliquant sur la touche Sortie pour consulter le résultat du mappage, le développeur peut aussi consulter un exemple d’un journal de traçage lorsque le mappage est exécuté.

Traçage de base de données pour journaliser la sortie pour ETL base de données

Gestion d’erreur de transaction de base de données

MapForce propose une gestion de transaction de base de données pour annuler la partie touchée de la conversion de base de données lorsqu’une erreur est lancée et traitée en option avec le reste du mappage.

Dès fois, un erreur apparaît qui n’empêche pas le reste d’un mappage de base de données de continuer, comme lorsque certaines contraintes de base de données empêchent le processus ETL d’insérer ou mettre à jour des données invalides.

L’activation de la gestion de transaction de base de données contiendra tous les changements effectués par le composant de base de données dans une transaction qui sera annulée en cas d’erreur, et vous pouvez choisir soit de continuer avec le reste du mappage soit d’arrêter l’exécution du mappage. Vous pouvez activer des transactions au niveau du composant de base de données au niveau d’action de table.

Activer des transaction de base de données pour la gestion d'erreur

Cela est très utile lorsque le designer de mappage souhaite capturer des données entrantes valides et simplement ignorer des données invalides.

Mappage de bases de données et ETL avancé

Pour les utilisateurs qui travaillent avec SQL, MapForce inclut un onglet de Requête de base de données pour l'exécution directe de requêtes de bases de données. Lorsque vous vous connectez à une base de données à l'aide de l'onglet de Requête de base de données, MapForce affiche ses tables dans une arborescence hiérarchique dans le panneau de navigation.

Requêter la base de données tout en définissant un mappage de conversion de base de données

Vous pouvez ensuite utiliser l'onglet d'éditeur SQL pour afficher, éditer et exécuter les instructions SQL ou SQL/XML, soit en ouvrant des fichiers SQL existants, soit en créant des instructions SQL à partir de zéro en utilisant les fonctions glisser/déposer et de remplissage automatique.

Vous pouvez exécuter votre script SQL et afficher les résultats de manière tabulaire et vous pouvez enregistrer les données extraites et le script SQL individuellement dans des fichiers séparés.

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

Les paramètres clés de base de données MapForce vous permettent de personnaliser comment ajouter les valeurs clé primary et foreign à une base de données qui est une cible de mappage de données. Vous pouvez soit fournir des valeurs pour les clés depuis MapForce, soit laisser le système de base de données gérer la génération des valeurs automatiques.

Dans des situations où les relations clé primary et/ou foreign ne sont pas définies explicitement dans vos tables de base de données, MapForce vous permet de définir ces relations inline, sans effet sur les données de source.

Définir les actions de table de base de données

Lorsque vous mappez sur une base de données, MapForce vous permet de sélectionner les actions de tables de base de données pour contrôler la manière dont les données sont écrites dans la base de données. Cela vous confère une pleine flexibilité pour automatiser les tâches de gestion de données les plus avancées.

La fenêtre de dialogue conviviale Actions de table de base de données vous permet de définir les colonnes dans lesquelles la table sélectionnée sera utilisée afin de déterminer quelle action (INSERT, UPDATE, DELETE) doit être exécutée dans la base de données.

Cela vous confère une flexibilité inouïe dans la manipulation des lignes de base de données en réponse aux données XML, base de données, EDI, XBRL, fichier plat, Excel, JSON, services Web ou autres données de base de données par le biais de MapForce.

Prise en charge des Procédures stockées SQL

MapForce offre une prise en charge robuste pour les procédures stockées en tant que composants d'entrée (des procédures qui fournissent des résultats) ou en tant que composants de sortie (des procédures qui insèrent ou mettent à jour des données). Ou bien encore, les procédures stockées peuvent être insérées en tant qu'un appel semblable à une fonction permettant aux utilisateurs de fournir des données d'entrée, d'exécuter la procédure stockée et de lire/mapper les données de sortie en d'autres composants.

Cette capture d'écran montre le mappage d'une procédure stockée dans un serveur SQL Server pour créer un fichier XML. La procédure retourne une table de données affichant tous les managers contenus dans la chaîne de commande situés au-dessus de l'ID de l'employé spécifié, fournie en tant que paramètre d'entrée. Dans cet exemple, la constante 67.

Le paramètre peut aussi être fourni en tant que valeur calculée ou en tant qu'élément de données extrait d'un autre endroit dans la base de données.

MapForce fournit un menu contextuel qui permet aux utilisateurs d'exécuter la procédure stockée pour révéler la structure de données pour le mappage. L'exécution du mappage illustré génère la sortie XML.

Les outils de mappage de données avancés incluent une prise en charge de la procédure stockée

Mapper XML stocké dans les champs de BD

MapForce permet aussi de vous connecter à et de mapper les données de bases XML stockées dans les champs de base de données relationnelles (actuellement prise en charge du serveur SQL & IBM DB2). Vous pouvez simplement attribuer un schéma XML au champ, et MapForce rend le schéma en tant que sous-arborescence du champ de la base de données à des fins de mappage.

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

Les requêtes SQL qui fonctionnent dans la base de données ne sont pas toujours suffisantes pour les tâches de mappage de données complexes. MapForce fournit des fonctions de tri de base de données supplémentaires par le biais du composant SQL-WHERE/ORDER pour l'entrée de base de données qui nécessite un traitement supplémentaire.

Prise en charge des valeurs NULL dans les actions de table de base de données

Le dialogue Actions de table de base de données prend en charge la comparaison de valeur NULL. Les comparaisons NULL-aware permettent de mieux gérer des BD qui contiennent des valeurs null. Les utilisateurs de MapForce peuvent configurer un mappage de BD pour faire une comparaison de données de manière NULL-aware.

Le mappage de données à droite a pour but de mettre à jour la table cible sans insérer des entrées doubles. Les deux tables sont définies, permettant au champ d'e-mail d'être NULL, donc les entrées de nom correspondantes avec des champs d'e-mail NULL peuvent exister dans chaque table.

Cliquer sur l'icône Actions à côté de la table de base de données CIBLE. La case à cocher NULL égal située à côté du champ E-mail permet à MapForce de traiter les valeurs NULL dans la source et la cible de manière égale, même si elles ne sont pas considérées comme égales de par les règles de base de données.

Mappage de base de données « null-aware » dans MapForce

Base de données en XML

MapForce prend en charge les mappages de base de données provenant ou vers des XML basés sur le Schéma XML ou sur les modèles de contenus DTD. Afin de développer un mappage de base de données de ou vers XML, il suffit de glisser un Schéma XML et une base de données dans MapForce et de glisser les lignes de connexion entre les nœuds XML et les objets de base de données.

Si vous ne disposez pas d'un schéma associé pour un document d'instance XML, MapForce génèrera un schéma XML depuis un document d'instance XML.

Mappage de base de données XML MapForce

Prise en charge de caractères génériques XML

L'élément <xs:any> et <xs:anyAttribute> dans un design de Schéma XML permet le placement de tout nouvel élément ou attribut dans l'emplacement correspondant dans un document d'instance XML, même si le nouvel élément ou attribut n'est pas défini dans le Schéma XML. Il s'agit de ce qui est communément appelé un caractère générique XML, soit un mécanisme très apprécié utilisé pour permettre un certain degré de personnalisation dans de nombreux Schémas XML qui prennent en charge les normes de la branche dans un grand nombre d'entreprises.

MapForce prend en charge <xs:any> et <xs:anyAttribute> pour les mappages vers les sorties en XML ou dans tout autre format de sortie. Un nouveau bouton de sélection à côté de <xs:any> ou <xs:anyAttribute> dans un composant d'entrée de mappage XML ouvre un dialogue de sélection de caractère générique.

Les éléments <xs:any> et <xs:anyAttribute>, sont généralement utilisés dans les design Schéma XML et de nombreux utilisateurs ont demandé une prise en charge dans MapForce.

Apprenez à convertir les données de base de données en XML et d’autres formats dans MapForce

Mappage de base de données JSON

MapForce comprend une prise en charge de la définition et l'exécution de mappages de bases de données sur la base de modèles JSON (JavaScript Object Notation). Vous pouvez ajouter une instance JSON ou des fichiers de schéma JSON en tant que composant source ou cible d'un mappage de base de données. MapForce lit et écrit les fichiers JSON sur la base de JSON Draft 04 Schema.

Comme indiqué ci-dessous, les composants JSON sont affichés avec une syntaxe d'élément appropriée et leurs types de données sont clairement indiqués.

Convertir des données de base de données pour JSON dans MapForce

Les fonctions de traitement de données de la bibliothèque des fonctions MapForce peuvent être appliquées pour transformer les données JSON, exactement comme pour les autres composants.

Auto-génère des schémas JSON

Lorsque vous ajoutez un fichier JSON ou JSON5 à un mappage de base de données, MapForce détecte automatiquement s'il s'agit d'un fichier de schéma ou d'instance. Pour les fichiers d'instance JSON ou JSON5, MapForce vous invite à parcourir un schéma JSON ou à en générer un automatiquement. MapForce Utilise le schéma JSON ou JSON5 pour construire la structure du composant.

Intégration de données & Automatisation ETL haute performance

Altova MapForce Server contient le moteur de transformation de données intégré développé pour MapForce et fonctionne dans les environnements de serveur. MapForce Server réalise des transformations de données pour toutes les combinaisons de XML, PDF, base de données, EDI, XBRL, fichier plat, Excel, JSON et/ou service web à l'aide des mappages de données prétraités et optimisés stockés dans les fichiers d'exécution basés sur des mappages de données définis dans MapForce Server. MapForce Server révolutionne l’ETL de données avec des capacités de serveur permettant un traitement parallèle et un multi-threading, une fusion bulk SQL, prise en charge multi-plateforme, etc.

Le pré-traitement permet d'accélérer la performance et de réduire l'empreinte mémoire pour la plupart des mappages de données. MapForce Server fonctionne sous la gestion de FlowForce Server, dans une configuration individuelle exécutée depuis une ligne de commande ou par programmation via un API.

Une fois qu'un mappage MapForce a été conçu et testé, il peut être exécuté par MapForce Server pour automatiser les processus à transformations répétitives.

Tâches de mappage de base de données automatisées via MapForce

MapForce pré-traite et optimise les mappages de données, les stocke dans des fichiers d'exécution MapForce Server pour une exécution par ligne de commande par MapForce Server, et les charge dans les tâches FlowForce Server.

Lorsque MapForce Server fonctionne sous la gestion de FlowForce Server, les mappages de données et les processus ETL sont exécutés en tant qu'étapes de tâche de FlowForce Server, sur la base de déclencheurs définis en tant que partie intégrante de la tâche de FlowForce Server. Par exemple, un nouveau document d'instance XBRL atterrit dans un répertoire qui déclenche une tâche à plusieurs étapes FlowForce Server qui validera tout d'abord le fichier avec RaptorXML+XBRL Server, puis exécutera MapForce Server pour extraire certaines données depuis XBRL et l'insèrera dans une base de données.

MapForce Server prend en charge le Bulk Insert pour les bases de données

Bulk Insert est une opération disponible pour certaines bases de données qui permet d'insérer des quantités importantes de données dans une table de base de données dans une seule déclaration SQL, par opposition à la méthode classique qui consiste à utiliser des déclarations Insert individuelles pour chaque ligne. La performance s'améliore considérablement. Des tests réalisés sur MapForce Server ont montré que Bulk Insert prend 10 fois moins de temps qu'avec des déclarations Insert individuelles

Bulk Insert est également avantageux dans des environnements à utilisateurs multiples. Une longue série de commandes Insert transmises à la base de données par un utilisateur pourrait potentiellement être interrompue par un autre utilisateur qui enverrait une requête Select à la même table, ensuite la séquence Insert continuerait. Dans ce genre de situation, l'opération Select se traduirait par des données incomplètes ou invalides.