Home topics Cos'è una pipeline di dati Cos'è una pipeline di dati?
Scopri IBM DataStage Iscriviti alla newsletter IBM
Illustrazione con collage di pittogrammi di cloud, grafici a torta, pittogrammi grafici su quanto segue

Data di aggiornamento: 14 giugno 2024
Autore: Cole Stryker

Cos'è una pipeline di dati?

Una pipeline di dati è un metodo in cui i dati non elaborati vengono acquisiti da varie origini dati, trasformati e quindi trasferiti in uno storage di dati, ad esempio un data lake o un data warehouse, per l'analisi. 

Prima che i dati entrino in un repository di dati, generalmente vengono sottoposti a un trattamento dei dati. Questo include le trasformazioni dei dati, come il filtraggio, il mascheramento e le aggregazioni, che garantiscono un'adeguata integrazione e standardizzazione dei dati. Ciò è particolarmente importante quando la destinazione del set di dati è un database relazionale. Questo tipo di repository di dati ha uno schema definito che richiede l'allineamento, ovvero la corrispondenza di colonne e tipi di dati, per aggiornare i dati esistenti con nuovi dati. 

Come suggerisce il nome, le pipeline di dati fungono da "condutture" per progetti di data science o dashboard di business intelligence. I dati possono provenire da un'ampia varietà di luoghi: API, database SQL e NoSQL, file, ecc., ma purtroppo questi dati, di solito, non sono pronti per l'uso immediato. Durante il sourcing, viene tracciato il data lineage per documentare la relazione tra i dati aziendali in varie applicazioni aziendali e IT, ad esempio, dove si trovano attualmente i dati e come vengono memorizzati in un ambiente, ad esempio on-premise, in un data lake o in un data warehouse.

Le attività di data preparation ricadono solitamente sulle spalle dei data scientist o dei data engineer, che strutturano i dati per soddisfare le esigenze dei casi d'uso aziendali e gestiscono enormi quantità di dati. Il tipo di trattamento dei dati richiesto da una pipeline di dati viene in genere determinato attraverso una combinazione di analisi esplorativa dei dati e requisiti aziendali definiti. Una volta che i dati sono stati filtrati, riuniti e riepilogati in modo appropriato, possono essere archiviati e resi disponibili per l'uso. Le pipeline di dati ben organizzate forniscono la base per una serie di progetti di dati, tra cui analisi esplorative dei dati, visualizzazioni dei dati e attività di machine learning. 

Ora disponibile: watsonx.data

Ridimensiona i carichi di lavoro di AI, per tutti i tuoi dati, ovunque.

Tipi di pipeline di dati

Esistono diversi tipi principali di pipeline di dati, ognuna appropriata per attività specifiche su piattaforme specifiche.

Elaborazione in batch

Lo sviluppo dell'elaborazione in batch è stato un passaggio fondamentale nella creazione di infrastrutture di dati affidabili e scalabili. Nel 2004 è stato brevettato MapReduce, un algoritmo di elaborazione batch, successivamente integrato in sistemi open-source come Hadoop, CouchDB e MongoDB.

Come suggerisce il nome, l'elaborazione in batch carica "batch" di dati in un repository con intervalli di tempo prestabiliti, che in genere sono programmati durante le ore lavorative non di punta. In questo modo, gli altri workload non vengono influenzati. I processi di elaborazione in batch, infatti, tendono a utilizzare grandi volumi di dati, il che può mettere a dura prova l'intero sistema. L'elaborazione in batch è di solito la pipeline di dati ottimale quando non vi è la necessità immediata di analizzare un set di dati specifico (ad esempio, per la contabilità mensile) ed è maggiormente associata al processo di integrazione dei dati ETL, che sta per "extract, transform, and load" (estrazione, trasformazione e caricamento).

I processi di elaborazione in batch formano un workflow di comandi in sequenza, in cui l'output di un comando diventa l'input del comando successivo. Ad esempio, un comando potrebbe avviare una data ingestion, il comando successivo potrebbe attivare il filtraggio di colonne specifiche e il comando successivo potrebbe gestire l'aggregazione. Questa serie di comandi continuerà finché la qualità dei dati non sarà completamente trasformata e riscritta in un repository di dati.

Streaming dei dati

A differenza dell'elaborazione in batch, le pipeline di dati in streaming, note anche come architetture basate sugli eventi, elaborano continuamente eventi generati da varie fonti, come sensori o interazioni dell'utente all'interno di un'applicazione. Gli eventi vengono elaborati e analizzati, quindi archiviati in database o inviati a valle per ulteriori analisi. 

