Podstawy AI

Co to jest ETL? (Extract, Transform, Load) Metodologia i przypadki użycia

mm
Dodaj Unite.AI do preferowanych źródeł w Google

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:

  1. Oczyszczanie – nieścisłe i brakujące dane są obsługiwane.
  2. Ujednolicenie – stosowany jest jednolity format na całej długości.
  3. Usunięcie duplikatów – redundancja jest usuwana.
  4. Wykrywanie odstępstw – odstępstwa są wykrywane i normalizowane.
  5. 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.

  1. 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.
  2. Ł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.

  1. Narzędzia ETL komercyjne
  2. Narzędzia ETL open source
  3. Narzędzia ETL niestandardowe
  4. 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:

  1. 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.
  2. 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.
  3. 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.
  4. Audyty: Przeprowadzanie kontroli danych po pewnym czasie, aby upewnić się, że dane są w stanie, jaki został zamierzony.
  5. 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.
  6. 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.
  7. 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.

Haziqa jest naukowcem danych z bogatym doświadczeniem w tworzeniu treści technicznych dla firm AI i SaaS.