Cos'è una pipeline di dati?

Le pipeline di dati raccolgono, trasformano e archiviano i dati da presentare ai soggetti interessati per vari progetti di dati.

vista aerea dall'alto di una raffineria di petrolio di notte, thailandia.
Cos'è una pipeline di dati?

Una pipeline di dati è un metodo in cui dati non elaborati vengono acquisiti da varie origini dati e, quindi, trasferiti in un archivio dati, ad esempio un data lake o un data warehouse, per l'analisi. Prima che i dati fluiscano in un repository di dati, di solito vengono sottoposti ad una qualche attività di elaborazione. Queste attività includono trasformazioni dei dati, ad esempio filtraggio, mascheramento e aggregazioni, che assicurano un'appropriata integrazione e standardizzazione dei dati. Ciò è particolarmente importante quando la destinazione del dataset è un database relazionale. Questo tipo di repository di dati segue uno schema definito, che richiede allineamento, ad esempio corrispondenza tra colonne e tipi di dati, per aggiornare 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 essere reperiti attraverso una vasta gamma di origini: API, database SQL e NoSQL, file e altre ancora, ma sfortunatamente quei dati di solito non sono pronti per un uso immediato. Le attività di preparazione dei dati di solito sono una responsabilità dei data scientist o dei data engineer, che strutturano i dati per soddisfare le esigenze del caso di utilizzo aziendale. Il tipo di elaborazione dei dati che una pipeline di dati richiede è solitamente determinato mediante una combinazione di analisi esplorativa dei dati e requisiti aziendali definiti. Una volta che i dati sono stati opportunamente filtrati, uniti e riepilogati, possono quindi essere archiviati e messi a disposizione per l'uso. Pipeline di dati ben organizzate forniscono le basi per una gamma di progetti di dati; questo può includere analisi esplorative dei dati, visualizzazioni dei dati e attività di machine learning.


Tipi di pipeline di dati

Esistono due tipi principali di pipeline di dati, che sono l'elaborazione in batch e i dati in streaming.

Elaborazione in batch

Lo sviluppo dell'elaborazione in batch è stata una fase critica della creazione di infrastrutture di dati che fossero affidabili e scalabili. Nel 2004, MapReduce, un algoritmo di elaborazione in batch, è stato brevettato e successivamente integrato in sistemi open-source, quali Hadoop, CouchDB e MongoDB.

Come suggerisce il nome, l'elaborazione in batch carica "batch" di dati in un repository durante intervalli di tempo stabiliti, che normalmente sono pianificati durante orari d'ufficio non di punta. In questo modo, altri carichi di lavoro non vengono interessati, poiché lavori di elaborazione in batch tendono a gestire grandi volumi di dati, che possono mettere alla prova il sistema nel suo complesso. L'elaborazione in batch di solito è il tipo di pipeline di dati ottimale quando non esiste un'esigenza immediata di analizzare uno specifico dataset (ad esempio, la contabilità mensile) ed è maggiormente associata al processo di integrazione dei dati ETL, acronimo di "extract, transform, and load (estrarre, trasformare e caricare)."

I lavori di elaborazione in batch formano un flusso di lavoro di comandi in sequenza, in cui l'output di un comando diventa l'input del comando successivo. Ad esempio, un comando può dare l'avvio all'immissione di dati, il successivo comando può attivare il filtraggio di specifiche colonne e quello ancora seguente può gestire l'aggregazione. Questa serie di comandi continuerà fino a quando i dati non saranno completamente trasformati e scritti in un repository di dati.

Dati in streaming

A differenza dell'elaborazione in batch, i dati in streaming vengono utilizzati efficacemente quando è necessario che i dati siano continuamente aggiornati. Ad esempio, app o sistemi dei punti vendita hanno bisogno di dati in tempo reale per aggiornare l'inventario e la cronologia di vendita 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, quali l'aggiunta di un articolo al pagamento, sono normalmente raggruppati come "argomento" o "stream (flusso)." Questi eventi vengono poi veicolati tramite sistemi di messaggistica o broker di messaggi, come ad esempio l'offerta open-source, Apache Kafka. 

Poiché gli eventi di dati sono elaborati poco dopo il verificarsi, i sistemi di elaborazione in streaming hanno latenza inferiore rispetto ai sistemi in batch, ma non sono considerati affidabili quanto l'elaborazione in batch, poiché i messaggi possono essere eliminati involontariamente o trascorrere molto tempo in coda. I broker di messaggi aiutano a fare fronte a questa preoccupazione attraverso conferme, dove un consumatore conferma l'elaborazione del messaggio al broker per rimuoverlo dalla coda. 

Scopri come creare un'app di streaming Kafka con IBM Streams


Architettura della pipeline di dati

Tre fasi principali costituiscono l'architettura di una pipeline di dati. 

