Guida per sviluppatori alla migrazione da Informatica PowerCenter a Talend: Parte 1
Ho iniziato da poco a lavorare in Talend come Customer Success Architect. Il mio ruolo consiste nel fornire ai clienti linee guida e best practice che li aiutino a definire e amministrare le loro strategie di gestione dei dati con Talend. Prima di approdare a Talend, ho lavorato su diverse implementazioni di data warehouse in cui Informatica PowerCenter era lo strumento ETL preferenziale. Qualsiasi transizione da una tecnologia a un'altra può essere problematica. Tuttavia, anziché tentare di "riprodurre" in Talend ciò che avviene in PowerCenter, facciamo un passo indietro e proviamo a capire come funziona Talend, quali sono le sue funzionalità e come si differenzia da PowerCenter. In questo blog, voglio condividere la mia esperienza di passaggio da Informatica a una piattaforma di integrazione dati più moderna, per aiutarvi a semplificare il processo di migrazione da Informatica a Talend.
Talend e Informatica PowerCenter: in cosa differiscono?
Entrambi gli strumenti hanno essenzialmente la medesima finalità, ovvero spostare dati da una sorgente a una destinazione, ma lo fanno in modo diverso. Entrambi i metodi hanno dei vantaggi. È importante comprendere gli aspetti positivi e negativi di ciascuna piattaforma, prima di progettare un job ETL.
La prima cosa che dobbiamo capire è che nonostante entrambi gli strumenti dispongano di un'interfaccia utente grafica ed estraggano dati da sorgenti, li trasformino e li carichino in una destinazione, le loro implementazioni sono differenti. Talend genera codice Java nativo eseguibile ovunque. PowerCenter, invece, genera metadati che vengono memorizzati in un repository RDBMS utilizzato dal motore proprietario della piattaforma per la sua esecuzione.
È importante comprendere che, dal momento che Talend è un generatore di codice, può essere eseguito sia come motore ETL (in esecuzione su un proprio server autonomo) che come motore ELT (in esecuzione nativa sul server di destinazione). Il codice Java che viene generato da Talend può essere eseguito su qualsiasi piattaforma che supporti Java, ad esempio su un server situato all'interno del data center, nel cloud o addirittura in esecuzione sul laptop. Nonostante entrambe le piattaforme forniscano componenti in grado di gestire la maggior parte delle attività richieste per l'integrazione dei dati, in alcune situazioni è necessario un intervento di personalizzazione. Questo spesso porta a generare codice personalizzato, una procedura a mio parare complicata e del tutto inefficace da eseguire con PowerCenter. In Talend invece è possibile creare componenti personalizzati in Java da integrare successivamente in Talend Studio senza alcuna difficoltà. Queste sono considerazioni importanti da fare quando si progetta un job di integrazione dei dati.
Download >> Talend Open Studio for Data Integration
Come vengono progettati i job?
L'altro importante aspetto che differenzia le due piattaforme è il modo in cui i job vengono costruiti. Iniziamo da PowerCenter. La prima cosa che viene sviluppata è una mappatura (che è essenzialmente un "flusso di dati"). È in questa fase che viene definita la mappatura tra sorgente e destinazione e la logica di trasformazione dei dati. Una volta che la mappatura viene convalidata e i relativi metadati vengono salvati nel repository, vengono create le sessioni e i flussi di lavoro ("flussi di processo"). Quindi vengono assegnate le connessioni fisiche tra gli oggetti sorgente e destinazione, le attività vengono concatenate nell'ordine di esecuzione e possono essere implementate procedure di gestione/notifica degli errori.
In Talend, sia i dati che flussi di processo vengono implementati insieme, in modo perfettamente integrato. Viene creato un job che definisce il "flusso di processo" utilizzando un'ampia varietà di componenti che forniscono specifiche funzionalità e implementano il "flusso dei dati". Il "flusso di processo" viene implementato usando dei "trigger" mentre il "flusso dei dati" tra i vari componenti si attiva tramite "righe" e in base a uno schema particolare.
Per capirci meglio, confrontiamo come i vari elementi di PowerCenter si allineano ai loro equivalenti in Talend:
Informatica PowerCenter |
Talend Studio |
Descrizione |
Repository |
Repository progetti |
Il repository di PowerCenter e il Repository progetti di Talend contengono oggetti metadati riutilizzabili (come job, connessioni DB, definizioni di schemi, ecc.). In Talend, tutti questi oggetti sono perfettamente integrati con sistemi di controllo del codice sorgente SVN o GIT, anziché utilizzare un sistema di controllo proprietario del codice sorgente. |
Cartella |
Cartella |
Le cartelle aiutano a organizzare gli oggetti in base alle loro funzioni. PowerCenter non supporta le sottocartelle, mentre Talend lo fa. |
Flusso di lavoro |
Job |
Il flusso di lavoro o job implementa il flusso di processo ETL con tutte le connessioni e dipendenze definite. In Talend, un job rappresenta sia il flusso di processo che il flusso dei dati. |
Worklet/Sessione riutilizzabile |
Joblet |
Combinazione di una serie di attività riutilizzabilenei flussi di lavoro/job. Può essere impiegata per codice riutilizzabile, come per la gestione degli errori, le notifiche o per processi ripetitivi. |
Sessione e mappatura |
Componenti |
PowerCenter definisce connessioni, posizione dei file, gestione degli errori separatamente all'interno di una sessione, mentre in Talend la funzione di una mappatura e di una sessione sono combinate e vengono implementate in un componente o in una serie di componenti collegati mediante un flusso di processo o di dati. |
Trasformazioni |
Componenti |
Talend dispone di una vasta libreria di componenti che supportano vari tipi di trasformazioni. Ad esempio, uno dei componenti più utilizzati, tMap, è una combinazione delle trasformazioni Expression, Lookup, Router e Joiner di Informatica. |
Sorgente e destinazione — Definizioni e connessioni |
Metadati del repository |
In Talend, le definizioni degli schemi e le connessioni possono essere codificate in ciascun componente, tuttavia, le migliori pratiche consigliano di definirle nei metadati del repository e di riutilizzarle successivamente nei componenti. |
Un'analisi approfondita dell'interfaccia
E per finire, passiamo all'interfaccia Studio basata su Eclipse di Talend e proviamo ad analizzarla dal punto di vista di uno sviluppatore PowerCenter.
- Il Repository (Navigator in PowerCenter) è l'area in cui vengono definite tutte le risorse: cartelle, job, definizioni di schemi e connessioni, parametri e variabili.
- L'area di progettazione (spazio di lavoro in PowerCenter) è lo spazio in cui vengono assemblati i job.
- Le schede contestuali alla base sono utilizzate per configurare e documentare i componenti ed eseguire il job. Riunisce diverse funzioni che in PowerCenter sono fornite dagli strumenti Designer e Workflow Manager.
- L'area Palette (Tavolozza) (barra degli strumenti di trasformazione in PowerCenter) è una libreria di tutti i componenti disponibili.
- La prospettiva determina la disposizione generale di Studio e l'organizzazione delle diverse aree all'interno di Studio. Ogni prodotto Talend ha una propria prospettiva. Il principale vantaggio è che uno sviluppatore non deve continuamente passare da uno strumento all'altro a seconda del prodotto utilizzato. L'interfaccia utente unificata per tutti i prodotti migliora la produttività degli sviluppatori.
Gli anni di lavoro come architetto di Informatica mi hanno insegnato che una tecnologia è valida solo se lo sono le best practice che vengono implementate nel suo ambito. Talend non fa eccezione. Se volete sfruttare al meglio il vostro investimento in Talend, dovete implementare best practice ottimali e seguirle durante l'intero ciclo di sviluppo del vostro software. Ecco alcuni link che vi possono essere utili per iniziare ad acquisire familiarità con gli schemi di progettazione lavori e le best practice di Talend: Parte 1, Parte 2, Parte 3 e Parte 4.
Conclusione
Il mio percorso in Talend è appena iniziato. Ciò che ho imparato finora è che, una volta comprese le differenze tra PowerCenter e Talend, capito come funzionano Talend e le best practice per utilizzarlo al meglio, potete iniziare a offrire un incredibile valore aggiunto alla vostra organizzazione sfruttando Talend come piattaforma di integrazione dei dati. Nella prossima tappa del mio viaggio in Talend esploreremo Talend Big Data Platform; ciò che ho potuto vedere finora è davvero molto interessante. Spero di poter condividere altre delle mie scoperte nel mio prossimo blog.
Sei pronto a iniziare con Talend?
Altri articoli correlati
- "Job Design Pattern e best practice Talend": Parte 4
- "Job Design Pattern e best practice Talend": Parte 3
- Che cos'è la migrazione dei dati?
- Che cos'è la mappatura dei dati?
- Che cos'è la Data Integration?
- Migrazione dei dati: strategia e best practice
- Job Design Pattern e best practice Talend: parte 2
- Job Design Pattern e best practice Talend: parte 1
- Change Data Capture (CDC)