FREE
TABLEAU
MOCK-UP TEST

ETL vs ELT czyli przygotowanie danych

ETL vs ELT - często zestawiamy te dwa podejścia do procesowania danych. Różnią się od siebie odwróceniem kolejności kroków procesowania, a dokładnie transformacji danych. W ETL, jak z samej nazwy wynika, ustawiamy transformację przed ładowaniem. W ELT na odwrót.

Wstęp do ETL

Poświęćmy chwilę uwagi wyjaśnieniu całego procesu ETL, który chronologicznie był pierwszy. W uproszczeniu składa się on z ekstrakcji, transformacji i ładowania, czyli trzy rodzaje działań dobrze znane wszystkim pracującym ze źródłami i bazami danych, składające się na trzyetapowy proces. Aktualnie istnieje wiele możliwości zarządzania całym procesem ETL w jednym narzędziu.

  • Ekstrakcja to proces replikowania danych z różnych źródeł.
  • Transformacja to proces konwertowania wyodrębnionych danych z ich poprzedniej postaci do takiej, w jakiej muszą się znajdować, tak aby można je było umieścić w innym repozytorium. Wiąże się z czyszczeniem, filtrowaniem i implementacją reguł biznesowych.
  • Ładowanie to proces zapisywania danych w docelowej bazie danych.

Proces ETL przekształca dane przed etapem ładowania, z tego powodu zastosowanie procesu wydaje się być najlepsze, gdy miejsce docelowe wymaga określonego formatu danych. Potrzeba transformowania danych przed ładowaniem może obejmować sytuacje: rozbieżność obsługiwanych typów danych między źródłem a miejscem docelowym, ograniczone możliwości szybkiego skalowania transformacji danych w miejscu docelowym, ograniczenia bezpieczeństwa blokujące przechowywanie surowych danych w miejscu docelowym.

Jak wdrażamy procesy ETL?

Wspieramy wdrożenia procesów ETL w organizacjach każdej branży, które chcą zaoszczędzić czas przeznaczany na żmudne czynności w pracy z danymi. Wykorzystujemy narzędzie Alteryx, w którym wdrażamy automatyczne procesy analizy danych. Dzięki nim, nasi klienci zaoszczędzają do kilku godzin pracy dziennie każdego pracownika, który zajmował się danymi lub oczekiwał na przygotowanie danych do analizy. Procesy ETL wdrażamy w taki sposób, aby rozwiązania z zakresu analizy danych dla firm z uwzględnieniem ETL odpowiadały na potrzeby biznesowe organizacji.

Pomagamy też wdrożyć narzędzie Tableau Prep, do samodzielnego przekształcania bez konieczności kodowania.

etl w alteryx

Wstęp do ELT

ELT oznacza „ekstrakcję, ładowanie i przekształcanie” - jest to proces, który przy pomocy przepływów danych umożliwia replikację danych z systemu źródłowego do systemu docelowego, takiego jak hurtownia danych w chmurze. Podobnie jak w ETL proces ELT rozpoczyna się od "E", czyli kopiowania danych z różnych źródeł.

Następnie od razu następuje załadowanie do hurtowni danych lub data lake. Finalnie następuje przeprocesowanie danych włącznie z transformacją, już w miejscu docelowym. Zmienia ono tym samym swoją funkcję. Nie jest już tylko repozytorium danych uporządkowanych ale jednocześnie miejscem gdzie przebiega transformacja danych według założonych preferencji. Często przekształcane są surowe dane (ang. raw data) na różne sposoby, w celu wykorzystania ich z różnymi narzędziami lub procesami biznesowymi.

Dostępność hurtowni danych w chmurze, które przechowują i przetwarzają dane w sposób opłacalny zmienia sposób, w jaki firmy zarządzają swoimi danymi. Przejście od lokalnych serwerów do hurtowni danych w chmurze powoduje przejście z ETL do ELT.

ELT, w którym wyładowanie danych i umieszczenie ich w docelowej hurtowni przebiega w dwóch krokach, skraca czas ładowania danych. Organizacje mogą przekształcić i pobierać dane, kiedy tylko jest to konieczne z punktu widzenia odpowiedniego momentu użycia, a nie jako krok w przepływie danych.

Warunki sprawnego ELT

Wykorzystując ELT firmy muszą posiadać silniki przetwarzania, służące do efektywnego przekształcania danych w samym systemie docelowym (takie jak dbt). ELT wydaje się być idealnym rozwiązaniem gdy miejscem docelowym są hurtownie danych w chmurze, takie jak: Amazon Redshift, Google BigQuery, Snowflake, Microsoft Azure.

Wspieramy wdrożenia automatycznych przepływów danych z użyciem narzędzia Fivetran oraz dbt. Polecamy to rozwiązanie ze względu na praktycznie nieograniczone możliwości użycia natywnych konektorów, do każdego źródła danych z kategorii: CRM, Digital Marketing, Service, Events.

Proces ETL w kontekście docelowej hurtowni danych

