Mappatura dei dati per database NoSQL
I database NoSQL sono database non tabellari che memorizzano i dati in modo diverso rispetto ai database tradizionali, costituiti da tabelle relazionali. Due dei database NoSQL più diffusi, MongoDB e Apache CouchDB, memorizzano i dati come raccolte di documenti BSON (JSON binario) e JSON. Questi database sfruttano schemi JSON flessibili e si adattano facilmente a grandi quantità di dati e a un elevato numero di utenti.
Altova MapForce supporta da tempo la mappatura dei dati per tutti i principali database relazionali e ora include anche il supporto nativo per la mappatura dei database NoSQL. MapForce offre funzionalità per l'inserimento, l'estrazione, il filtraggio e l'ordinamento dei dati NoSQL. Vediamo un esempio.

Di seguito è riportata una mappatura completa dei dati del database di esempio "sample_analytics" di MongoDB, un database NoSQL. Questa mappatura estrae un sottoinsieme dei dati in formato binario JSON (BSON) da diverse raccolte, combina, filtra, trasforma e ordina i dati, per poi esportare il risultato come un singolo documento JSON.

Il database NoSQL "sample_analytics" è un esempio ospitato su un server cloud MongoDB Atlas accessibile pubblicamente e contiene dati di addestramento per un'applicazione simulata di servizi finanziari. Il database include collezioni di documenti BSON relativi a 500 clienti, 1.746 conti e 1.746 transazioni di acquisto o vendita.
La mappatura dei database NoSQL in MapForce inizia selezionando il database NoSQL dalla procedura guidata "Inserisci connessione al database" di MapForce e inserendo i parametri di connessione. Successivamente, è possibile selezionare le raccolte da mappare:

Ogni collezione richiede uno schema JSON per mappare i suoi oggetti. Lo schema può essere definito nel database per la validazione, oppure può essere un file esterno.

Ecco una visualizzazione più dettagliata degli oggetti presenti nelle collezioni "clienti" e "transazioni", pronta per la mappatura dei dati NoSQL in MapForce:

Dopo aver specificato uno schema JSON o un file JSON di esempio per il formato di output, siamo pronti a iniziare a collegare gli oggetti nel database all'output. Il database NoSQL MongoDB memorizza dati JSON in formato binario. La libreria di funzioni MapForce include funzioni integrate per la manipolazione dei dati BSON:

Il database include clienti con indirizzi email Gmail, Hotmail e Yahoo nei loro profili, ma il nostro progetto di mappatura ha il compito di recuperare solo i risultati per i clienti con indirizzi Yahoo. Ovviamente, non esiste una query SQL Select/Where in un database NoSQL per filtrare gli indirizzi email! Pertanto, possiamo combinare una funzione to-regex di BSON con una struttura Where/Order integrata in MapForce per ottenere lo stesso risultato:

L'opzione "Where / Order Sort" di MapForce soddisfa anche un altro requisito del progetto: ordinare i clienti in base alla data di nascita nell'output.

Il formato BSON supporta formati di dati aggiuntivi rispetto alle stringhe o ai numeri in formato JSON. MapForce converte automaticamente la data di nascita dal formato data BSON a una stringa, in modo che possa essere elaborata dalla funzione "formatta-data" per l'output finale.

Combinando le strutture "Where" e "Order" di MapForce con altre funzioni integrate di MapForce, è possibile filtrare la raccolta di transazioni per visualizzare solo le transazioni di "acquisto" e, successivamente, collegare le transazioni, raggruppate e ordinate, ai profili presenti nella raccolta dei clienti.

Il file di output contiene tutti i clienti con indirizzi email yahoo.com e riporta i loro ordini di acquisto, raggruppati per account, per ciascun cliente. Inoltre, il file di output elenca i clienti in ordine di data di nascita, dal più giovane al più anziano. Di seguito, una visualizzazione parziale dell'output JSON in XMLSpy, lo strumento popolare per la modifica, la modellazione, la trasformazione e il debug di tecnologie JSON e XML:

Gli utenti vengono visualizzati in ordine decrescente in base alla data di nascita, e le transazioni di acquisto per ciascun account sono elencate in ordine alfabetico in base agli oggetti "name" nel formato JSON dell'output.
Se è necessario ripetere periodicamente l'elaborazione per raccogliere nuove transazioni, MapForce Server automatizza l'esecuzione delle mappature dei dati progettate in MapForce
MapForce è un potente strumento di mappatura dati che consente di mappare dati provenienti da database NoSQL verso o da formati come XML, JSON, database, EDI, XBRL, file di testo, Excel e/o servizi web. Per provarlo e utilizzarlo nella vostra applicazione di mappatura dati NoSQL, scaricate una Prova gratuita completamente funzionante Oggi!