Skip to Content

Che cos'è l'ETL?

L'estrazione, la trasformazione e il caricamento (ETL) sono processi importanti nel data warehousing quando le aziende devono estrarre i dati da più origini e archiviarli in una posizione centralizzata. La logica di processo e la progettazione dell'infrastruttura dipenderanno dai requisiti aziendali, dai dati archiviati e dal fatto che il formato sia strutturato o non strutturato.

Che cos'è l'ETL?

I dati provenienti da varie origini devono essere archiviati in una forma specifica per consentire ad applicazioni, machine learning, intelligenza artificiale e analytics di utilizzarli. Il processo ETL è un gruppo di regole di business che determinano le origini dati utilizzate per estrarre i dati, trasformarli in un formato specifico e caricarli in un database. I dati possono essere strutturati o non strutturati, oppure entrambi.

Dopo il processo ETL, i dati vengono archiviati in un data warehouse in cui gli amministratori possono gestirli ulteriormente. Gli amministratori responsabili dei database che memorizzano i dati ETL gestiscono la registrazione, l'audit e i backup. I dati di registro per gli eventi ETL potrebbero anche passare attraverso la propria pipeline di dati prima di essere memorizzati in un data warehouse per gli analytics amministrativi.

Il processo ETL

L'ETL prevede tre passaggi: estrazione, trasformazione e caricamento. Gli amministratori di database, gli sviluppatori e gli architetti cloud di solito progettano il processo ETL utilizzando regole di business e requisiti applicativi. La progettazione di un processo ETL prende in esame i tre passaggi seguenti:

  • Estrazione: I dati grezzi per l'estrazione possono provenire da una o più origini. Le origini possono provenire da un'API , un sito Web, un altro database, log IoT, file, e-mail o qualsiasi altro formato di dati ingeribile. Poiché le origini possono avere vari formati, il primo passo in ETL estrae i dati da un'origine per il passo successivo.
  • Trasformazione: Le regole di business e la posizione di storage di destinazione definiscono la progettazione della trasformazione. I dati devono essere formattati, filtrati e convalidati prima di poter essere inviati al data warehouse. I dati duplicati possono alterare i risultati analitici, pertanto le voci duplicate vengono rimosse prima di essere memorizzate. I dati sono formattati in modo da poter essere memorizzati. Ad esempio, un numero di telefono può essere memorizzato con o senza trattini, quindi il processo di trasformazione aggiunge o rimuove i trattini prima di essere inviato allo storage.
  • Caricamento: Dopo la trasformazione, i dati vengono inviati al data warehouse per lo storage. I dati devono essere conservati ed evitati duplicati, quindi la fase di caricamento deve tenere conto delle modifiche incrementali ogni volta che viene eseguito il processo ETL. L'ETL spesso viene eseguito più volte al giorno per le grandi aziende, quindi vengono aggiunti solo nuovi dati senza influire sui dati delle applicazioni correnti già memorizzati nel database.

Vantaggi di ETL

Una volta progettato, il processo ETL viene eseguito automaticamente nel corso della giornata. Alcuni processi ETL potrebbero essere settimanali o mensili e la maggior parte dei motori di database offre un programmatore che viene eseguito sul server per eseguire le attività in un determinato momento. Un processo ETL ben progettato non richiede molte modifiche e può importare dati da varie origini senza interazione manuale.

I dati grezzi senza alcuna trasformazione sono generalmente inutili per gli analytics, soprattutto se la tua azienda utilizza dati simili provenienti da diverse fonti. Ad esempio, un'azienda che lavora con l'analisi del traffico potrebbe estrarre i dati da diverse fonti della pubblica amministrazione. È molto probabile che tutte le origini creino record duplicati, ma un processo ETL prenderà i dati, rimuoverà i duplicati e formatterà i dati per le applicazioni di analisi interne. Le aziende possono estrarre i dati da numerose posizioni e prepararli automaticamente per gli analytics interni, il che supporta anche le decisioni aziendali future e il lancio dei prodotti.