Hurtownie danych OLAP (Online Analytical Processing) — zarówno w chmurze, jak i te tradycyjne — pracują z relacyjnymi strukturami danych opartymi na SQL. Dlatego wszelkie dane ładowane do hurtowni danych OLAP muszą zostać przekształcone do formatu relacyjnego, zanim hurtownia danych będzie mogła je przetworzyć. Transformacja danych może wymagać mapowania danych w celu połączenia wielu źródeł danych w oparciu o skorelowane informacje (aby później program Business Intelligence mógł analizować informacje jako pojedynczą, zintegrowaną jednostkę). Hurtownie danych wymagają ETL — ponieważ przekształcenia muszą nastąpić przed załadowaniem. Oto kilka szczegółów, które warto poznać na temat ETL:

  • Ciągły, nieprzerwany proces z dobrze zdefiniowanym przepływem pracy: ETL najpierw wyodrębnia dane z jednorodnych lub heterogenicznych źródeł danych. Następnie przenosi dane do obszaru tymczasowego (staging). Tam dane przechodzą czyszczenie, są wzbogacane i przekształcane, a na koniec są umieszczane w hurtowni danych.
  • Proces ETL wymagał kiedyś szczegółowego planowania, nadzoru i kodowania przez inżynierów danych i programistów. Ręczne kodowanie transformacji ETL w hurtowniach danych zajmowały ogromną ilość czasu. W sytuacji aktualizacji danych, potrzeba było dużo czasu aby dane przeszły każdy etap.

Nowoczesne rozwiązania ETL są prostsze i szybsze: Nowoczesne ETL, zwłaszcza w przypadku chmurowych hurtowni danych i chmurowych platform SaaS, przebiega znacznie szybciej. Korzystając z rozwiązania ETL, takiego jak Alteryx, użytkownicy mogą szybko wyodrębniać, przekształcać i ładować swoje dane z różnych źródeł bez konieczności posiadania specjalistycznej wiedzy programistycznej.

Szczegóły procesu ELT

Hurtownie danych są wykorzystywane do wykonania podstawowych przekształceń. Oznacza to, że nie ma potrzeby przechowywania dużej ilości przekształconych danych. ELT wykorzystuje oparte na chmurze rozwiązania hurtowni dla różnych typów danych - w tym ustrukturyzowanych, nieustrukturyzowanych, częściowo ustrukturyzowanych, a także surowych danych.

Proces ELT działa sprawnie również z Data Lakes. Są to specjalne rodzaje magazynów, które — w przeciwieństwie do hurtowni danych OLAP — akceptują wszelkiego rodzaju dane niestrukturyzowane. Nie wymagają przekształcania danych przed ich załadowaniem. Można natychmiast załadować dowolny rodzaj surowych danych do Data Lake, bez względu na format, a nawet jego brak.

Transformacja danych jest niezbędna przed analizą danych. Jednak po ich załadowaniu do Data Lake następuje czyszczenie, wzbogacanie i przekształcanie danych. Oto kilka szczegółów dotyczących ELT i data lakes, które warto znać:

  • ELT to nowsze podejście oparte na szybkich serwerach chmurowych.
  • ELT w połączeniu z data lake umożliwia natychmiastowe przyjmowanie stale powiększającej się puli surowych danych. Nie ma potrzeby przekształcania danych do specjalnego formatu przed zapisaniem ich w data lake.
  • ELT przekształca tylko dane wymagane do określonej analizy. Chociaż może spowolnić proces analizowania danych, zapewnia większą elastyczność — ponieważ można na bieżąco przekształcać dane na różne sposoby, aby tworzyć różne rodzaje metryk, prognoz i raportów.

ETL vs ELT - zestawienie cech

Rozmiar danych a złożoność przekształceń

ETL najlepiej nadaje się do obsługi mniejszych zestawów danych, które wymagają złożonych przekształceń. ELT najlepiej sprawdza się w przypadku procesowania danych o ogromnych wolumenach, które są nieustrukturyzowane.

Obsługa hurtowni danych

ETL współpracuje z hurtowniami danych w chmurze i na miejscu. Wymaga relacyjnego lub strukturalnego formatu danych. ELT współpracuje z opartymi na chmurze rozwiązaniami do magazynowania danych w celu obsługi ustrukturyzowanych, nieustrukturyzowanych, częściowo ustrukturyzowanych i nieprzetworzonych typów danych.

Różnice w agregacjach

W ETL agregacje są tym bardziej skomplikowane, im większy jest rozmiar zestawu danych. W ELT dopóki dysponujesz potężnym, docelowym systemem danych w chmurze, możesz szybko przetwarzać ogromne ilości danych.

Proces transformacji

W ETL transformacje zachodzą w staging area poza obszarem bazy danych. W ELT transformacje zachodzą w samym systemie danych i nie ma potrzeby tworzenia przestrzeni tymczasowej.

Obsługa danych nieustrukturyzowanych

ETL może być używany do strukturyzowania danych niejednolitych, ale nie może być używany do przekazywania danych nieustrukturyzowanych do systemu docelowego. ELT to prosty sposób przesyłania nieustrukturyzowanych danych do Data Lakes i udostępniania ich systemom analizy biznesowej.

Czas oczekiwania na załadowanie danych

Czasy ładowania ETL są dłuższe niż ELT, ponieważ jest to proces wieloetapowy: (1) ładowanie danych do staging, (2) transformacja, (3) ładowanie danych do hurtowni danych. Sama analiza danych jest szybsza niż w ELT.

W ELT ładowanie danych odbywa się szybciej, ponieważ nie trzeba czekać na przekształcenia, a dane są ładowane do docelowego systemu danych tylko raz. Jednak analiza informacji jest wolniejsza niż ETL.

Czas oczekiwania na wykonanie transformacji

W ETL transformacje danych zajmują początkowo więcej czasu, ponieważ każdy element danych wymaga transformacji przed załadowaniem. W ELT przekształcenia następują po załadowaniu, w miarę potrzeb. Przekształcasz szybko tylko dane, które w danym momencie chcesz przeanalizować. Jednak konieczność ciągłego przekształcania danych spowalnia łączny czas wykonywania zapytań/analizy.

Dowiedz się więcej!