Mappatura dei database e processi ETL

Mappare e convertire i dati tra diversi database o altri formati di dati

  • Soluzioni ETL per qualsiasi database
  • Eseguire query sui database su tutte le principali piattaforme
  • Supporto per database SQL e NoSQL
  • Conversione da un tipo di database a un altro
  • Mappare i dati del database a formati di dati diversi, o viceversa
  • Specificare le impostazioni delle chiavi del database
  • Registrazione dei risultati e gestione degli errori
  • Definire le azioni relative alle tabelle del database
  • Interrogate direttamente i database
  • Connettersi e mappare i dati XML del database in tabelle
  • Ordinare i componenti di input del database

Strumenti di mappatura dei database

MapForce è uno strumento di integrazione dati e ETL che offre un potente supporto per la conversione di database. Permette di convertire dati tra qualsiasi combinazione di database, XML, JSON, PDF, CSV e altri file di testo, EDI, Excel, protobuf, XBRL, servizi web, Shopify/GraphQL e persino altri formati di database.

Quando si carica la struttura di un database nella finestra di progettazione, MapForce interpreta automaticamente lo schema del database, consente di selezionare le tabelle e le viste disponibili e riconosce le relazioni tra le tabelle. In questo modo, è possibile visualizzare la struttura del database in modo grafico.

Mappatura grafica dei database in MapForce per integrare facilmente i dati provenienti da diverse fonti

Una volta caricati tutti i modelli di dati necessari per la mappatura del database, completate la mappatura semplicemente trascinando delle linee di collegamento tra le strutture di origine e di destinazione.

Supportato relazionale database:

  • 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

Supportato NoSQL Banche dati:

  • MongoDB
  • CouchDB
  • Microsoft Azure Cosmos DB

MapForce supporta tutti i principali database relazionali, nonché i database NoSQL più diffusi, consentendovi di creare progetti grafici per la mappatura dei dati tra le fonti di dati del database, le funzioni di elaborazione dei dati e i filtri, e altre strutture dati di vario tipo. Questo permette di gestire scenari comuni di migrazione dei database, come.. Conversione da MySQL a PostgreSQLe, inoltre, innumerevoli altre possibilità, tra cui trasformazioni dei dati da uno a molti e trasformazioni concatenate.

Strumenti ETL per database

MapForce include funzionalità avanzate Strumenti ETL per la scrittura di dati in database SQL e NoSQL. Questo include non solo la trasformazione di dati in formato XML e JSON, Shopify/GraphQL e altri formati di dati in database, ma anche trasformando i dati da un tipo di database all'altro, ad esempio in seguito a una fusione o acquisizione, o durante una migrazione di sistemi.

  • Estrazione: Una volta connesso, MapForce legge i dati da qualsiasi formato di origine supportato per l'estrazione.
  • Trasformazione: MapForce supporta un'ampia gamma di funzioni di trasformazione, tra cui la manipolazione di stringhe, operazioni matematiche, conversioni di date e altro ancora, oltre a funzioni personalizzate e logiche condizionali per gestire trasformazioni complesse.
  • Caricamento: MapForce semplifica la configurazione delle connessioni ai database di destinazione, la generazione di script SQL per l'inserimento dei dati trasformati e la definizione di azioni come inserimento, aggiornamento o eliminazione, per controllare come i dati vengono scritti, il tutto con opzioni complete per la gestione degli errori e la registrazione delle attività.

Filtrare ed elaborare i dati del database

Molte trasformazioni di database richiedono la manipolazione dei dati tra la sorgente e la destinazione, basandosi su condizioni booleane o istruzioni SQL e SQL/XML. Potrebbe essere necessario eseguire confronti logici, calcoli matematici o operazioni su stringhe, verificare la presenza di dati specifici nel database e apportare altre modifiche ai dati. Nello screenshot mostrato, le funzioni di elaborazione dei dati sono rappresentate dai riquadri situati tra le linee che collegano il modello di dati di origine e quello di destinazione.

Le funzioni di elaborazione dati consentono di eseguire mappature avanzate di database in tempo reale, per soddisfare una vasta gamma di esigenze di trasformazione dei dati. Ad esempio, è possibile creare mappature di database che utilizzano messaggi XML o EDI per estrarre righe di dati in base a criteri di filtro, a partire dagli elementi contenuti nei messaggi XML o EDI.

Conversione immediata del database

Una volta definita la mappatura, il motore MapForce integrato consente di visualizzare e salvare i risultati con un semplice clic.

Le mappature da database a XML producono un documento XML di output. Le mappature da database a file di testo semplici generano output in formato CSV o in file di testo a lunghezza fissa. Le mappature da database a EDI possono produrre messaggi EDIFACT, X12 o HL7. Le mappature da database a Excel producono markup Office Open XML (OOXML), mentre le mappature a XBRL generano report finanziari in formato XBRL.

