A volte le imprese si ritrovano a dover spostare grandi volumi di dati da una sorgente a una destinazione di vario tipo, come un database o degli stream IoT, sia on-premise che in cloud.
Il processo di trasferimento, chiamato data ingestion, permette di spostare grandi quantità di informazione preservandone il formato. Contrariamente al processo di ETL, i dati non vengono trasformati per essere adattati al nuovo sistema: si tratta, questo, di un eventuale step aggiuntivo da eseguire dopo il trasferimento.
Strategie di data ingestion
Esistono tre diverse strategie di data ingestion, che si differenziano per le modalità e le tempistiche con cui i dati vengono trasferiti.
La data ingestion real-time consente di spostare i dati in maniera immediata, non appena vengono aggiornati alla sorgente. Questa strategia viene usata in situazioni in cui è necessario mantenere uno stream continuo di dati, per averli nel minor tempo possibile. Per implementare questo tipo di data ingestion si usa il processo di change data capture per individuare le modifiche effettuate sui dati e aggiornarli di conseguenza.
Al contrario, la batch data ingestion sposta i dati periodicamente, seguendo intervalli programmati. Questa strategia viene usata in genere nell'ambito retail, per ottenere informazioni sull'andamento delle vendite ed effettuare analisi periodiche. Oltre che su intervalli di tempo, la batch data ingestion può essere programmata sulla base di eventi trigger o altre logiche.
Infine, la lamba data ingestion combina le due tecniche per adattare il trasferimento dei dati sulle necessità del momento. L'obiettivo è trasferire i dati il più velocemente possibile; di default, quindi, si preferisce un trasferimento real time, ma nel caso problemi di latenza o un calo di velocità dei trasferimenti, i dati vengono messi in coda per essere trasferiti in batch non appena è possibile.
La data ingestion velocizza i tempi di migrazione tra sistemi o dell'acquisizione di nuovi dati. Il processo garantisce alle aziende di ottenere in breve tempo i dati dalle sorgenti, e può essere combinato con tool di data editing o formatting per adeguare le informazioni in una fase successiva.