Proces ETL (wyodrębnianie, przekształcanie i ładowanie) w hurtowni danych

Spisie treści:

Anonim

Co to jest ETL?

ETL to proces, który wyodrębnia dane z różnych systemów źródłowych, następnie przekształca je (np. Stosując obliczenia, konkatenacje itp.), A na koniec ładuje dane do systemu Hurtowni Danych. Pełna forma ETL to wyodrębnianie, przekształcanie i ładowanie.

Kuszące jest myślenie, że tworzenie hurtowni danych to po prostu wyodrębnianie danych z wielu źródeł i ładowanie ich do bazy danych hurtowni danych. Jest to dalekie od prawdy i wymaga złożonego procesu ETL. Proces ETL wymaga aktywnego wkładu różnych interesariuszy, w tym programistów, analityków, testerów, kadry kierowniczej i jest trudny technicznie.

Aby zachować swoją wartość jako narzędzia dla decydentów, hurtownia danych musi zmieniać się wraz ze zmianami biznesowymi. ETL to cykliczna czynność (codziennie, co tydzień, co miesiąc) systemu hurtowni danych, która musi być elastyczna, zautomatyzowana i dobrze udokumentowana.

W tym samouczku ETL nauczysz się:

  • Co to jest ETL?
  • Dlaczego potrzebujesz ETL?
  • Proces ETL w hurtowniach danych
  • Krok 1) Ekstrakcja
  • Krok 2) Transformacja
  • Krok 3) Ładowanie
  • Narzędzia ETL
  • Najlepsze praktyki w procesie ETL

Dlaczego potrzebujesz ETL?

Istnieje wiele powodów, dla których warto wdrożyć ETL w organizacji:

  • Pomaga firmom analizować dane biznesowe w celu podejmowania krytycznych decyzji biznesowych.
  • Transakcyjne bazy danych nie mogą odpowiadać na złożone pytania biznesowe, na które można odpowiedzieć na przykładzie ETL.
  • Hurtownia danych zapewnia wspólne repozytorium danych
  • ETL zapewnia metodę przenoszenia danych z różnych źródeł do hurtowni danych.
  • Gdy zmieniają się źródła danych, hurtownia danych będzie aktualizowana automatycznie.
  • Dobrze zaprojektowany i udokumentowany system ETL jest prawie niezbędny do powodzenia projektu hurtowni danych.
  • Umożliwiają weryfikację zasad transformacji, agregacji i obliczeń danych.
  • Proces ETL umożliwia porównanie przykładowych danych między systemem źródłowym i docelowym.
  • Proces ETL może wykonywać złożone transformacje i wymaga dodatkowego obszaru do przechowywania danych.
  • ETL pomaga w migracji danych do hurtowni danych. Konwertuj na różne formaty i typy, aby zachować zgodność z jednym spójnym systemem.
  • ETL to predefiniowany proces uzyskiwania dostępu do danych źródłowych w docelowej bazie danych i manipulowania nimi.
  • ETL w hurtowni danych oferuje głęboki kontekst historyczny dla biznesu.
  • Pomaga poprawić produktywność, ponieważ kodyfikuje i wykorzystuje ponownie bez potrzeby posiadania umiejętności technicznych.

Proces ETL w hurtowniach danych

ETL to 3-etapowy proces

Proces ETL

Krok 1) Ekstrakcja

Na tym etapie architektury ETL dane są wyodrębniane z systemu źródłowego do obszaru przemieszczania. Transformacje, jeśli takie istnieją, są wykonywane w obszarze przejściowym, tak aby wydajność systemu źródłowego nie uległa pogorszeniu. Ponadto, jeśli uszkodzone dane są kopiowane bezpośrednio ze źródła do bazy danych hurtowni danych, wyzwaniem będzie wycofanie zmian. Obszar przejściowy daje możliwość sprawdzenia wyodrębnionych danych przed ich przeniesieniem do hurtowni danych.

Hurtownia danych musi integrować systemy, które mają różne

DBMS, sprzęt, systemy operacyjne i protokoły komunikacyjne. Źródła mogą obejmować starsze aplikacje, takie jak komputery mainframe, aplikacje dostosowane, urządzenia kontaktowe, takie jak bankomaty, przełączniki połączeń, pliki tekstowe, arkusze kalkulacyjne, ERP, dane od dostawców i partnerów.

