Cartographie des données pour les bases de données NoSQL
Les bases de données NoSQL sont des bases de données non relationnelles qui stockent les données différemment des bases de données traditionnelles, composées de tables relationnelles. Deux des bases de données NoSQL les plus populaires, MongoDB et Apache CouchDB, stockent les données sous forme de collections de documents BSON (JSON binaire) et JSON. Ces bases de données utilisent des schémas JSON flexibles et peuvent facilement gérer de grandes quantités de données et un nombre élevé d'utilisateurs.
Altova MapForce prend en charge depuis longtemps la transformation de données pour toutes les bases de données relationnelles populaires, et prend désormais également en charge nativement la transformation de données pour les bases de données NoSQL. MapForce inclut des fonctionnalités pour l'insertion, l'extraction, le filtrage et le tri des données NoSQL. Examinons un exemple.

Ci-dessous, vous trouverez une représentation complète des données provenant de la base de données d'exemple "sample_analytics" utilisant la technologie NoSQL MongoDB. Cette représentation extrait un sous-ensemble des données binaires au format JSON (BSON) provenant de plusieurs collections, combine, filtre, transforme et trie ces données, puis exporte le résultat sous forme d'un seul document JSON.

La base de données NoSQL sample_analytics est un exemple hébergé sur le serveur cloud MongoDB Atlas, accessible au public, et qui stocke des données d'entraînement pour une application fictive de services financiers. La base de données comprend des collections de documents BSON pour 500 clients, 1 746 comptes et 1 746 transactions d'achat ou de vente.
La configuration de la correspondance des données pour les bases de données NoSQL dans MapForce commence par la sélection de la base de données NoSQL à l'aide de l'assistant de connexion aux bases de données de MapForce, puis en saisissant les paramètres de connexion. Ensuite, vous pouvez sélectionner les collections à mettre en correspondance :

Chaque collection nécessite un schéma JSON pour définir la structure de ses objets. Ce schéma peut être enregistré dans la base de données pour la validation, ou il peut s'agir d'un fichier externe.

Voici une vue détaillée des objets des collections "clients" et "transactions", prêts à être utilisés pour la modélisation des données NoSQL dans MapForce :

Une fois que nous avons spécifié un schéma JSON ou un fichier JSON d'exemple pour la cible de sortie, nous sommes prêts à commencer à connecter les objets de la base de données à la sortie. La base de données NoSQL MongoDB stocke des données JSON binaires. La bibliothèque de fonctions MapForce comprend des fonctions intégrées pour manipuler les données BSON :

La base de données contient des informations sur des clients, notamment leurs adresses e-mail Gmail, Hotmail et Yahoo. Cependant, notre projet de traitement de données a pour objectif de ne récupérer que les résultats concernant les clients ayant une adresse Yahoo.com. Il est évident qu'il n'existe pas de requête SQL "Select / Where" dans une base de données NoSQL pour filtrer les adresses e-mail. Par conséquent, nous pouvons combiner une fonction "to-regex" en BSON avec une structure "Where / Order" intégrée à MapForce pour obtenir le même résultat :

L'option "Where / Order Sort" de MapForce permet également de satisfaire un autre besoin du projet : trier les clients par date de naissance dans le résultat.

Le format BSON prend en charge des formats de données supplémentaires que les chaînes de caractères ou les nombres au format JSON. MapForce convertit automatiquement la date de naissance du format de date BSON vers un format de chaîne de caractères afin de permettre son traitement par la fonction "format-date" pour la sortie finale.

En combinant les structures "Where" et "Order" de MapForce avec d'autres fonctions intégrées de MapForce, il est possible de filtrer la collection de transactions pour ne renvoyer que les transactions de "vente", et de joindre ces transactions, regroupées et triées, aux profils contenus dans la collection des clients.

Le fichier de sortie contient la liste de tous les clients possédant une adresse e-mail yahoo.com, ainsi que les rapports de leurs commandes d'achat, regroupées par compte pour chaque client. De plus, le fichier de sortie liste les clients classés par date de naissance, du plus jeune au plus âgé. Voici un aperçu partiel du résultat JSON affiché dans XMLSpy, un outil populaire pour la modification, la modélisation, la transformation et le débogage des technologies JSON et XML :

Les utilisateurs sont affichés par ordre décroissant de date de naissance, et les transactions d'achat pour chaque compte sont présentées par ordre alphabétique des objets "name" dans le format JSON de la sortie.
Si vous devez effectuer des traitements périodiques pour collecter de nouvelles transactions, MapForce Server automatise l'exécution des transformations de données conçues dans MapForce
MapForce est un outil puissant de mappage de données qui permet de faire correspondre des données provenant de bases de données NoSQL vers ou depuis différents formats, notamment : XML, JSON, bases de données, EDI, XBRL, fichiers plats, Excel et/ou services web. Pour l'essayer et l'utiliser dans votre propre application de mappage de données NoSQL, téléchargez-le Version d'essai entièrement fonctionnelle et gratuite aujourd'hui !