Lo streaming di dati viene sfruttato quando è necessario che i dati siano aggiornati continuamente. Ad esempio, le app o i sistemi POS hanno bisogno di dati in tempo reale per aggiornare l'inventario e la cronologia delle vendite dei loro prodotti; in questo modo, i venditori possono informare i consumatori se un prodotto è disponibile o meno. Una singola azione, ad esempio la vendita di un prodotto, è considerata un "evento" e gli eventi correlati, come l'aggiunta di un articolo al carrello, sono in genere raggruppati come "argomento" o "flusso". Questi eventi vengono quindi trasportati tramite sistemi di messaggistica o broker di messaggi, come l'offerta open source Apache Kafka. 

Poiché gli eventi di dati vengono elaborati poco dopo che si sono verificati, i sistemi di elaborazione in streaming hanno una latenza inferiore rispetto ai sistemi batch, ma non sono considerati affidabili come i sistemi di elaborazione in batch in quanto i messaggi possono essere eliminati involontariamente o rimanere in coda per molto tempo. I broker di messaggi aiutano a risolvere questo problema attraverso gli acknowledgement, in cui un consumatore conferma l'elaborazione del messaggio al broker per rimuoverlo dalla coda. 

Inizia con IBM® Cloud Pak for Data

Pipeline di integrazione dei dati 

Le pipeline di integrazione dei dati si concentrano sull'unione dei dati provenienti da più fonti in un'unica vista unificata. Queste pipeline spesso coinvolgono processi di estrazione, trasformazione e caricamento (ETL) che puliscono, arricchiscono o modificano in altro modo i dati non elaborati prima di archiviarli in un repository centralizzato come un data warehouse o un data lake. Le pipeline di integrazione dei dati sono essenziali per gestire sistemi disparati che generano formati o strutture incompatibili. Ad esempio, è possibile aggiungere una connessione ad Amazon S3 (Amazon Simple Storage Service), un servizio offerto da Amazon Web Services (AWS) che fornisce l'object storage tramite un'interfaccia web service.

Pipeline di dati cloud-native 

Una piattaforma dati moderna include una suite di prodotti software cloud-first, cloud-native che consentono la raccolta, la pulizia, la trasformazione e l'analisi dei dati di un'organizzazione per migliorare il processo decisionale. Le pipeline di dati odierne sono diventate sempre più complesse e importanti per l'analytics dei dati e per prendere decisioni basate sui dati. Una piattaforma dati moderna genera fiducia in questi dati acquisendoli, memorizzandoli, elaborandoli e trasformandoli in modo da garantire informazioni accurate e tempestive, ridurre i silo di dati, abilitare il self-service e migliorare la qualità dei dati.

 

Architettura delle pipeline di dati

L'architettura di una pipeline di dati è costituita da tre passaggi fondamentali. 

1. Data ingestion: i dati vengono raccolti da varie fonti, tra cui piattaforme software-as-a-service (SaaS), dispositivi Internet-of-things (IoT) e dispositivi mobili, e da varie strutture di dati, sia strutturati che non strutturati. Nell'ambito dei dati di streaming, queste fonti di dati non elaborati sono generalmente note come produttori, editori o mittenti. Sebbene le aziende possano scegliere di estrarre i dati solo quando sono pronte per elaborarli, è consigliabile far confluire prima i dati non elaborati all'interno di un provider di data warehouse sul cloud. In questo modo, l'azienda può aggiornare tutti i dati storici se ha la necessità di apportare modifiche ai processi di trattamento dei dati. Durante questo processo di data ingestion, è possibile eseguire varie convalide e controlli per garantire la coerenza e l'accuratezza dei dati.

2. Trasformazione dei dati: durante questa fase, viene eseguita una serie di processi per elaborare i dati nel formato richiesto dal repository di dati di destinazione. Questi processi incorporano l'automazione e la governance per flussi di lavoro ripetitivi, come il reporting aziendale, garantendo che i dati vengano puliti e trasformati in modo coerente.  Ad esempio, un flusso di dati può essere disponibile in un formato JSON nidificato e la fase di trasformazione dei dati avrà lo scopo di utilizzare questo JSON per estrarre i campi chiave per l'analisi.

3. Data storage: i dati trasformati vengono quindi memorizzati in un repository di dati, dove possono essere esposti a vari stakeholder. Nell'ambito dei dati di streaming, questi dati trasformati sono generalmente noti come consumatori, sottoscrittori o destinatari.  

Pipeline di dati vs. pipeline ETL

