La data ingestion è una tecnologia molto importante nell’aiutare le organizzazioni a gestire un volume di dati sempre più ingente e complesso, anche per via della sua straordinaria eterogeneità. Se ben implementata, la data ingestion può infatti generare un considerevole valore aggiunto all’interno dei processi aziendali, rendendo disponibili nelle condizioni più efficaci i dati stessi alle applicazioni di business intelligence e business analytics. Vediamo in cosa consiste la data ingestion, quali sono i principali vantaggi e le criticità più ricorrenti quando si valuta la sua integrazione nella pipeline di gestione dei dati.
Cos’è la data ingestion
La data ingestion è un processo che consiste nell’ottenere e importare dati da varie sorgenti, per utilizzo immediato o l’archiviazione in un database o altri sistemi di gestione dei dati. In altri termini, la data ingestion si occupa, insieme ad altre fasi del data management, di rendere disponibili i dati necessari per attività di business intelligence e business analytics, attraverso cui le aziende sono in grado di generare valore aggiunto alle loro attività.
Le fonti da cui si attinge possono offrire grandi numeriche di dati in vari formati, a prescindere dal fatto che la modalità di erogazione, come vedremo, sia di tipo batch o in real time. Tale varietà tecnologica rende di fatto complessa una data ingestion che possa definirsi efficiente a velocità accettabili dal punto di vista operativo.
Per tali ragioni, si è iniziato ad investire nello sviluppo di software in grado di automatizzare gran parte delle attività di data ingestion, ai fini di poter personalizzare i processi con un ampio supporto almeno per quanto riguarda i formati più diffusi, in funzione degli ambienti e delle applicazioni in cui si prevede avvenga l’interazione con i dati stessi.
L’automatizzazione della data ingestion comporta quindi l’esigenza di piattaforme in grado di integrare funzioni di data preparation, le stesse a cui si delega il compito di effettuare tutte le fasi utili affinché i dati siano disponibili per le applicazioni in grado di analizzarli.
Le principali fonti di dati
L’era del digitale che stiamo attualmente vivendo ha visto progressivamente accresce sia la quantità che la varietà di dati, provenienti da varie fonti. Tra queste ritroviamo:
- – Ecosistemi IoT
- – App Mobile
- – Sistemi operativi
- – Social media
- – Multimedia
- – Transazioni e flussi di dati organizzati (es. finanziari)
- – Accordi e contratti
- – Archivi non digitali
I sistemi di data ingestion sono programmati per acquisire i dati funzionalmente alla varietà tecnologica che comportano, in relazione ai formati e alla tipologia stessa (strutturati, non strutturati, ecc.)
Le criticità
Oltre ad una serie di indiscutibili vantaggi, quando si tratta di implementare i processi di data ingestion in un workflow è necessario tenere conto di alcune criticità, tuttavia gestibili se si dispone del necessario know-how nella materia. Tra le principali ragioni ostative, possiamo citare:
- – Grandi volumi di dati: spesso causano errori e problemi di data quality, oltre a possibili cali di performance. Occorre quindi valutare soluzioni scalabili e semplici da gestire, soprattutto quanto si prevede un data processing in tempo reale.
- – Frammentazione dei dati: quando più parti accedono alle medesime fonti di dati, è possibile che avvengano duplicazioni e una confusione che può a sua volta causare frammentazione e perdita di dati. Occorre dunque molta attenzione nella pianificazione dei processi di data ingestion.
- – Sicurezza: una pipeline di data ingestion prevede che i dati transitino in vari punti, con il rischio di incorrere in vulnerabilità e possibili data breach.
- – Costi: aumentare la sicurezza e la dotazione dei sistemi di storage e gestione dei dati comporta inevitabilmente una serie di costi da non sottovalutare anche per quanto concerne le tecnologie e le attività legata alla data ingestion.
Le diverse tipologie di data ingestion
I dati acquisiti dai sistemi di data ingestion possono essere processati in real time o gestiti in batch. Vediamo in cosa consiste la differenza tra queste due modalità e come sia possibile strutturare anche dei flussi ibridi, in grado di sfruttare le rispettive caratteristiche per risolvere esigenze di carattere specifico.
Batch processing
Questa modalità di data ingestion prevede che i dati siano collezionati in maniera incrementale, con invii periodici al sistema dei dati chiamato ad utilizzarli o archiviarli. Genericamente meno esoso e più semplice da gestire rispetto al data ingestion real time, il batch offre l’utilità di poter pianificare le operazioni, sulla base di eventi periodici o al verificarsi di particolari condizioni.
Real time processing
Come il nome stesso suggerisce, il data ingestion real time è comunemente utilizzato quando occorre acquisire uno streaming di dati continuativo, che non prevede pertanto la possibilità di raggrupparli in batch per procedere alle fasi successive del loro utilizzo. I pacchetti di dati acquisiti sono pertanto processati nel minor tempo possibile, in modo da renderli immediatamente disponibili ai sistemi di dati deputati alla loro gestione. Lo streaming di dati in tempo reale è molto diffuso nell’ambito delle tecnologie multimediali.
Micro batch processing
Una via di mezzo tra i due approcci di data ingestion citati è costituita dal micro batch, in cui di base gli strumenti di data ingestion tendono a formare dei piccoli gruppi, pur mantenendo una tempistica di rilascio compatibile con le applicazioni in streaming. Si tratta di un’ottimizzazione che consente di combinare i vantaggi dei due metodi, nelle condizioni in cui non è necessaria una velocità di trasmissione dei dati estremamente elevata.
I tool di data ingestion
Le moderne soluzioni di data ingestion comprendono una serie di strumenti dotati di funzioni in grado di gestire l’acquisizione e alcune fasi della preparazione dei dati. Tra queste, ritroviamo:
- – Estrazione dei dati: strumenti in grado di acquisire e collezionare dati da varie sorgenti, tra cui applicazioni, database e device IoT.
- – Data processing: nei casi in cui non sono previste molte operazioni preparatorie, ad esempio lo streaming in tempo reale, i tool di data ingestion gestiscono anche la fase di processing necessaria a renderli disponibili per le applicazioni finali.
- – Data format: i tool di data ingestion riescono a gestire vari formati di dati, strutturati, semi strutturati e non strutturati, effettuando le operazioni necessarie per renderli disponibili nelle fasi successive del workflow.
- – Data volume: i sistemi di data ingestion possono essere configurati per gestire differenti volumi di dati, in maniera scalabile, in funzione delle caratteristiche dei vari carichi di lavoro.
- – Sicurezza: il tema del trattamento dei dati obbliga i sistemi di data ingestion a risultare conformi a determinate policy e devono pertanto disporre di specifiche funzionalità per garantire la sicurezza dei dati stessi, come i sistemi di encryption e il supporto ai più diffusi protocolli utilizzati per la trasmissione dei dati in rete.
Data ingestion e ETL
Spesso confusi, spesso utilizzati insieme, data ingestion e ETL (Extract, Transform and Load) sono tecnologie piuttosto simili, che rispondono tuttavia ad esigenze di carattere differente.
Abbiamo visto come il data ingestion sia il risultato di un insieme di strumenti e tecnologie necessari ad acquisire dati e renderli disponibili per l’analisi o lo storage. In questo frangente, è tuttavia raro che le sorgenti dei dati siano direttamente connesse con la destinazione prevista, anche se gli strumenti di data ingestion consentono di svolgere un’ampia varietà di fasi preparatorie.
Nel caso dei processi ETL, gli strumenti sono predisposti per preparare i dati in funzione del caricamento su uno specifico sistema di gestione, come un data warehouse o un data lake. Quando si tratta di pianificare operazioni di gestione dei dati a lungo termine, è pertanto naturale optare per una soluzione di questo genere, anche se in molti casi data ingestion e ETL finiscono per svolgere azioni tra loro similari e la loro implementazione finisce per risultare spesso combinata.
Categoria: BUSINESS INTELLIGENCE

Analisi predittiva: cos’è, le diverse fasi e i modelli predittivi
Il mercato dei business analytics sta crescendo con grande rapidità, con stime miliardarie prospettate da tutti i principali analisti. Secondo… Leggi tutto

Decision support system: cosa sono e come aiutano le aziende
Negli ultimi decenni il grande e rapido sviluppo delle tecnologie e dell’informatica ha portato le attività aziendali di ogni settore… Leggi tutto

Business Intelligence, cos’è e come supporta le decisioni aziendali
Nel contesto delle tecnologie emergenti, i Big Data Analytics costituiscono uno dei principali elementi abilitanti dell’industria 4.0, fungendo molto spesso… Leggi tutto