Dlatego potrzebna jest logiczna mapa danych, zanim dane zostaną wyodrębnione i załadowane fizycznie. Ta mapa danych opisuje relacje między źródłami a danymi docelowymi.

Trzy metody ekstrakcji danych:

  1. Pełna ekstrakcja
  2. Częściowe wyodrębnianie - bez powiadomienia o aktualizacji.
  3. Częściowe wyodrębnianie - z powiadomieniem o aktualizacji

Niezależnie od zastosowanej metody ekstrakcja nie powinna wpływać na wydajność i czas odpowiedzi systemów źródłowych. Te systemy źródłowe to produkcyjne bazy danych na żywo. Każde spowolnienie lub zablokowanie może wpłynąć na wyniki finansowe firmy.

Niektóre walidacje są wykonywane podczas wyodrębniania:

  • Uzgodnij rekordy z danymi źródłowymi
  • Upewnij się, że żaden spam / niechciane dane nie zostały załadowane
  • Kontrola typu danych
  • Usuń wszystkie typy zduplikowanych / pofragmentowanych danych
  • Sprawdź, czy wszystkie klucze są na miejscu, czy nie

Krok 2) Transformacja

Dane wyodrębnione z serwera źródłowego są surowe i nie nadają się do użytku w swojej oryginalnej postaci. Dlatego należy go oczyścić, zmapować i przekształcić. W rzeczywistości jest to kluczowy krok, w którym proces ETL dodaje wartości i zmienia dane, tak aby można było generować wnikliwe raporty BI.

Jest to jedna z ważnych koncepcji ETL, w której stosuje się zestaw funkcji do wyodrębnionych danych. Dane, które nie wymagają żadnej transformacji, są nazywane bezpośrednim przenoszeniem lub przekazywaniem danych .

Na etapie transformacji można wykonywać niestandardowe operacje na danych. Na przykład, jeśli użytkownik chce sumy przychodów ze sprzedaży, której nie ma w bazie danych. Lub jeśli imię i nazwisko w tabeli znajdują się w różnych kolumnach. Możliwe jest połączenie ich przed załadowaniem.

Problemy z integracją danych

Poniżej przedstawiono problemy z integralnością danych:

  1. Inna pisownia tej samej osoby, np. Jon, John itp.
  2. Istnieje wiele sposobów oznaczenia nazwy firmy, takiej jak Google, Google Inc.
  3. Używanie różnych nazw, takich jak Cleaveland, Cleveland.
  4. Może się zdarzyć, że różne numery kont są generowane przez różne aplikacje dla tego samego klienta.
  5. W niektórych plikach wymagane dane pozostają puste
  6. Nieprawidłowy produkt odebrany w punkcie sprzedaży, ponieważ ręczne wprowadzanie może prowadzić do błędów.

Walidacje są wykonywane na tym etapie

  • Filtrowanie - wybierz tylko określone kolumny do załadowania
  • Używanie reguł i tabel przeglądowych do standaryzacji danych
  • Konwersja zestawu znaków i obsługa kodowania
  • Konwersja jednostek miar, takich jak konwersja daty i godziny, przeliczanie walut, przeliczanie liczb itp.
  • Kontrola poprawności progu danych. Na przykład wiek nie może składać się z więcej niż dwóch cyfr.
  • Walidacja przepływu danych z obszaru pomostowego do tabel pośrednich.
  • Wymagane pola nie powinny być puste.
  • Czyszczenie (na przykład mapowanie NULL na 0 lub Gender Male na „M” i Female na „F” itp.)
  • Podziel kolumnę na wielokrotności i scal wiele kolumn w jedną.
  • Transpozycja wierszy i kolumn,
  • Użyj wyszukiwań, aby scalić dane
  • Korzystanie ze złożonej weryfikacji danych (np. Jeśli pierwsze dwie kolumny w wierszu są puste, automatycznie odrzuca wiersz z przetwarzania)

Krok 3) Ładowanie

Ładowanie danych do bazy danych docelowego magazynu danych jest ostatnim krokiem procesu ETL. W typowej hurtowni danych ogromne ilości danych muszą zostać załadowane w stosunkowo krótkim czasie (noce). Dlatego proces ładowania powinien być zoptymalizowany pod kątem wydajności.