Le mappature verso un database producono risultati sotto forma di script SQL (ad esempio, istruzioni SELECT, INSERT, UPDATE e DELETE) o script NoSQL, che vengono eseguiti direttamente sul database di destinazione, all'interno di MapForce.

Oltre alla trasformazione immediata, le funzionalità di ETL ad alte prestazioni sono disponibili tramite MapForce Server.

Registrazione (o tracciamento) dell'output del database

La funzionalità di tracciamento dell'output del database semplifica la registrazione di tutte le modifiche apportate da un progetto di mappatura o ETL al database durante l'esecuzione della mappatura.

Quando la funzionalità di tracciamento è attiva, eventi come le operazioni di inserimento o aggiornamento nel database, oppure gli errori, vengono registrati in un file XML che è possibile analizzare in seguito o elaborare ulteriormente in modo automatizzato.

La tracciatura del database può essere attivata a livello di componente del database, tabella, procedura memorizzata o campo del database. È possibile scegliere di tracciare tutti i messaggi o solo gli errori, oppure è possibile disabilitare completamente la tracciatura.

Una volta selezionato il livello di tracciamento desiderato, il componente del database interessato nel progetto di mappatura viene arricchito con un albero XML che mostra la struttura del log. Se si preferisce che il file di log sia in un formato diverso da XML, è possibile mappare i dati da esso a un altro formato supportato da MapForce (ad esempio, un file di testo o persino un altro database).

Quando si preme il pulsante "Output" per visualizzare l'anteprima del risultato della mappatura, lo sviluppatore può anche vedere un esempio di come apparirà il registro delle tracce quando la mappatura viene eseguita.

Tracciamento del database per la registrazione dei dati, utilizzato nei processi di estrazione, trasformazione e caricamento (ETL) dei dati del database

Gestione degli errori nelle transazioni del database

MapForce offre anche la gestione delle transazioni del database, consentendo di annullare le modifiche apportate alla parte interessata della conversione del database in caso di errore, e, facoltativamente, di proseguire con il resto della mappatura.

A volte si verifica un errore che non impedisce il completamento del resto della mappatura del database, ad esempio quando alcune restrizioni del database impediscono al processo ETL di inserire o aggiornare dati non validi.

L'abilitazione della gestione delle transazioni del database racchiuderà tutte le modifiche apportate dal componente database all'interno di una transazione, che verrà annullata in caso di errore. È possibile scegliere di procedere con il resto della mappatura oppure interrompere l'ulteriore esecuzione della mappatura. È possibile abilitare le transazioni a livello del componente database e a livello di azione sulla tabella.

Consentire le transazioni del database per la gestione degli errori

Questo è molto utile quando il progettista della mappatura desidera acquisire solo i dati in ingresso validi e ignorare semplicemente i dati non validi.

Mappatura avanzata di database e processi ETL

Per gli utenti che lavorano con SQL, MapForce include una scheda "Query del database" per eseguire query dirette al database. Quando ci si connette a un database tramite la scheda "Query del database", MapForce visualizza le tabelle del database in una struttura ad albero gerarchica nella finestra del browser.

Interrogare il database durante la definizione di una mappatura per la conversione del database

Potete quindi utilizzare la scheda dell'editor SQL per visualizzare, modificare ed eseguire istruzioni SQL o SQL/XML, sia aprendo file SQL esistenti, sia creando nuove istruzioni SQL partendo da zero, utilizzando le funzionalità di trascinamento e rilascio e il completamento automatico.

È possibile eseguire il proprio script SQL e visualizzare i risultati in forma tabellare, nonché salvare sia i dati recuperati che lo script SQL separatamente, in file distinti.

Impostazioni delle chiavi del database

Le impostazioni delle chiavi del database in MapForce consentono di personalizzare il modo in cui i valori delle chiavi primarie e secondarie verranno aggiunti a un database che è l'obiettivo della mappatura dei dati. È possibile fornire i valori delle chiavi direttamente all'interno di MapForce, oppure è possibile lasciare che il sistema di database gestisca la generazione automatica di questi valori.

In situazioni in cui le relazioni di chiave primaria e/o chiave esterna non sono definite esplicitamente nelle tabelle del database, MapForce consente di definire queste relazioni direttamente, senza alterare i dati di origine.

Definire le azioni sulle tabelle del database

Quando si effettua una mappatura verso un database, MapForce consente di selezionare le azioni relative alle tabelle del database per controllare come i dati vengono scritti nel database. Questo offre la massima flessibilità per automatizzare anche le attività di gestione dei dati più complesse.

La finestra di dialogo "Azioni sulla tabella del database", facile da usare, consente di definire le colonne all'interno della tabella selezionata, che verranno utilizzate per determinare quale azione (INSERIMENTO, AGGIORNAMENTO, ELIMINAZIONE) deve essere eseguita nel database.

