Podstawy AI
Co to jest ETL? (Extract, Transform, Load) Metodologia i przypadki użycia
ETL oznacza “extract, transform, load”. Jest to proces, który integruje dane z różnych źródeł do jednego repozytorium, aby mogły być przetwarzane i analizowane, co pozwala wyprowadzić z nich użyteczne informacje. Te użyteczne informacje pomagają firmom podejmować decyzje oparte na danych i rozwijać się.
“Dane są nową ropy.”
Clive Humby, matematyk
Globalna tworzenie danych wzrosło wykładniczo, tak że, według Forbes, ludzie podwajają tworzenie danych co dwa lata. W wyniku tego nowoczesny stos danych ewoluował. Sklepy danych zostały przekształcone w hurtownie danych, a gdy to nie było wystarczające, zostały utworzone jeziora danych. Chociaż we wszystkich tych różnych infrastrukturach jeden proces pozostał taki sam, proces ETL.
W tym artykule przyjrzymy się metodologii ETL, jej przypadkom użycia, korzyściom i temu, jak ten proces pomógł ukształtować nowoczesny krajobraz danych.
Metodologia ETL
ETL umożliwia integrację danych z różnych źródeł w jednym miejscu, aby mogły być przetwarzane, analizowane i udostępniane interesariuszom firm. Zapewnia integralność danych, które mają być używane do raportowania, analizy i predykcji z użyciem modeli machine learning. Jest to trzyetapowy proces, który wyodrębnia dane z wielu źródeł, przekształca je i ładuje do narzędzi analitycznych. Te narzędzia analityczne są następnie używane przez firmy do podejmowania decyzji opartych na danych.
Faza ekstrakcji
W tej fazie dane są wyodrębniane z wielu źródeł za pomocą zapytań SQL, kodów Python, systemów zarządzania bazami danych (DBMS) lub narzędzi ETL. Najczęstszymi źródłami są:
- Oprogramowanie do zarządzania relacjami z klientami (CRM)
- Narzędzie analityczne
- Hurtownia danych
- Baza danych
- Platformy magazynowania w chmurze
- Narzędzia sprzedażowe i marketingowe
- Aplikacje mobilne
Te źródła są albo ustrukturyzowane, albo nieustrukturyzowane, co powoduje, że format danych nie jest jednolity na tym etapie.
Faza transformacji
W fazie transformacji wyodrębnione surowe dane są przekształcane i skompilowane w format, który jest odpowiedni dla systemu docelowego. W tym celu surowe dane przechodzą przez kilka podprocesów transformacji, takich jak:
- Oczyszczanie – nieścisłe i brakujące dane są obsługiwane.
- Ujednolicenie – stosowany jest jednolity format na całej długości.
- Usunięcie duplikatów – redundancja jest usuwana.
- Wykrywanie odstępstw – odstępstwa są wykrywane i normalizowane.
- Sortowanie – dane są organizowane w sposób, który zwiększa wydajność.
Oprócz przekształcenia danych istnieją również inne powody, dla których transformacja danych jest konieczna. Wartości null, jeśli są obecne w danych, powinny być usunięte; poza tym często występują odstępstwa w danych, które negatywnie wpływają na analizę; powinny one być rozwiązane w fazie transformacji. Często spotykamy się z danymi, które są redundancją i nie przynoszą wartości firmie; takie dane są usuwane w fazie transformacji, aby zaoszczędzić miejsce w systemie. To są problemy, które są rozwiązywane w fazie transformacji.
Faza ładowania
Gdy surowe dane są wyodrębnione i dostosowane do procesów transformacji, są ładowane do systemu docelowego, który zwykle jest albo hurtownią danych, albo jeziorem danych. Istnieją dwa różne sposoby przeprowadzenia fazy ładowania.
- Pełne ładowanie: Wszystkie dane są ładowane jednorazowo po raz pierwszy w systemie docelowym. Jest to technicznie mniej skomplikowane, ale zajmuje więcej czasu. Jest idealne w przypadku, gdy rozmiar danych nie jest zbyt duży.
- Ładowanie przyrostowe: Ładowanie przyrostowe, jak sama nazwa wskazuje, jest przeprowadzane w przyrostach. Ma dwie podkategorie.
- Ładowanie przyrostowe strumieniowe: Dane są ładowane w odstępach, zwykle codziennie. Ten rodzaj ładowania jest najlepszy, gdy dane są w małych ilościach.
- Ładowanie przyrostowe partiami: W ładowaniu przyrostowym partiami dane są ładowane partiami z odstępem między dwiema partiami. Jest idealne w przypadku, gdy dane są zbyt duże. Jest szybsze, ale technicznie bardziej skomplikowane.
Typy narzędzi ETL
ETL jest przeprowadzany na dwa sposoby, ręczny ETL lub ETL bez kodu. W ETL ręcznym jest niewiele lub żadnej automatyzacji. Wszystko jest kodowane przez zespół składający się z naukowca danych, analityka danych i inżyniera danych. Wszystkie potoki wyodrębniania, transformacji i ładowania są projektowane dla wszystkich zestawów danych ręcznie. To wszystko powoduje ogromne straty produktywności i zasobów.
Alternatywą jest ETL bez kodu; te narzędzia zwykle mają funkcje drag-and-drop. Te narzędzia całkowicie eliminują potrzebę kodowania, co pozwala nawet pracownikom nie-tech przeprowadzać ETL. Dla ich interaktywnego projektu i inkluzywnego podejścia większość firm używa Informatica, Integrate.io, IBM Storage, Hadoop, Azure, Google Cloud Dataflow i Oracle (ORCL ) Data Integrator do swoich operacji ETL.
Istnieją cztery typy narzędzi ETL bez kodu w branży danych.
- Narzędzia ETL komercyjne
- Narzędzia ETL open source
- Narzędzia ETL niestandardowe
- Narzędzia ETL oparte na chmurze
Najlepsze praktyki dla ETL
Istnieją pewne praktyki i protokoły, które powinny być przestrzegane, aby zapewnić zoptymalizowany potok ETL. Najlepsze praktyki są omówione poniżej:
- Zrozumienie kontekstu danych: Jak dane są zbierane i co oznaczają poszczególne metryki powinno być właściwie zrozumiane. To pomoże zidentyfikować, które atrybuty są redundancją i powinny być usunięte.
- Punkty odzyskiwania: W przypadku, gdy potok jest przerwany i występuje wyciek danych, należy mieć protokoły w miejscu, aby odzyskać wyciekłe dane.
- Rejestr ETL: Rejestr ETL musi być utrzymany, który ma zapis każdego i wszystkich procesów, które zostały wykonane z danymi przed, podczas i po cyklu ETL.
- Audyty: Przeprowadzanie kontroli danych po pewnym czasie, aby upewnić się, że dane są w stanie, jaki został zamierzony.
- Mały rozmiar danych: Rozmiar baz danych i ich tabel powinien być utrzymany mały, aby dane były rozproszone bardziej poziomo niż pionowo. Ta praktyka zapewnia zwiększenie prędkości przetwarzania i, w konsekwencji, przyspiesza proces ETL.
- Tworzenie warstwy pamięci podręcznej: Warstwa pamięci podręcznej jest warstwą magazynowania danych o wysokiej prędkości, która przechowuje ostatnio używane dane na dysku, gdzie mogą być szybko dostępne. Ta praktyka pomaga zaoszczędzić czas, gdy żądane dane są tymi, które są przechowywane w pamięci podręcznej.
- Przetwarzanie równoległe: Traktowanie ETL jako procesu szeregowego pochłania dużą część czasu i zasobów firmy, co sprawia, że cały proces jest niezwykle niewydajny. Rozwiązaniem jest przetwarzanie równoległe i wiele integracji ETL jednocześnie.
Przypadki użycia ETL
ETL sprawia, że operacje są gładkie i wydajne dla firm na wiele sposobów, ale omówimy trzy najpopularniejsze przypadki użycia.
Przesyłanie do chmury:
Przechowywanie danych lokalnie jest drogą opcją, która powoduje, że firmy wydają zasoby na kupowanie, utrzymywanie, uruchamianie i konserwowanie serwerów. Aby uniknąć wszystkich tych problemów, firmy mogą przesłać dane bezpośrednio do chmury. To oszczędza cenne zasoby i czas, które mogą być następnie zainwestowane w poprawę innych aspektów procesu ETL.
Scalanie danych z różnych źródeł:
Dane są często rozproszone w różnych systemach w organizacji. Scalanie danych z różnych źródeł w jednym miejscu, aby mogły być przetwarzane i następnie analizowane, a następnie udostępniane interesariuszom, jest przeprowadzane za pomocą procesu ETL. ETL zapewnia, że dane z różnych źródeł są sformatowane jednolicie, podczas gdy integralność danych pozostaje nietknięta.
Modelowanie predykcyjne:
Podejmowanie decyzji opartych na danych jest kamieniem węgielnym udanej strategii biznesowej. ETL pomaga firmom przez wyodrębnianie danych, transformację i ładowanie ich do baz danych, które są połączone z modelami machine learning. Te modele machine learning analizują dane po tym, jak przeszły przez proces ETL, a następnie dokonują predykcji na podstawie tych danych.
Przyszłość ETL w krajobrazie danych
ETL z pewnością odgrywa rolę kręgosłupa architektury danych; czy pozostanie takim, czy nie, jest jeszcze nieznane, ponieważ z wprowadzeniem Zero ETL w branży technologicznej nastąpią duże zmiany. Z Zero ETL nie będzie potrzeby tradycyjnych procesów wyodrębniania, transformacji i ładowania, ale dane będą przesyłane bezpośrednio do systemu docelowego w czasie zbliżonym do rzeczywistego.
Istnieją liczne wschodzące trendy w ekosystemie danych. Zobacz unite.ai, aby poszerzyć swoją wiedzę o trendach technologicznych.












