Mapeo de datos en bases de datos NoSQL
Las bases de datos NoSQL son bases de datos no relacionales que almacenan datos de manera diferente a las bases de datos tradicionales, que se basan en tablas relacionales. Dos de las bases de datos NoSQL más populares, MongoDB y Apache CouchDB, almacenan los datos como colecciones de documentos BSON (JSON binario) y JSON. Estas bases de datos utilizan esquemas JSON flexibles y se escalan fácilmente para manejar grandes cantidades de datos y un alto número de usuarios.
Altova MapForce ha ofrecido durante mucho tiempo la capacidad de mapear datos de todas las bases de datos relacionales populares, y ahora también incluye soporte nativo para el mapeo de datos de bases de datos NoSQL. MapForce incluye funcionalidades para insertar, extraer, filtrar y ordenar datos NoSQL. Veamos un ejemplo.

A continuación, se muestra un esquema completo de la estructura de datos proveniente de la base de datos de ejemplo "sample_analytics" de NoSQL MongoDB. Este esquema extrae un subconjunto de los datos binarios en formato JSON (BSON) de varias colecciones, combina, filtra, transforma y ordena los datos, y luego exporta el resultado como un único documento JSON.

La base de datos NoSQL "sample_analytics" es un ejemplo alojado en el servidor en la nube MongoDB Atlas, accesible al público, y almacena datos de entrenamiento para una aplicación simulada de servicios financieros. La base de datos incluye colecciones de documentos BSON que contienen información de 500 clientes, 1.746 cuentas y 1.746 transacciones de compra o venta.
La configuración de la correspondencia de datos para bases de datos NoSQL en MapForce comienza seleccionando la base de datos NoSQL a través del asistente de conexión de bases de datos de MapForce e introduciendo los parámetros de conexión. A continuación, podemos seleccionar las colecciones que se van a mapear:

Cada colección requiere un esquema JSON para mapear sus objetos. Este esquema puede asignarse en la base de datos para su validación, o puede ser un archivo externo.

Aquí se muestra una vista ampliada de los objetos en las colecciones de "clientes" y "transacciones", lista para el mapeo de datos NoSQL en MapForce:

Una vez que hemos especificado un esquema JSON o un archivo JSON de ejemplo para el formato de salida, estamos listos para comenzar a conectar los objetos de la base de datos con la salida. La base de datos NoSQL de MongoDB almacena datos JSON binarios. La biblioteca de funciones de MapForce incluye funciones integradas para manipular datos BSON:

La base de datos incluye clientes con direcciones de correo electrónico de Gmail, Hotmail y Yahoo en sus perfiles, pero nuestro proyecto de mapeo tiene la tarea de recuperar únicamente los resultados para los clientes con direcciones de Yahoo.com. Obviamente, no existe una consulta SQL Select/Where en una base de datos NoSQL para filtrar las direcciones de correo electrónico. Por lo tanto, en lugar de eso, podemos combinar una función to-regex de BSON con una estructura Where/Order integrada de MapForce para lograr el mismo resultado:

La opción "Where/Order Sort" de MapForce también cumple con otro requisito del proyecto: ordenar a los clientes por fecha de nacimiento en el resultado.

El formato BSON admite formatos de datos adicionales en comparación con las cadenas o los números en formato JSON. MapForce convierte automáticamente la fecha de nacimiento del formato de fecha BSON a formato de cadena para que pueda ser procesada por la función "formatear fecha" y así generar la salida final.

Combinando las estructuras "Where" y "Order" de MapForce con otras funciones integradas de MapForce, se filtra la colección de transacciones para mostrar únicamente las transacciones de "compra", y se unen las transacciones, organizadas en grupos y ordenadas, con los perfiles de la colección de clientes.

El archivo de salida contiene la información de todos los clientes con direcciones de correo electrónico de yahoo.com, y muestra sus pedidos de compra agrupados por cuenta para cada cliente. Además, el archivo de salida enumera a los clientes ordenados por fecha de nacimiento, desde el más joven hasta el más mayor. A continuación, se muestra una vista parcial del resultado en formato JSON, visualizado en XMLSpy, una herramienta popular para.. edición, modelado, transformación y depuración de archivos JSON y XML tecnologías:

Los usuarios se muestran en orden descendente según su fecha de nacimiento, y las transacciones de compra para cada cuenta se presentan en orden alfabético según los objetos "name" en formato JSON que se encuentran en la salida.
Si necesita repetir periódicamente el proceso para recopilar transacciones más recientes, MapForce Server automatiza la ejecución de las transformaciones de datos diseñadas en MapForce
MapForce es una herramienta potente para la transformación de datos que permite mapear bases de datos NoSQL hacia o desde formatos como XML, JSON, bases de datos, EDI, XBRL, archivos de texto plano, Excel y/o servicios web. Para probarla en su propia aplicación de mapeo de datos NoSQL, descargue una.. Versión de prueba completamente funcional ¡Hoy!