Questo offre una flessibilità senza precedenti nella manipolazione delle righe del database in risposta a dati XML, dati di database, EDI, XBRL, file di testo, Excel, JSON, JSON5, servizi web o altri dati di database, grazie a MapForce.

Supporto per le stored procedure SQL

MapForce offre un supporto completo per le stored procedure, che possono essere utilizzate come componenti di input (procedure che forniscono risultati) o come componenti di output (procedure che inseriscono o aggiornano dati). In alternativa, le stored procedure possono essere utilizzate come chiamate di funzioni, consentendo agli utenti di fornire dati di input, eseguire la stored procedure e leggere/mappare i dati di output ad altri componenti.

Questa schermata mostra la mappatura di una stored procedure in SQL Server utilizzata per creare un file XML. La procedura restituisce una tabella di dati che mostra tutti i dirigenti nella gerarchia superiore all'ID del dipendente specificato, fornito come parametro di input: in questo esempio, il valore costante 67.

Il parametro può essere fornito anche come valore calcolato o come elemento dati recuperato da un'altra parte del database.

MapForce offre un menu contestuale che consente agli utenti di eseguire la stored procedure per visualizzare la struttura dei dati da mappare. L'esecuzione della mappatura illustrata genera l'output XML.

Gli strumenti avanzati di mappatura dei dati includono il supporto per le stored procedure

Mappe XML memorizzate nei campi del database

MapForce consente anche di connettersi e mappare dati XML memorizzati in campi di database relazionali (attualmente supportato per SQL Server e IBM DB2). È sufficiente assegnare uno schema XML – registrato nel database o proveniente dal sistema di file locale – al campo, e MapForce visualizza lo schema come un sottoalbero del campo del database, al fine di facilitare la mappatura.

Organizzare i componenti di input del database

Le query SQL che operano all'interno del database non sono sempre sufficienti per attività di mappatura dati complesse. MapForce offre funzionalità aggiuntive di ordinamento dei dati tramite il componente SQL-WHERE/ORDER per l'input da database che richiedono un'elaborazione aggiuntiva, oppure quando altri dati o condizioni nella mappatura influenzano l'ordine di ordinamento delle righe di dati.

Supporto per i valori NULL nelle operazioni sulle tabelle del database

La finestra di dialogo "Azioni sulla tabella del database" supporta il confronto dei valori NULL. I confronti che tengono conto dei valori NULL offrono un modo più efficace per gestire database che contengono tali valori. Gli utenti di MapForce possono configurare una mappatura del database in modo che il confronto dei dati venga eseguito tenendo conto dei valori NULL, in base a regole applicabili al tipo di database coinvolto nella mappatura.

La mappatura dei dati mostrata a destra è progettata per aggiornare la tabella di destinazione senza inserire voci duplicate. Entrambe le tabelle sono definite in modo da consentire che il campo "email" possa essere vuoto (NULL), quindi potrebbero esistere voci con lo stesso nome ma con campi "email" vuoti in ciascuna tabella.

Cliccando sull'icona "Azioni" accanto alla tabella del database "TARGET", si apre la finestra di dialogo "Azioni del database". La casella di controllo "Uguale a NULL" accanto al campo email consente a MapForce di considerare i valori NULL presenti nei dati di origine e di destinazione come equivalenti ai fini della mappatura dei dati, anche se, secondo le regole del database, non sono considerati uguali.

Mappatura di database che tiene conto dei valori null in MapForce

Conversione da database a XML

MapForce supporta la mappatura di database verso o da formati XML, basandosi sui modelli di contenuto definiti negli schemi XML o nei DTD. Per creare una mappatura tra un database e un formato XML, è sufficiente importare lo schema XML e il database in MapForce, quindi trascinare delle linee di collegamento tra i nodi XML e gli oggetti del database.

Se non si dispone di uno schema associato per un documento XML, MapForce genera uno schema XML a partire da un documento XML di esempio.

MapForce: Mappatura di database XML

Supporto per i caratteri jolly XML

L'elemento `<xs:any>` e l'elemento `<xs:anyAttribute>` in un progetto di schema XML consentono di inserire qualsiasi nuovo elemento o attributo nella posizione corrispondente in un documento XML, anche se il nuovo elemento o attributo non è definito nello schema XML. Questo è noto come "carattere jolly" XML ed è un meccanismo ampiamente utilizzato per consentire un certo grado di personalizzazione in molti schemi XML che supportano standard di settore in una vasta gamma di attività commerciali.

MapForce supporta gli elementi `<xs:any>` e `<xs:anyAttribute>` per la mappatura verso l'output in formato XML o in qualsiasi altro formato. Un nuovo pulsante di selezione, posizionato accanto a `<xs:any>` o `<xs:anyAttribute>` in un componente di input per la mappatura XML, apre una finestra di dialogo per la selezione di caratteri jolly.

