Che cos’è un processo ETL

Che cos’è un processo ETL

Che cos'è un processo ETL? bene, con il termine ETL (Extract, Transform, Load) ci si riferisce al processo di estrazione, trasformazione e caricament

Metabase: un tool Open Source per la Business Intelligence
Una suite Open Source per la Business Intelligence: Pentaho BI Platform

Che cos’è un processo ETL? bene, con il termine ETL (Extract, Transform, Load) ci si riferisce al processo di estrazione, trasformazione e caricamento dei dati in un sistema di sintesi (data warehouse, data mart, big data, ecc…). Tipicamente il sistema di partenza (la fonte dei dati) è un sistema transazionale (OLTP), mentre quello di sintesi è detto sistema OLAP.

Il ruolo di un processo ETL è dunque quello di alimentare una sorgente dati singola, dettagliata, esauriente e di alta qualità che possa a sua volta alimentare un DataWarehouse. Molto spesso alle tre operazioni di Estrazione, Trasformazione e Caricamento viene affianca una quarta operazione di Pulitura (Cleaning), la quale si incarica di migliorare la qualità dei dati, andando ad evitare le seguenti situazioni: dati duplicati, dati mancanti, valori errati, valori inconsistenti.

Durante il processo di alimentazione del DW, la riconciliazione avviene in due occasioni: quando il DW viene popolato per la prima volta, e periodicamente quando il DW viene aggiornato. In caso di architettura a tre livelli, di fatto questi strumenti alimentano il livello dei dati riconciliati; le operazioni da essi svolte vengono quindi spesso globalmente designate con il temine riconciliazione e sono, tra le diverse fasi del processo di warehousing, tra quelle più complesse e tecnicamente impegnative.

Le fasi distinte di questa operazione possono essere suddivise in:

  • Durante questa fase i dati rilevanti vengono estratti dalle sorgenti;
  • Durante questa operazione i dati vengono convertiti dal formato operazionale sorgente a quello del DW;
  • L’ultima fase da eseguire è il caricamento dei dati nel DW, che può avvenire secondo due modalità:
    • Refresh. I dati del DW vengono riscritti integralmente, sostituendo quelli precedenti.
    • Update. I soli cambiamenti occorsi nei dati sorgente vengono aggiunti nel DW,tipicamente senza distruggere o alterare i dati esistenti.

 

Tipologie di ETL

Quando si costruisce un Data Warehouse di solito vengono utilizzati due approcci per il processo di ETL:

  • Utilizzo di Viste SQL (e Viste di Viste)

Questo primo approccio è ovviamente implementato direttamente nel database, ha il vantaggio di non disporre di dati ridondanti e non ha bisogno di un processo per la copia dei dati, ma potrebbe portare a problemi di prestazioni.

  • Tabella di Data Warehouse SQL (con processo di copia dei dati)

Il secondo approccio potrebbe essere fatto con diversi strumenti come stored procedure e job interni al database o con uno strumento ETL esterno, come Pentaho Data Integration. Il vantaggio è di poter capire meglio il processo in quanto è possibile visualizzarlo in quanto la maggior parte degli strumenti di ETL hanno un componente di visualizzazione. Inoltre, confluendo il processo di ETL in una tabella SQL, le prestazioni sono migliori. Un problema potrebbe essere il fatto che un cambiamento del processo è più complesso in quanto le tabelle persistenti devono essere modificate di conseguenza.

Nel mondo reale di solito si trova un mix di entrambi, specialmente quando più persone hanno lavorato al processo. Naturalmente dipende anche dalla situazione (dimensioni delle tabelle, come sono progettati i processi, quanto è complesso il processo ETL, etc.).

COMMENTS

WORDPRESS: 0