AI 101
Co to jest ETL? (Extract, Transform, Load) Metodologia & Studia przypadków

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 bardzo, że według Forbes, przy obecnym tempie, ludzie podwajają tworzenie danych co dwa lata. W wyniku czego, nowoczesny stos danych ewoluował. Sklepy danych zostały przekształcone w magazyny danych, a gdy to nie było wystarczające, zostały stworzone jeziora danych. Chociaż we wszystkich tych różnych infrastrukturach, jeden proces pozostał taki sam, proces ETL.
W tym artykule, przyjrzymy się metodologii ETL, jego studiom przypadków, korzyściom, i jak ten proces pomógł ukształtować nowoczesny krajobraz danych.
Metodologia ETL
ETL umożliwia integrację danych z różnych źródeł w jedno miejsce, aby mogły być przetwarzane, analizowane, i następnie udostępniane interesariuszom firm. Zapewnia integralność danych, które mają być wykorzystywane do raportowania, analizy i predykcji z modelem uczenia maszynowego. Jest to trzyetapowy proces, który wyodrębnia dane z wielu źródeł, przekształca je, i następnie ładuje do narzędzi analitycznych. Te narzędzia analityczne są następnie wykorzystywane przez firmy do podejmowania decyzji opartych na danych.
Faza Extract
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
- Magazyn danych
- Baza danych
- Platformy przechowywania w chmurze
- Narzędzia sprzedaży i marketingu
- Aplikacje mobilne
Te źródła są albo strukturalne, albo niestrukturalne, co sprawia, że format danych nie jest jednolity na tym etapie.
Faza Transform
W fazie transformacji, surowe dane są przekształcane i skompilowane w format, który jest odpowiedni dla systemu docelowego. Aby to zrobić, surowe dane przechodzą przez kilka podprocesów transformacji, takich jak:
- Oczyszczanie — niezgodne i brakujące dane są uwzględnione.
- Ujednolicenie — jednolity format jest stosowany przez całość.
- Usunięcie duplikatów — redundancja danych 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ą żadnej 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 Load
Gdy surowe dane są wyodrębnione i przekształcone, są one ładowane do systemu docelowego, który jest zwykle albo magazynem danych, albo jeziorem danych. Istnieją dwa różne sposoby przeprowadzenia fazy load.
- Pełne ładowanie: Wszystkie dane są ładowane jednocześnie po raz pierwszy w systemie docelowym. Jest to technicznie mniej złożone, 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, gdy dane są zbyt duże. Jest szybkie, ale technicznie bardziej złożone.
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 ręcznie dla wszystkich zestawów danych. To wszystko powoduje ogromne straty produktywności i zasobów.
Alternatywą jest ETL bez kodu; te narzędzia zwykle mają funkcje przeciągnij-i-upuść. Te narzędzia całkowicie usuwają potrzebę kodowania, co pozwala nawet pracownikom nie-tech na wykonywanie 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 Data Integrator do swoich operacji ETL.
Istnieją cztery rodzaje 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.
- Rejestry ETL: Rejestry ETL powinny być prowadzone, które mają zapis każdego i wszystkich procesów, które zostały wykonane z danymi przed, podczas i po cyklu ETL.
- Audyty: Trzymaj kontrolę nad danymi po określonym czasie, aby upewnić się, że dane są w stanie, w jakim chcesz, aby były.
- Mały rozmiar danych: Rozmiar baz danych i ich tabel powinien być utrzymany na niewielkim poziomie, tak aby dane były rozprowadzane bardziej w poziomie niż w pionie. Ta praktyka zapewnia wzrost prędkości przetwarzania i, co za tym idzie, przyspiesza proces ETL.
- Tworzenie warstwy pamięci podręcznej: Warstwa pamięci podręcznej jest warstwą magazynu 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ą 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.
Studia przypadków ETL
ETL sprawia, że operacje są gładkie i wydajne dla firm na wiele sposobów, ale omówimy trzy najpopularniejsze studia przypadków.
Przesyłanie do chmury:
Przechowywanie danych lokalnie jest drogą opcją, która powoduje, że firmy wydają zasoby na kupowanie, przechowywanie, uruchamianie i utrzymywanie serwerów. Aby uniknąć tego kłopotu, 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.
Łączenie danych z różnych źródeł:
Dane są często rozproszone w różnych systemach w firmie. Łączenie danych z różnych źródeł w jednym miejscu, tak aby mogły być przetwarzane i następnie analizowane, aby być udostępnione interesariuszom później, jest wykonywane za pomocą procesu ETL. ETL zapewnia, że dane z różnych źródeł są sformatowane jednolicie, podczas gdy integralność danych pozostaje nienaruszona.
Modelowanie predykcyjne:
Podejmowanie decyzji opartych na danych jest kamieniem węgielnym udanej strategii biznesowej. ETL pomaga firmom, wyodrębniając dane, przekształcając je, a następnie ładując do baz danych, które są połączone z modelami uczenia maszynowego. Te modele uczenia maszynowego analizują dane po przejściu przez proces ETL i następnie wykonują predykcje na podstawie tych danych.
Przyszłość ETL w krajobrazie danych
ETL z pewnością odgrywa rolę kręgosłupa architektury danych; czy pozostanie takie, 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ą przekazywane bezpośrednio do systemu docelowego w czasie rzeczywistym.
Istnieje wiele nowych trendów w ekosystemie danych. Zobacz unite.ai, aby poszerzyć swoją wiedzę o trendach technologicznych.