L'elemento `<xs:any>`, così come `<xs:anyAttribute>`, sono comunemente utilizzati nella progettazione di schemi XML, e il supporto per questi elementi in MapForce è stata una richiesta frequente da parte degli utenti.

Imparate come convertire i dati del database in formato XML e in altri formati utilizzando MapForce

Mappatura di database in formato JSON

MapForce include il supporto per la definizione e l'esecuzione di mappature di database basate su modelli JSON (JavaScript Object Notation). È possibile aggiungere file di istanze JSON o schemi JSON come componenti di origine o di destinazione di una mappatura di database. MapForce legge e scrive file JSON in base allo schema JSON Draft 04.

Come mostrato di seguito, i componenti JSON vengono visualizzati con la sintassi degli elementi appropriata, e i loro tipi di dati sono chiaramente indicati.

Convertire i dati del database in formato JSON in MapForce

Le funzioni di elaborazione dati della libreria di funzioni MapForce possono essere utilizzate per trasformare i dati JSON, esattamente come vengono utilizzate con altri componenti.

Generazione automatica di schemi JSON

Quando si aggiunge un file JSON o JSON5 a una mappatura del database, MapForce rileva automaticamente se si tratta di un file di schema o di un file di istanza. Per i file di istanza JSON o JSON5, MapForce vi chiede di selezionare un file di schema oppure di generarne uno automaticamente. MapForce utilizza lo schema JSON o JSON5 per definire la struttura del componente.

Integrazione dati ad alte prestazioni e automazione ETL

Altova MapForce Server include il motore di trasformazione dati integrato, sviluppato per MapForce, ed è stato notevolmente migliorato per funzionare in ambienti server. MapForce Server esegue.. trasformazioni dei dati per qualsiasi combinazione di formati XML, PDF, database, EDI, XBRL, file di testo semplice, Excel, JSON e/o servizi web, utilizzando mappature di dati pre-elaborate e ottimizzate, memorizzate in file di esecuzione e basate su.. mappature dei dati definite in MapForceMapForce Server porta l'elaborazione dei dati ETL a un livello superiore, grazie a funzionalità server che includono l'elaborazione parallela e il multithreading, l'inserimento massivo di dati SQL, il supporto multipiattaforma e molto altro.

La pre-elaborazione consente prestazioni più rapide e una minore quantità di memoria utilizzata per la maggior parte delle trasformazioni dei dati. MapForce Server opera sotto la gestione di FlowForce Server, in una configurazione autonoma, eseguibile da riga di comando o programmaticamente tramite un'API.

Una volta progettata e testata una mappatura MapForce, questa può essere eseguita dal server MapForce per automatizzare i processi aziendali che richiedono trasformazioni ripetitive dei dati.

Automatizzare le attività di mappatura dei database tramite MapForce

MapForce esegue una pre-elaborazione e ottimizzazione delle mappature dei dati, le memorizza in file di esecuzione del server MapForce per l'esecuzione da riga di comando tramite il server MapForce, e le carica per essere utilizzate nei processi di FlowForce Server.

Quando MapForce Server opera sotto la gestione di FlowForce Server, le mappature dei dati e i processi ETL vengono eseguiti come passaggi di un lavoro di FlowForce Server, in base a trigger definiti all'interno del lavoro stesso. Ad esempio, un nuovo documento XBRL viene caricato in una directory, il che attiva un lavoro di FlowForce Server composto da più passaggi: innanzitutto, il file viene validato utilizzando RaptorXML+XBRL Server, quindi MapForce Server viene eseguito per estrarre determinati dati dall'XBRL e inserirli in un database.

MapForce Server supporta l'inserimento massivo di dati per i database

L'operazione "Bulk Insert" è disponibile per alcuni database e consente di inserire un grande volume di dati in una tabella del database con un'unica istruzione SQL, a differenza del metodo tradizionale che prevede l'utilizzo di istruzioni "Insert" individuali per ogni riga. Grazie alla notevole riduzione del carico di elaborazione da parte del motore del database, le prestazioni sono notevolmente più rapide. I test effettuati su MapForce Server con alcuni esempi hanno dimostrato che "Bulk Insert" può essere più di 10 volte più veloce rispetto all'utilizzo di istruzioni "Insert" individuali.

L'operazione di inserimento massivo (Bulk Insert) presenta anche vantaggi in ambienti multiutente. Una lunga sequenza di comandi di inserimento inviati al database da un utente potrebbe potenzialmente essere interrotta da un altro utente che invia una richiesta di selezione (Select) alla stessa tabella; in tal caso, la sequenza di inserimenti continuerebbe. In una situazione del genere, l'operazione di selezione risulterebbe in dati incompleti o non validi.