Cos'è una pipeline di dati?

Parete continua in vetro color oro dei centri commerciali di Hong Kong in Cina

Autori

Cole Stryker

Staff Editor, AI Models

IBM Think

Cos'è una pipeline di dati?

Una pipeline di dati è un metodo in cui i dati non elaborati vengono acquisiti da varie fonti di dati, trasformati e quindi trasferiti in un data store, come un data lake o un data warehouse, per essere poi analizzati.

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. Questo è 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 hanno funzione di "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 applicazioni 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 preparazione dei dati ricadono solitamente sulle spalle dei data scientist o degli ingegneri dei dati, 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 memorizzati 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 apprendimento automatico.

Design 3D di palline che rotolano su una pista

Le ultime notizie e insight sull'AI


Scopri notizie e insight selezionati da esperti in materia di AI, cloud e molto altro nella newsletter settimanale Think. 

Tipi di pipeline di dati

Esistono diversi tipi di pipeline di dati, ognuna appropriata per attività specifiche su piattaforme specifiche. I tipi più comuni includono

  • Pipeline di elaborazione in batch
  • Pipeline di dati in streaming
  • Pipeline di integrazione dei dati
  • Pipeline cloud-native

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 in 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à fino a quando 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 costantemente eventi generati da varie fonti, come sensori o interazioni dell'utente all'interno di un'applicazione. Gli eventi vengono elaborati e analizzati, per poi essere archiviati in database o inviati a valle per ulteriori analisi.

Lo streaming di dati viene utilizzato quando è necessario che i dati vengano aggiornati costantemente. 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.

Dal momento che 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 in batch, ma non sono considerati affidabili come i sistemi di elaborazione in batch in quanto i messaggi possono essere eliminati in modo involontario o rimanere in coda per molto tempo. I broker di messaggi aiutano a risolvere questo problema attraverso le conferme, in cui un consumatore conferma l'elaborazione del messaggio al broker per rimuoverlo dalla coda.

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 memorizzarli in un repository centralizzato come un data warehouse o un data lake. Le pipeline di integrazione dei dati sono fondamentali per gestire sistemi eterogenei 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 lo storage a oggetti 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.

Mixture of Experts | 28 agosto, episodio 70

Decoding AI: Weekly News Roundup

Unisciti al nostro gruppo di livello mondiale di ingegneri, ricercatori, leader di prodotto e molti altri mentre si fanno strada nell'enorme quantità di informazioni sull'AI per darti le ultime notizie e gli ultimi insight sull'argomento.

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, nonché da varie strutture di dati, sia strutturati sia 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 l'elaborazione, è 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 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 dei 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, in cui possono essere esposti a vari stakeholder. Nell'ambito dei dati di streaming, questi dati trasformati sono solitamente 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 principali:

  • Le pipeline ETL seguono una sequenza specifica. Come suggerisce l'abbreviazione, estraggono i dati, li trasformano e poi li caricano 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, in cui i dati possono essere generati e memorizzati 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 su 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. È 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 stabilire 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 attraverso 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.

  • Apprendimento automatico: branca dell'intelligenza artificiale (AI) e dell'informatica, l'apprendimento automatico 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 principali 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, sia per le anomalie.
Soluzioni correlate
IBM StreamSets

Crea e gestisci pipeline di dati intelligenti in streaming attraverso un'interfaccia grafica intuitiva, che facilita la perfetta integrazione dei dati in ambienti ibridi e multicloud.

Esplora StreamSets
IBM Databand

Scopri IBM Databand, software di osservabilità per pipeline di dati. Raccoglie automaticamente i metadati per creare linee di base cronologiche, rilevare anomalie e creare workflow per correggere i problemi di qualità dei dati.

Esplora Databand
Soluzioni di integrazione dei dati

Crea pipeline di dati resilienti, ad alte prestazioni e ottimizzate in termini di costi per le tue iniziative di AI generativa, real-time analytics, modernizzazione del data warehouse e per le tue esigenze operative con le soluzioni IBM per l'integrazione dei dati.

Scopri le soluzioni per l'integrazione dei dati
Fai il passo successivo

Scopri IBM DataStage, uno strumento ETL (Extract, Transform, Load) che offre un'interfaccia visiva per progettare, sviluppare e distribuire pipeline di dati. È disponibile come SaaS gestito su IBM Cloud, per il self-hosting e come componente aggiuntivo di IBM Cloud Pak for Data.

Esplora DataStage Esplora i servizi di analytics