L'ETL accelera gli aggiornamenti dei dati, quindi offre vantaggi alle aziende che devono lavorare con i dati attuali o in tempo reale. Tradizionalmente, le importazioni dei dati venivano eseguite in batch e l'ETL era lento. Le aziende potrebbero non vedere cambiamenti dei dati per diverse ore, ma l'attuale tecnologia ETL fornisce aggiornamenti ai dati in modo che gli analytics possano riflettere i recenti cambiamenti delle tendenze.

Strumenti e tecnologie ETL

Per le pipeline di dati di grandi dimensioni, la maggior parte delle organizzazioni utilizza strumenti e script personalizzati per ETL. I motori di database sono spesso dotati di funzionalità ETL proprie, in modo che le aziende possano importare i dati. Il modo in cui vengono archiviati i dati dipende dalla necessità di dati non strutturati o strutturati. I dati strutturati richiedono una maggiore formattazione rispetto ai dati non strutturati, quindi qualsiasi strumento out-of-the-box deve integrarsi con la piattaforma di database scelta.

Alcuni strumenti per ETL:

  • Storia: Offre una GUI open source per l'integrazione della pipeline dei dati drag-and-drop
  • Informatica PowerCenter: Fornisce agli utenti finali gli strumenti per importare dati e progettare le proprie pipeline di dati per i progetti aziendali
  • AWS AWS: Consente di progettare ETL da dati non strutturati e strutturati per l'archiviazione su bucket S3
  • Dataflow di Google Cloud: Consente di creare processi ETL serverless per archiviare i dati su Google Cloud Platform (GCP)

Best practice per l'implementazione di ETL

La chiave per una buona progettazione ETL sono le performance e la precisione. Le performance spesso dipendono dall'infrastruttura sottostante, quindi è importante disporre di un data warehouse in grado di scalare e tenere il passo con l'aumento dei carichi. I dati strutturati spesso richiedono più tempo per trasformarsi a causa dei numerosi vincoli delle tabelle, ma soluzioni come FlashArray ™ sono progettate per importazioni di dati di grandi dimensioni e garantiscono che le pipeline on-premise continuino a funzionare rapidamente.

Progetta sempre i processi ETL per la scalabilità e l'ignoto. È molto possibile importare un record che non può essere trasformato. Eventuali errori devono essere registrati e i record archiviati per un'ulteriore revisione. Potrebbe significare che c'è un bug nell'ETL o che il progetto non rileva un caso edge che può essere corretto con le modifiche al codice ETL.

Non tutti i processi ETL funzionano con i server fisici, quindi soluzioni come Portworx ® gestiscono database e analytics virtualizzati e containerizzati. I servizi containerizzati devono scalare man mano che vengono importati più dati e funzionano con gli strumenti di orchestrazione più comuni. Portworx si integra con gli strumenti di orchestrazione, tra cui Kubernetes, per pipeline dinamiche e costantemente aggiornate.

Sfide e soluzioni nell'ETL

Poiché le origini dati e i requisiti aziendali sono in continua evoluzione, gli amministratori responsabili della progettazione ETL devono affrontare delle sfide associate alla scalabilità, agli aggiornamenti e al controllo di qualità. Le sfide di scalabilità in genere derivano dai limiti dello spazio di storage, quindi gli amministratori possono risolvere questo problema con uno storage scalabile con un aumento dei requisiti di data storage.

Le sfide poste dai cambiamenti dei requisiti aziendali spesso sono soggette a manutenzione. Un'origine dati potrebbe cambiare il modo in cui i dati vengono archiviati o gli sviluppatori potrebbero apportare modifiche a un'applicazione che richiedono modifiche alla trasformazione o alle strutture di carico. Senza la documentazione fornita da origini dati di terze parti per avvisare gli amministratori, le modifiche al data storage o ai requisiti di carico non si presentano finché non si verificano errori nel processo ETL. La registrazione e gli avvisi aiutano gli amministratori a identificare i problemi in anticipo in modo da poter apportare modifiche alla codifica ETL. Le modifiche iniziali riducono l'impatto degli errori sulla produttività e sui ricavi aziendali.

