Cos'è ETL?
ETL è un processo che estrae i dati da diversi sistemi di origine, quindi trasforma i dati (come applicare calcoli, concatenazioni, ecc.) E infine carica i dati nel sistema Data Warehouse. La forma completa di ETL è Estrai, Trasforma e Carica.
Si è tentati di pensare che la creazione di un data warehouse sia semplicemente l'estrazione di dati da più origini e il caricamento nel database di un data warehouse. Questo è lontano dalla verità e richiede un complesso processo ETL. Il processo ETL richiede input attivi da varie parti interessate, tra cui sviluppatori, analisti, tester, alti dirigenti ed è tecnicamente impegnativo.
Per mantenere il suo valore come strumento per i decisori, il sistema di data warehouse deve cambiare con i cambiamenti aziendali. ETL è un'attività ricorrente (giornaliera, settimanale, mensile) di un sistema di data warehouse e deve essere agile, automatizzata e ben documentata.
In questo tutorial ETL imparerai-
- Cos'è ETL?
- Perché hai bisogno di ETL?
- Processo ETL nei data warehouse
- Passaggio 1) Estrazione
- Passaggio 2) Trasformazione
- Passaggio 3) Caricamento
- Strumenti ETL
- Processo ETL delle migliori pratiche
Perché hai bisogno di ETL?
Ci sono molte ragioni per adottare ETL nell'organizzazione:
- Aiuta le aziende ad analizzare i propri dati aziendali per prendere decisioni aziendali critiche.
- I database transazionali non possono rispondere a domande aziendali complesse a cui è possibile rispondere con l'esempio ETL.
- Un data warehouse fornisce un archivio dati comune
- ETL fornisce un metodo per spostare i dati da varie origini in un data warehouse.
- Man mano che le origini dati cambiano, il data warehouse si aggiornerà automaticamente.
- Un sistema ETL ben progettato e documentato è quasi essenziale per il successo di un progetto di Data Warehouse.
- Consenti la verifica delle regole di trasformazione, aggregazione e calcolo dei dati.
- Il processo ETL consente il confronto dei dati di esempio tra il sistema di origine e quello di destinazione.
- Il processo ETL può eseguire trasformazioni complesse e richiede un'area aggiuntiva per memorizzare i dati.
- ETL aiuta a migrare i dati in un data warehouse. Converti nei vari formati e tipi per aderire a un sistema coerente.
- ETL è un processo predefinito per l'accesso e la manipolazione dei dati di origine nel database di destinazione.
- ETL nel data warehouse offre un contesto storico approfondito per l'azienda.
- Aiuta a migliorare la produttività perché codifica e riutilizza senza bisogno di competenze tecniche.
Processo ETL nei data warehouse
ETL è un processo in 3 fasi

Passaggio 1) Estrazione
In questa fase dell'architettura ETL, i dati vengono estratti dal sistema di origine nell'area di staging. Eventuali trasformazioni vengono eseguite nell'area di staging in modo che le prestazioni del sistema sorgente non vengano degradate. Inoltre, se i dati danneggiati vengono copiati direttamente dall'origine nel database del data warehouse, il rollback sarà una sfida. L'area di gestione temporanea offre l'opportunità di convalidare i dati estratti prima che vengano spostati nel data warehouse.
Il data warehouse deve integrare sistemi che hanno diversi
DBMS, hardware, sistemi operativi e protocolli di comunicazione. Le fonti potrebbero includere applicazioni legacy come mainframe, applicazioni personalizzate, dispositivi punto di contatto come ATM, interruttori di chiamata, file di testo, fogli di calcolo, ERP, dati di fornitori, partner tra gli altri.
Quindi è necessaria una mappa logica dei dati prima che i dati vengano estratti e caricati fisicamente. Questa mappa dati descrive la relazione tra origini e dati di destinazione.
Tre metodi di estrazione dei dati:
- Estrazione completa
- Estrazione parziale - senza notifica di aggiornamento.
- Estrazione parziale - con notifica di aggiornamento
Indipendentemente dal metodo utilizzato, l'estrazione non dovrebbe influire sulle prestazioni e sui tempi di risposta dei sistemi sorgente. Questi sistemi di origine sono database di produzione live. Qualsiasi rallentamento o blocco potrebbe influire sui profitti dell'azienda.
Alcune convalide vengono eseguite durante l'estrazione:
- Riconciliare i record con i dati di origine
- Assicurati che non vengano caricati dati spam / indesiderati
- Controllo del tipo di dati
- Rimuovi tutti i tipi di dati duplicati / frammentati
- Controlla se tutte le chiavi sono a posto o meno
Passaggio 2) Trasformazione
I dati estratti dal server di origine sono grezzi e non possono essere utilizzati nella loro forma originale. Quindi ha bisogno di essere ripulito, mappato e trasformato. In effetti, questo è il passaggio chiave in cui il processo ETL aggiunge valore e modifica i dati in modo tale da poter generare report BI approfonditi.
È uno dei concetti ETL importanti in cui si applica un insieme di funzioni ai dati estratti. I dati che non richiedono alcuna trasformazione vengono chiamati come spostamento diretto o passaggio di dati .
Nella fase di trasformazione, è possibile eseguire operazioni personalizzate sui dati. Ad esempio, se l'utente desidera la somma dei ricavi di vendita che non è nel database. O se il nome e il cognome in una tabella sono in colonne diverse. È possibile concatenarli prima del caricamento.

