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.