La data ingestion è una tecnologia critica che aiuta le organizzazioni a dare senso a un crescente volume di dati, sempre più complessi.
Per aiutare il business a ottenere maggiore valore dalla data ingestion, bisogna capire cos’è l’ingestione dei dati, quali tipi di data ingestion usare, la differenza fra data ingestion ed ETL acronimo di extract, transform, load.
Inoltre, per massimizzare l’efficienza e la scalabilità dei processi di ingestione dei dati, è necessario comprendere i principali strumenti e tecnologie.
L’ingestione dei dati si riferisce all’acquisizione, alla trasformazione e al caricamento di dati non strutturati o semi-strutturati da un sistema a un altro.
Comprende la lettura, le trasformazioni e il caricamento dei dati in una destinazione specifica.
I dati possono essere acquisiti da diverse fonti come database, registri di sistema e file di testo, tra gli altri.
La data ingestion può essere effettuata manualmente o utilizzando strumenti di automazione.
Gli strumenti di ingestione dei dati possono essere utilizzati per trasferire, caricare e normalizzare i dati da diversi sistemi in una singola soluzione.
Questo processo può avere vari livelli di complessità al secondo della quantità di dati da esaminare e della complessità della loro struttura.
La tecnologia di Data Ingestion è una parte essenziale delle soluzioni Big Data, in quanto consente alle organizzazioni di trasformare informazioni in dati utili e utilizzabili.
La data ingestion può essere implementata con strumenti come API, ETL (Estrazione, Trasformazione e Caricamento) o tecnologie di streaming.
Cosa significa data ingestion
La data ingestion è il processo di trasporto dei dati da una o più fonti a un sito di destinazione, al fine di processare i dati e analizzarli.
I dati possono essere in vari formati e arrivano da varie fonti come Rdmbs, altre tipologie di database, S3 bucket (i contenitori di oggetti memorizzato in amazon s3), CSV eccetera.
Infatti, l’origine dei dati spazia da una vasta gamma di risorse:
- data lake;
- dispositivi IoT o Internet of Things;
- database on-premise;
- app SaaS, per giungere in ambienti differenti, come cloud data warehouse (che permette di memorizzare nel tempo un enorme quantità di dati nel cloud) o data mart (che è specializzato su uno specifico argomento e può essere catalogato come sottoinsieme del data warehouse generale).
Tipi di data ingestion
Ci sono tre modi per condurre l’ingestione dei dati, in base agli obiettivi del business, alle infrastrutture IT e ai limiti di budget IT:
- data ingestion in real time;
- ingestione dei dati basata su batch;
- data ingestion basata su architettura Lambda (combinazione di data ingestion in real time e batch-base).
Ingestione dei dati in real time
La data ingestion in real time è un processo di raccolta e trasferimento dei dati dalle fonti in tempo reale usando soluzioni come la change data capture (Cdc).
Cdc monitora costantemente le transazioni o l’operazione di redo logs e muove i dati modificati senza interferire con i carichi di lavoro del database.
L’ingestione di dati in real time è essenziale per i casi d’uso sensibili al tempo, come il trading in Borsa o monitoraggio della rete elettrica, quando le organizzazioni devono reagire rapidamente a nuove informazioni.
Le pipeline dei dati in real time sono infine vitali quando permettono di prendere decisioni operative rapide, identificare nuovi insight e agire di conseguenza.
Ingestione dei dati basata su batch
La data ingestion batch-based rappresenta il processo di raccolta e trasferimento dati in batch, secondo intervalli programmati. L’ingestion layer può:
- raccogliere dati sulla base di semplici orari;
- innescare eventi;
- secondo altre logiche.
La batch-based ingestion è utile quando le aziende necessitano di raccogliere specifici data point su base quotidiana o se non hanno bisogno di dati per prendere decisioni in tempo reale.
Ingestione dei dati basata su architettura Lambda
L’architettura Lambda è una configurazione di data ingestion che consiste sia in metodi in real time che batch. I primi due livelli indicizzano i dati in batch, mentre lo speed layer indicizza istantaneamente i dati ancora da raccogliere da batch più lenti e serving layer. Tutto ciò assicura che i dati siano disponibili per interrogarli in condizioni di bassa latenza.
Le Lambda Function consentono di impiegare una logica di business nel contesto di una piattaforma usando i principi del serverless.
Le sfide della data ingestion
Il mercato dell’ingestione dei dati deve affrontare sfide come:
- l’ecosistema dei dati è sempre più ”eterogeneo”: i team devono trattare con un numero sempre crescente di tipi di dati e fonti, e ciò rende difficile creare un framework di dati future-proof;
- richieste legali sempre più complesse: dal GDPR a HIPAA e SOC 2, i team dei dati devono familiarizzare con varie regolamentazioni relative alla tutela della privacy e alla protezione di dati per assicurare alle imprese di agire nel pieno rispetto delle norme vigenti;
- la cybersecurity: i team dei dati devono inoltre respingere frequenti cyber-attacchi lanciati da attori malevoli per intercettare e trafugare dati sensibili.
Vantaggi della data ingestion
La data ingestion presenta numerosi benefici:
- aiuta le aziende a raccogliere i dati archiviati attraverso vari siti e a muoverli in un ambiente unificato per l’accesso immediato e l’analisi (infatti, una volta raccolti i dati, è possibile eseguire analitiche complesse);
- l’ingestione avanzata trasporta i dati, li combina con soluzioni ETL (extract, transform, load), può trasformare vari tipi di dati nei format predefiniti e poi li distribuisce a un data warehouse;
- l’ingestione di dati rende automatiche alcune attività che in precedenza richiedevano operazioni manuali;
- la real time data ingestion permette agli utenti di fascia business di notificare velocemente problemi e opportunità, per prendere decisioni data-driven;
- usare la tecnologia di data ingestion per garantire che le proprie app e software tool muovano i dati rapidamente in modo da fornirli agli utenti, offrendo un’esperienza d’uso superiore.
Differenza tra data ingestion e ETL
ETL (extract, transform, load) è un approccio standard di integrazione dati da decenni. L’ascesa del cloud computing e la necessità di un’integrazione dati self-service ha abilitato lo sviluppo di approcci come ELT (extract, load, transform).
ETL è un processo di integrazione di dati che, in tre passaggi, aiuta le organizzazioni ad estrarre dati da varie fonti e li porta in un unico database di destinazione. Invece l’ingestione dei dati è il processo di trasporto dati da una o più fonti a un sito target.
La principale differenza fra data ingestion e ETL è che quest’ultimo riguarda non solo l’estrazione e il trasferimento di dati, ma anche la trasformazione di quei dati prima della distribuzione alle destinazioni target.
La trasformazione significa: aggregazione, pulizia, scissione e unione. L’obiettivo consiste nell’assicurare che i dati distribuiti in un format soddisfino i requisiti della posizione di destinazione.
Esempi di data ingestion utili alle aziende
Un esempio di ingestione dei dati è l’applicazione nel campo di internet of things (IoT): ingestione dei dati IoT con piattaforme IoT come dispositivi e strumenti di Analytics, orientate a tutte le attività di ingestione dei dati IoT, per le quali il cloud riveste un ruolo sempre più strategico.
Esempi di data ingestion sono:
- ingestione di un costante flusso di dati da vari risorse per massimizzare l’efficacia delle campagne di marketing;
- raccogliere dati dei prodotti da vari fornitori di una supply chain per creare una consolidata linea di prodotti in-house;
- caricare dati continuamente da sistemi eterogenei in data warehouse.