Di seguito sono riportati i problemi di integrità dei dati:
- Ortografia diversa della stessa persona come Jon, John, ecc.
- Esistono diversi modi per denotare il nome di un'azienda come Google, Google Inc.
- Uso di nomi diversi come Cleaveland, Cleveland.
- È possibile che diversi numeri di conto vengano generati da varie applicazioni per lo stesso cliente.
- In alcuni dati i file richiesti rimangono vuoti
- Prodotto non valido ritirato presso il POS poiché l'inserimento manuale può causare errori.
Le convalide vengono eseguite durante questa fase
- Filtro: seleziona solo alcune colonne da caricare
- Utilizzo di regole e tabelle di ricerca per la standardizzazione dei dati
- Conversione del set di caratteri e gestione della codifica
- Conversione di unità di misura come conversione di data e ora, conversioni di valuta, conversioni numeriche, ecc.
- Verifica della convalida della soglia dei dati. Ad esempio, l'età non può contenere più di due cifre.
- Validazione del flusso di dati dall'area di staging alle tabelle intermedie.
- I campi obbligatori non devono essere lasciati vuoti.
- Pulizia (ad esempio, mappare NULL a 0 o Gender Male a "M" e Female a "F" ecc.)
- Dividi una colonna in multipli e unisci più colonne in una singola colonna.
- Trasporre righe e colonne,
- Utilizza le ricerche per unire i dati
- Utilizzando una convalida dei dati complessa (ad esempio, se le prime due colonne di una riga sono vuote, rifiuta automaticamente l'elaborazione della riga)
Passaggio 3) Caricamento
Il caricamento dei dati nel database del datawarehouse di destinazione è l'ultimo passaggio del processo ETL. In un tipico data warehouse, è necessario caricare un volume enorme di dati in un periodo relativamente breve (notti). Quindi, il processo di caricamento dovrebbe essere ottimizzato per le prestazioni.
In caso di errore di caricamento, i meccanismi di ripristino dovrebbero essere configurati per riavviare dal punto di errore senza perdita di integrità dei dati. Gli amministratori di Data Warehouse devono monitorare, riprendere, annullare i carichi in base alle prestazioni del server prevalenti.
Tipi di caricamento:
- Caricamento iniziale : popolando tutte le tabelle del data warehouse
- Carico incrementale : applicare periodicamente le modifiche in corso quando necessario.
- Aggiornamento completo: cancella il contenuto di una o più tabelle e ricarica con nuovi dati.
Verifica del carico
- Assicurati che i dati del campo chiave non siano né mancanti né nulli.
- Testare le viste di modellazione basate sulle tabelle di destinazione.
- Verificare che i valori combinati e le misure calcolate.
- Controlli dei dati nella tabella delle dimensioni e nella tabella della cronologia.
- Controllare i report BI sulla tabella dei fatti e delle dimensioni caricata.
Strumenti ETL
Ci sono molti strumenti di Data Warehousing disponibili sul mercato. Ecco alcuni dei più importanti:
1. MarkLogic:
MarkLogic è una soluzione di data warehousing che rende l'integrazione dei dati più semplice e veloce utilizzando una serie di funzionalità aziendali. Può eseguire query su diversi tipi di dati come documenti, relazioni e metadati.
https://www.marklogic.com/product/getting-started/
2. Oracle:
Oracle è il database leader del settore. Offre un'ampia gamma di scelta di soluzioni di data warehouse sia in locale che nel cloud. Aiuta a ottimizzare le esperienze dei clienti aumentando l'efficienza operativa.
https://www.oracle.com/index.html
3. Amazon RedShift:
Amazon Redshift è lo strumento Datawarehouse. È uno strumento semplice ed economico per analizzare tutti i tipi di dati utilizzando SQL standard e strumenti BI esistenti. Consente inoltre di eseguire query complesse su petabyte di dati strutturati.
https://aws.amazon.com/redshift/?nc2=h_m1
Ecco un elenco completo di utili strumenti di data warehouse.
Processo ETL delle migliori pratiche
Di seguito sono riportate le migliori pratiche per le fasi del processo ETL:
Non tentare mai di pulire tutti i dati:
Ogni organizzazione vorrebbe che tutti i dati fossero puliti, ma la maggior parte di loro non è pronta a pagare per aspettare o non è pronta ad aspettare. Pulire tutto richiederebbe semplicemente troppo tempo, quindi è meglio non provare a ripulire tutti i dati.
Non pulire mai nulla:
Pianifica sempre di pulire qualcosa perché il motivo principale per costruire il Data Warehouse è offrire dati più puliti e affidabili.
Determina il costo della pulizia dei dati:
Prima di pulire tutti i dati sporchi, è importante determinare il costo di pulizia per ogni elemento di dati sporchi.
Per velocizzare l'elaborazione delle query, disporre di viste e indici ausiliari:
Per ridurre i costi di archiviazione, archiviare i dati riepilogati su nastri disco. Inoltre, è richiesto il compromesso tra il volume di dati da archiviare e il suo utilizzo dettagliato. Compromesso a livello di granularità dei dati per ridurre i costi di archiviazione.
Sommario:
- ETL sta per Estrai, Trasforma e Carica.
- ETL fornisce un metodo per spostare i dati da varie origini in un data warehouse.
- Nella prima fase di estrazione, i dati vengono estratti dal sistema di origine nell'area di staging.
- Nella fase di trasformazione, i dati estratti dall'origine vengono puliti e trasformati.
- Il caricamento dei dati nel datawarehouse di destinazione è l'ultimo passaggio del processo ETL.