1. Immissione di dati: i dati sono raccolti da varie origini dati, che includono diverse strutture di dati (cioè, dati strutturati e non strutturati). Nell'ambito dei dati in streaming, queste origini di dati non elaborati sono generalmente note come producer, publisher o sender. Anche se le aziende possono scegliere di estrarre i dati solo quando sono pronte ad elaborarli, è una pratica più efficace scaricare prima i dati non elaborati all'interno di un provider di data warehouse cloud. In questo modo, l'azienda può aggiornare eventuali dati cronologici se ha l'esigenza di effettuare aggiustamenti ai lavori di elaborazione dei dati. 

2. Trasformazione dei dati: durante questa fase, vengono eseguiti una serie di lavori per elaborare i dati nel formato richiesto dal repository di dati di destinazione. Questi lavori incorporano automazione e governance per flussi di lavoro ripetitivi, ad esempio produzione di report aziendali, assicurando che i dati siano ripuliti e trasformati in modo coerente.  Ad esempio, un flusso di dati può arrivare in un formato JSON nidificato e la fase di trasformazione dei dati mirerà a rendere accessibile quel JSON per estrarre i campi chiave per l'analisi.

3. Storage di dati: i dati trasformati vengono poi archiviati all'interno di un repository di dati, dove sono accessibili a vari soggetti interessati. All'interno dei dati in streaming, questi dati trasformati sono generalmente noti come consumer, subscriber o recipent.  


Pipeline di dati rispetto a pipeline ETL

Si può verificare che alcuni termini, come ad esempio pipeline di dati e pipeline ETL, vengano utilizzati in modo intercambiabile in una conversazione. Tuttavia, si dovrebbe pensare a una pipeline ETL come a 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 si deduce dall'abbreviazione, queste pipeline estraggono i dati, trasformano i dati, quindi caricano e archiviano i dati in un repository di dati. Tutte le pipeline di dati non devono seguire questa sequenza. In effetti, le pipeline ELT sono diventate più popolari con l'avvento di strumenti cloud native . Anche se l'immissione di dati avviene ancora per prima cosa con questo tipo di pipeline, le eventuali trasformazioni vengono applicate dopo che i dati sono stati caricati nel data warehouse cloud.  

• Anche le pipeline ETL tendono a implicare l'uso dell'elaborazione in batch, ma come abbiamo notato in precedenza, l'ambito delle pipeline di dati è più ampio. Possono anche includere l'elaborazione in streaming. 

• Infine, sebbene improbabile, le pipeline di dati nel loro insieme non hanno necessariamente bisogno di subire trasformazioni di dati, come le pipeline ETL. È semplicemente raro vedere una pipeline di dati che non utilizzi trasformazioni per facilitare l'analisi dei dati. 


Casi di utilizzo di pipeline di dati

Man mano che i big data continuano a crescere, la gestione dei dati diventa sempre più prioritaria. Sebbene le pipeline di dati vengano utilizzate da varie funzioni, quelle riportate di seguito sono tre ampie applicazioni all'interno dell'azienda: 

• Analisi esplorativa dei dati: L'analisi esplorativa dei dati (Exploratory data analysis - EDA) è utilizzata dai data scientist per analizzare e investigare dataset e riepilogare le loro principali caratteristiche, spesso impiegando metodi di visualizzazione dei dati. Aiuta a determinare il modo migliore per intervenire sulle origini dati e ottenere le risposte di cui si ha bisogno, rendendo più facile per i data scientist scoprire schemi, individuare anomalie, verificare un'ipotesi o controllare presupposti.

• Visualizzazioni di dati: le visualizzazioni dei dati rappresentano i dati tramite strumenti grafici comuni, quali grafici, tracciati, infografiche e persino animazioni. Tali rappresentazioni visive delle informazioni evidenziano relazioni complesse tra i dati e forniscono insight basati sui dati di semplice comprensione.

• Machine learning: il machine learning è una branca dell'intelligenza artificiale e della computer science che si concentra sull'uso di dati e algoritmi per imitare il modo in cui gli esseri umani apprendono, migliorando gradualmente la sua esattezza. Mediante l'uso di metodi statistici, gli algoritmi vengono addestrati per effettuare classificazioni o previsioni, scoprendo insight chiave all'interno di progetti di data mining.


Pipeline di dati e IBM

IBM Cloud Pak for Data utilizza efficacemente i microservizi e le sue funzionalità di dati e AI leader del settore per consentire l'integrazione intelligente dei dati nei sistemi distribuiti, fornendo alle aziende una vista olistica delle prestazioni aziendali. Ciò facilita una raccolta, un'organizzazione e degli insight dei dati aziendali più rapidi e consente alle aziende di prendere decisioni su larga scala. I team di gestione dei dati possono anche contare sul fatto che i loro dati siano al sicuro grazie ai competitivi framework di sicurezza di IBM, garantendo il rispetto delle politiche normative e riducendo eventuali rischi di conformità. Scopri come IBM Cloud Pak® for Data e IBM Streams possono migliorare l'architettura della pipeline di dati della tua azienda in molteplici ambienti.