Alcuni termini, come pipeline di dati e pipeline ETL, vengono spesso utilizzati in modo intercambiabile. Tuttavia, è opportuno considerare una pipeline ETL come una sottocategoria di pipeline di dati. I due tipi di pipeline si distinguono per tre caratteristiche chiave:

  • Le pipeline ETL seguono una sequenza specifica. Come suggerisce l'abbreviazione, estraggono i dati (extract), li trasformano (transform) e poi li caricano (load) e li memorizzano in un repository di dati. Non tutte le pipeline di dati devono seguire questa sequenza. In effetti, le pipeline ELT (extract, load, transform) sono diventate più popolari con l'avvento degli strumenti cloud-native, dove i dati possono essere generati e archiviati su più fonti e piattaforme. Sebbene la data ingestion avvenga ancora prima con questo tipo di pipeline, eventuali trasformazioni vengono applicate dopo che i dati sono stati caricati nel data warehouse basato sul cloud.  

  • Le pipeline ETL tendono anche a implicare l'uso dell'elaborazione in batch, ma come abbiamo visto l'ambito delle pipeline di dati è più ampio. Possono anche includere l'elaborazione dei flussi. 

  • Infine, sebbene sia improbabile, le pipeline di dati nel loro complesso non devono necessariamente subire trasformazioni dei dati, come nel caso delle pipeline ETL. In ogni caso, è raro vedere una pipeline di dati che non utilizza trasformazioni per agevolare l'analisi dei dati.  
Casi d'uso delle pipeline di dati

Man mano che i big data continuano ad aumentare, la gestione dei dati diventa una priorità crescente. Nonostante le pipeline di dati svolgano varie funzioni, quelle destinate alle applicazioni aziendali sono le seguenti:

  • Analisi esplorativa dei dati: i data scientist utilizzano l'analisi esplorativa dei dati (EDA) per analizzare set di dati e riepilogare le loro caratteristiche principali, spesso impiegando metodi di visualizzazione dei dati. L'EDA consente di determinare il modo migliore per manipolare le fonti di dati al fine di ottenere le risposte desiderate, facilitando ai data scientist la scoperta dei pattern, l'individuazione di anomalie, il test o la verifica di un'ipotesi.
  • Visualizzazioni dei dati: per rappresentare i dati tramite immagini comuni, è possibile creare visualizzazioni di dati come grafici, diagrammi, infografiche e persino animazioni. Queste visualizzazioni di informazioni comunicano relazioni complesse tra i dati e insight basati sui dati in modo facilmente comprensibile.

  • Machine learning: il machine learning, una branca dell'intelligenza artificiale (AI) e dell'informatica, si concentra sull'uso di dati e algoritmi per imitare il modo in cui gli esseri umani apprendono, migliorandone gradualmente l'accuratezza. Attraverso l'uso di metodi statistici, gli algoritmi vengono addestrati per effettuare classificazioni o previsioni, scoprendo insight chiave all'interno di progetti di data mining.

  • Osservabilità dei dati: per verificare l'accuratezza e la sicurezza dei dati utilizzati, l'osservabilità dei dati applica una varietà di strumenti per il monitoraggio, il tracciamento e l'invio di avvisi sia per gli eventi previsti che per le anomalie.
Soluzioni IBM
IBM DataStage

IBM DataStage è uno strumento di integrazione dei dati leader di settore che aiuta a progettare, sviluppare ed eseguire attività di trasferimento e trasformazione dei dati.

Esplora IBM DataStage
IBM Data Replication

IBM Data Replication è un software di sincronizzazione dei dati che mantiene sincronizzati più archivi dati quasi in tempo reale. IBM Data Replication è una soluzione a basso impatto, che si limita a tracciare le modifiche dei dati acquisite dai log.

Esplora IBM Data Replication
IBM Databand

IBM® Databand è un software di osservabilità per pipeline di dati e warehouse che raccoglie automaticamente i metadati per creare baseline di dati storici, rilevare anomalie, classificare avvisi e monitorare l'integrità e l'affidabilità dei grafici aciclici diretti (DAG) di Apache Airflow.

Esplora IBM Databand
IBM watsonx.data

IBM® watsonx.data è uno storage di dati adatto allo scopo costruito su un'architettura open-data lakehouse per scalare i workload di analytics e AI, per tutti i tuoi dati, ovunque.

Esplora IBM® watsonx.data
Risorse Creare una solida base di dati per l'AI

Leggi lo smart paper su come creare una solida base di dati per l'AI concentrandoti su tre aree chiave di gestione dei dati: accesso, governance, privacy e conformità.

State Bank of India

Scopri come la State Bank of India ha utilizzato diverse soluzioni IBM, insieme alla metodologia IBM Garage™, per sviluppare una piattaforma completa di online banking.

Fai il passo successivo

IBM DataStage è uno strumento di integrazione dei dati leader di settore che aiuta a progettare, sviluppare ed eseguire attività di spostamento e trasformazione dei dati. DataStage supporta i modelli ETL (Extract, Transform, Load) ed ELT (Extract, Load, Transform).

Esplora DataStage Fai una prova gratuita