La progettazione di un processo ETL è una delle attività più difficili, ma può essere più facile quando gli amministratori parlano con gli stakeholder e si assicurano che le regole di business siano incluse. La riprogettazione e il refactoring di una progettazione ETL possono ritardare il deployment e aggiungere costi generali non necessari. Documenta tutte le regole di business in modo che ogni caso possa essere incluso in una progettazione ETL per evitare riscritture eccessive.

Tenere i vari processi ETL separati e indipendenti l'uno dall'altro. Questa soluzione garantisce che l'intero processo ETL non subisca guasti in caso di guasto di un componente. Ad esempio, se un'API esterna si arresta in modo anomalo, l'estrazione dei dati da tutte le altre origini viene comunque completata fino a quando l'API non sarà nuovamente disponibile. Se necessario, è anche possibile creare più pianificazioni ETL. Se lavori con più piattaforme cloud, lo storage cloud Pure Storage supporta AWS , Azure , GCP e altre piattaforme principali.

ETL e ELT a confronto 

È importante notare che l'ETL può essere ad alta intensità di risorse e può introdurre una certa latenza nella disponibilità dei dati, specialmente quando si tratta di dataset di grandi dimensioni. Se l'elaborazione dei dati in tempo reale o quasi in tempo reale è un requisito critico, altri metodi di integrazione dei dati come l'acquisizione dei dati di modifica (CDC) o lo streaming di pipeline di dati possono essere più adatti.

Inoltre, negli ultimi anni, ELT (extract, load, transform) è diventata un'alternativa diffusa all'ETL, soprattutto negli ambienti di dati basati su cloud in cui la trasformazione dei dati può essere eseguita all'interno del sistema di data storage di destinazione. ELT può essere più conveniente e scalabile per alcuni casi d'uso, ma la scelta tra ETL ed ELT dipende dai requisiti specifici e dalle tecnologie utilizzate.

Conclusione

La progettazione di una soluzione ETL richiede tempo, ma non dimenticare di creare un sistema scalabile con l'aumento del data storage. Una delle sfide più semplici da risolvere è la capacità di data storage e le soluzioni Pure Storage sono progettate per il data warehousing per i dati non strutturati e strutturati.

Altre sfide possono essere risolte con buoni standard di progettazione, documentazione e test di garanzia della qualità. Alcuni strumenti possono essere utili per la progettazione, ma ETL è spesso personalizzato per l'azienda. Testa un piccolo campione di dati in un ambiente di staging e prevede di mantenere continuamente la codifica ETL man mano che vengono introdotti nuovi requisiti aziendali.

12/2024
Portworx on Red Hat OpenShift Bare Metal Reference Architecture
A validated architecture and design model to deploy Portworx® on Red Hat OpenShift running on bare metal hosts for use with OpenShift Virtualization.
Reference architecture
33 pagine
CONTATTACI
Domande?

Hai domande o commenti sui prodotti o sulle certificazioni di Pure?  Siamo qui per aiutarti.

Prenota una demo

Prenota una demo per vedere come puoi trasformare i tuoi dati in risultati concreti con Pure. 

Telefono: +39 02 9475 9422

Media: pr@purestorage.com

 

Pure Storage Italia

Spaces c/o Bastioni di Porta Nuova, 21

Milano, 20121

+39 02 9475 9422

italia@purestorage.com

CHIUDI
Il browser che stai usando non è più supportato.

I browser non aggiornati spesso comportano rischi per la sicurezza. Per offrirti la migliore esperienza possibile sul nostro sito, ti invitiamo ad aggiornare il browser alla versione più recente.