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.

ETL - kiedy stosować?

Proces ETL (Extract, Transform, Load) był chronologicznie pierwszy, jego początki sięgają lat 70-tych. Składa się on z ekstrakcji, transformacji i ładowania - są to trzy rodzaje działań dobrze znane wszystkim pracującym ze źródłami i bazami danych. Aktualnie istnieje wiele możliwości zarządzania całym procesem ETL w jednym narzędziu.

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

Proces ETL przekształca dane (transform) przed etapem ładowania (load), 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.

W organizacjach, w których przykłada się dużą wagę do decyzji podejmowanych w oparciu o dane, często zdarzają sytuacje, w których przepływ ETL musi zostać zmieniony. Pierwsza z nich, gdy zmieniają się schematy poprzedzające. Unieważnienie kodu, uniemożliwia przekształcenie danych surowych w pożądane modele danych. Dzieje się tak, gdy pola są dodawane, usuwane lub zmieniane u źródła.

Druga sytuacja, gdy dalsze analizy wymagają zmian, co wymaga przepisania kodu transformacji w celu utworzenia nowych modeli danych. Zwykle dzieje się tak, gdy analityk chce zbudować dashboard lub raport, który wymaga danych w konfiguracji, która jeszcze nie istnieje.

Narzędzia ETL

Proces ETL wiąże się z wyzwaniami, wynikającymi z potrzebnymi zmianami kodu bazowego:

  • Ciągła konserwacja — ponieważ przepływ danych zarówno wyodrębnia, jak i przekształca dane, w momencie zmiany schematów poprzedzających lub konieczności zmiany modeli danych niższego szczebla, przepływ ulega przerwaniu i często wymagana jest rewizja kodu oprogramowania ETL.
  • Dostosowanie i złożoność — przepływy danych nie tylko wyodrębniają dane, ale także wykonują zaawansowane transformacje dostosowane do konkretnych potrzeb analitycznych użytkowników końcowych. Oznacza to dużo niestandardowego kodu.
  • Pracochłonność i koszty — ponieważ system działa na bazie kodu na zamówienie, do jego budowy i utrzymania potrzebny jest zespół dedykowanych inżynierów danych.
  • Wyzwania te wynikają z kluczowego kompromisu dokonanego w ramach ETL, jakim jest oszczędzanie zasobów obliczeniowych i magazynowych kosztem pracy.

Wdrożenia procesów ETL mogą jednak być łatwiejsze, niż opisane wyżej. Pomagamy zaoszczędzić czas przeznaczany na ponowne odbudowywanie procesu. Wykorzystujemy narzędzie ETL - Alteryx, w którym można modyfikować proces bez konieczności kodowania. Dzięki temu, 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.

Nowoczesne rozwiązania ETL są prostsze i szybsze. Zwłaszcza w przypadku chmurowych hurtowni danych i chmurowych platform SaaS, akcje "extract transform" przebiegają 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.

etl w alteryx

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

Najnowsze technologie ELT

Dzięki postępowi technologicznemu usługi w chmurze stały się bardziej dostępne. Postępy w zakresie mocy obliczeniowej, pamięci masowej i szybkości Internetu sprawiły, że praktyczna jest zmiana kolejności przepływu pracy potrzebnej do integracji danych.  ELT (Extract, Load, Transform), w którym wyładowanie danych i umieszczenie ich w docelowej hurtowni przebiega w dwóch krokach, skraca czas ich ładowania. 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. 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. Innymi słowy, firmy mają teraz możliwość szybkiego i skutecznego zarządzania ilością, różnorodnością i złożonością swoich danych.

ELT alternatywa dla ETL

ELT zapobiega dwóm rodzajom awarii typowych w ETL (tj. zmiany schematów upstream i modeli danych downstream) na ekstrakcję i ładowanie, co prowadzi do prostszego i bardziej niezawodnego podejścia do integracji danych.

W przeciwieństwie do ETL, przepływ pracy ELT charakteryzuje się krótszym cyklem:

  1. Identyfikacja źródeł danych
  2. Automatyczna ekstrakcja i ładowanie
  3. Określanie potrzeby analitycznych, które projekt ma rozwiązać
  4. Tworzenie modeli danych, poprzez budowanie przekształceń
  5. Prowadzenie prac analitycznych

Do wykonania podstawowych przekształceń, wykorzystywane są hurtownie danych. 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. 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.

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.

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!