W przypadku awarii obciążenia mechanizmy odzyskiwania należy skonfigurować tak, aby uruchamiały się ponownie od momentu awarii bez utraty integralności danych. Administratorzy hurtowni danych muszą monitorować, wznawiać i anulować obciążenia zgodnie z dominującą wydajnością serwera.

Rodzaje załadunku:

  • Initial Load - zapełnianie wszystkich tabel hurtowni danych
  • Obciążenie przyrostowe - okresowe wprowadzanie bieżących zmian w razie potrzeby.
  • Pełne odświeżanie - kasowanie zawartości jednej lub więcej tabel i ponowne ładowanie świeżych danych.

Weryfikacja obciążenia

  • Upewnij się, że dane pola klucza nie są puste ani puste.
  • Przetestuj widoki modelowania na podstawie tabel docelowych.
  • Sprawdź, czy połączone wartości i obliczone miary.
  • Sprawdzanie danych w tabeli wymiarów oraz w tabeli historii.
  • Sprawdź raporty BI na załadowanej tabeli faktów i wymiarów.

Narzędzia ETL

Na rynku dostępnych jest wiele narzędzi do hurtowni danych. Oto niektóre z najważniejszych:

1. MarkLogic:

MarkLogic to rozwiązanie do hurtowni danych, które ułatwia i przyspiesza integrację danych przy użyciu szeregu funkcji korporacyjnych. Może wysyłać zapytania do różnych typów danych, takich jak dokumenty, relacje i metadane.

https://www.marklogic.com/product/getting-started/


2. Wyrocznia:

Oracle to wiodąca w branży baza danych. Oferuje szeroki wybór rozwiązań hurtowni danych zarówno lokalnie, jak iw chmurze. Pomaga zoptymalizować doświadczenia klientów poprzez zwiększenie wydajności operacyjnej.

https://www.oracle.com/index.html


3. Amazon RedShift:

Amazon Redshift to narzędzie Datawarehouse. Jest to proste i ekonomiczne narzędzie do analizy wszystkich typów danych przy użyciu standardowego języka SQL i istniejących narzędzi BI. Umożliwia także uruchamianie złożonych zapytań w petabajtach danych strukturalnych.

https://aws.amazon.com/redshift/?nc2=h_m1

Oto pełna lista przydatnych narzędzi hurtowni danych.

Najlepsze praktyki w procesie ETL

Poniżej przedstawiono najlepsze praktyki dotyczące etapów procesu ETL:

Nigdy nie próbuj czyścić wszystkich danych:

Każda organizacja chciałaby, aby wszystkie dane były czyste, ale większość z nich nie jest gotowa zapłacić za czekanie lub nie jest gotowa czekać. Czyszczenie tego wszystkiego zajęłoby po prostu zbyt dużo czasu, więc lepiej nie próbować czyścić wszystkich danych.

Nigdy niczego nie czyść:

Zawsze planuj wyczyszczenie czegoś, ponieważ największym powodem tworzenia hurtowni danych jest oferowanie czystszych i bardziej niezawodnych danych.

Określ koszt czyszczenia danych:

Przed wyczyszczeniem wszystkich brudnych danych ważne jest, aby określić koszt czyszczenia każdego brudnego elementu danych.

Aby przyspieszyć przetwarzanie zapytań, przygotuj dodatkowe widoki i indeksy:

Aby obniżyć koszty przechowywania, przechowuj podsumowane dane na taśmach dyskowych. Wymagany jest również kompromis między ilością danych, które mają być przechowywane, a ich szczegółowym wykorzystaniem. Kompromis na poziomie szczegółowości danych w celu zmniejszenia kosztów przechowywania.

Podsumowanie:

  • ETL oznacza wyodrębnianie, przekształcanie i ładowanie.
  • ETL zapewnia metodę przenoszenia danych z różnych źródeł do hurtowni danych.
  • W pierwszym etapie ekstrakcji dane są pobierane z systemu źródłowego do obszaru przemieszczania.
  • Na etapie transformacji dane wyodrębnione ze źródła są czyszczone i przekształcane.
  • Ładowanie danych do docelowego magazynu danych jest ostatnim krokiem procesu ETL.