Proces ETL (wyodrębnij, przekształć i załaduj) w hurtowni danych
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.) i na koniec ładuje dane do systemu hurtowni danych. Pełna forma ETL to wyodrębnianie, przekształcanie i ładowanie.
Można by pomyśleć, że tworzenie magazynu danych polega po prostu na wyodrębnianiu danych z wielu źródeł i ładowaniu ich do bazy danych magazynu danych. Jest to dalekie od prawdy i wymaga złożonego procesu ETL. Proces ETL wymaga aktywnego udziału różnych interesariuszy, w tym programistów, analityków, testerów, kadry kierowniczej wyższego szczebla i jest technicznie trudny.
Aby zachować swoją wartość jako narzędzia dla decydentów, system hurtowni danych musi zmieniać się wraz ze zmianami biznesowymi. ETL to powtarzająca się czynność (codzienna, cotygodniowa, comiesięczna) systemu hurtowni danych, która musi być elastyczna, zautomatyzowana i dobrze udokumentowana.
Dlaczego potrzebujesz ETL?
Powodów wdrożenia ETL w organizacji jest wiele:
- Pomaga firmom analizować dane biznesowe w celu podejmowania kluczowych decyzji biznesowych.
- Bazy danych transakcyjnych nie są w stanie udzielić odpowiedzi na złożone pytania biznesowe, na które można odpowiedzieć np. metodą ETL.
- Hurtownia danych zapewnia wspólne repozytorium danych
- ETL zapewnia metodę przenoszenia danych z różnych źródeł do hurtowni danych.
- W przypadku zmiany źródeł danych Hurtownia danych będzie automatycznie aktualizowana.
- Dobrze zaprojektowany i udokumentowany system ETL jest niemal niezbędny do powodzenia projektu hurtowni danych.
- Pozwól na weryfikację reguł transformacji, agregacji i obliczeń danych.
- Proces ETL umożliwia porównanie przykładowych danych pomiędzy systemem źródłowym i docelowym.
- Proces ETL może wykonywać złożone transformacje i wymaga dodatkowej przestrzeni do przechowywania danych.
- ETL pomaga w migracji danych do hurtowni danych. Konwertuj na różne formaty i typy, aby zachować jeden spójny system.
- ETL to predefiniowany proces uzyskiwania dostępu do danych źródłowych i manipulowania nimi w docelowej bazie danych.
- ETL w hurtowni danych oferuje głęboki kontekst historyczny dla biznesu.
- Pomaga zwiększyć produktywność, ponieważ koduje i ponownie wykorzystuje bez konieczności posiadania umiejętności technicznych.
Proces ETL w hurtowniach danych
ETL to proces składający się z trzech etapów
Krok 1) Ekstrakcja
Na tym etapie architektury ETL dane są wyodrębniane z systemu źródłowego do obszaru przejściowego. Transformacje, jeśli takie są, są wykonywane w obszarze przejściowym, 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 Data warehouse, wycofanie będzie wyzwaniem. Obszar przejściowy daje możliwość sprawdzenia poprawności wyodrębnionych danych przed przeniesieniem ich do Data warehouse.
Hurtownia danych musi integrować systemy, które mają różne
DBMS, sprzęt, OperaSystemy tingowe i protokoły komunikacyjne. Źródła mogą obejmować starsze aplikacje, takie jak komputery mainframe, aplikacje niestandardowe, urządzenia punktów kontaktowych, takie jak bankomaty, przełączniki połączeń, pliki tekstowe, arkusze kalkulacyjne, systemy ERP, dane od dostawców i partnerów, między innymi.
Dlatego potrzebna jest logiczna mapa danych, zanim dane zostaną wyodrębnione i fizycznie załadowane. Ta mapa danych opisuje relację między danymi źródłowymi i docelowymi.
Trzy metody ekstrakcji danych:
- Pełna ekstrakcja
- Częściowa ekstrakcja - bez powiadomienia o aktualizacji.
- Częściowa ekstrakcja – z powiadomieniem o aktualizacji
Niezależnie od zastosowanej metody ekstrakcja nie powinna wpływać na wydajność i czas reakcji systemów źródłowych. Te systemy źródłowe są działającymi bazami danych. Każde spowolnienie lub zablokowanie może mieć wpływ na wyniki finansowe firmy.
Podczas ekstrakcji przeprowadzane są pewne weryfikacje:
- Uzgodnij zapisy z danymi źródłowymi
- Upewnij się, że nie załadowano żadnego spamu/niechcianych danych
- Kontrola typu danych
- Usuń wszystkie typy zduplikowanych/fragmentowanych danych
- Sprawdź, czy wszystkie klucze są na swoim miejscu, czy nie
Krok 2) Transformacja
Dane wyodrębnione z serwera źródłowego są surowe i nie nadają się do wykorzystania w oryginalnej formie. Dlatego należy go oczyścić, zmapować i przekształcić. W rzeczywistości jest to kluczowy etap, w którym proces ETL dodaje wartość i zmienia dane w taki sposób, że można wygenerować wnikliwe raporty BI.
Jest to jedna z ważnych koncepcji ETL, w której stosujesz zestaw funkcji do wyodrębnionych danych. Dane, które nie wymagają żadnej transformacji, nazywane są bezpośredni ruch or przepuszczać dane.
W kroku transformacji możesz wykonywać niestandardowe operacje na danych. Na przykład, jeśli użytkownik chce sumę przychodów ze sprzedaży, których nie ma w bazie danych. Lub jeśli imię i nazwisko w tabeli znajdują się w różnych kolumnach. Można je połączyć przed załadowaniem.
Poniżej znajdują się dane Integrity Problemy:
- Inna pisownia tej samej osoby, np. Jon, John itp.
- Istnieje wiele sposobów oznaczenia nazwy firmy, np. Google, Google Inc.
- Używanie różnych nazw, takich jak Cleaveland, Cleveland.
- Może się zdarzyć, że różne aplikacje wygenerują dla tego samego klienta różne numery kont.
- W przypadku niektórych danych wymagane pliki pozostają puste
- Nieprawidłowy produkt odebrany w punkcie sprzedaży podczas ręcznego wprowadzania może prowadzić do błędów.
Na tym etapie przeprowadzana jest weryfikacja
- Filtrowanie — wybierz tylko niektóre kolumny do załadowania
- Używanie reguł i tabel przeglądowych do standaryzacji danych
- Konwersja zestawu znaków i obsługa kodowania
- Konwersja jednostek miary, np. konwersja daty i godziny, konwersja walut, konwersja numeryczna itp.
- Sprawdzanie poprawności progu danych. Na przykład wiek nie może mieć więcej niż dwie cyfry.
- Walidacja przepływu danych z obszaru tymczasowego do tabel pośrednich.
- Pola wymagane nie powinny pozostać puste.
- Czyszczenie (na przykład mapowanie NULL na 0 lub płeć męska na „M” i żeńska na „F” itp.)
- Podziel kolumnę na wielokrotności i połącz wiele kolumn w jedną.
- Transpozycja wierszy i kolumn,
- Użyj wyszukiwań, aby scalić dane
- Korzystanie z dowolnej złożonej walidacji danych (np. jeśli pierwsze dwie kolumny w wierszu są puste, to wiersz jest automatycznie odrzucany z przetwarzania)
Krok 3) Ładowanie
Ładowanie danych do docelowej bazy danych hurtowni danych jest ostatnim krokiem procesu ETL. W typowej hurtowni danych trzeba załadować ogromną ilość danych w stosunkowo krótkim czasie (noce). Dlatego proces ładowania powinien być zoptymalizowany pod kątem wydajności.
W przypadku awarii obciążenia należy skonfigurować mechanizmy odtwarzania tak, aby uruchamiały się ponownie od miejsca awarii bez utraty integralności danych. Administratorzy hurtowni danych muszą monitorować, wznawiać i anulować ładowanie w zależności od aktualnej wydajności serwera.
Rodzaje załadunku:
- Początkowe obciążenie — zapełnienie wszystkich tabel hurtowni danych
- Obciążenie przyrostowe — wprowadzanie ciągłych zmian w razie potrzeby okresowo.
- Pełne odświeżenie —kasowanie zawartości jednej lub więcej tabel i ponowne ładowanie świeżymi danymi.
Weryfikacja obciążenia
- Upewnij się, że kluczowych danych pola nie brakuje ani nie mają wartości null.
- Testuj widoki modelowania w oparciu o tabele docelowe.
- Sprawdź, czy połączone wartości i obliczone miary.
- Sprawdzanie danych w tabeli wymiarów i tabeli historii.
- Sprawdź raporty BI w załadowanej tabeli faktów i wymiarów.
Narzędzia ETL
Jest wiele Narzędzia ETL są dostępne na rynku. Oto kilka najbardziej znanych:
1. Logika znaku:
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. Oracle:
Oracle jest wiodącą w branży bazą danych. Oferuje szeroki wybór rozwiązań Data Warehouse zarówno na miejscu, jak i w chmurze. Pomaga optymalizować doświadczenia klientów poprzez zwiększanie wydajności operacyjnej.
https://www.oracle.com/index.html
3. Amazon CzerwonyShift:
Amazon Redshift to narzędzie Datawarehouse. Jest to proste i niedrogie narzędzie do analizy wszystkich typów danych przy użyciu standardowych SQL i istniejących narzędzi BI. Umożliwia również uruchamianie złożonych zapytań na petabajtach ustrukturyzowanych danych.
https://aws.amazon.com/redshift/?nc2=h_m1
Oto pełna lista przydatnych Narzędzia hurtowni danych.
Najlepsze praktyki Proces 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 mieć wszystkie dane czyste, ale większość z nich nie jest gotowa płacić za czekanie lub nie jest gotowa na czekanie. Wyczyszczenie tego wszystkiego zajęłoby po prostu zbyt dużo czasu, więc lepiej nie próbować czyścić wszystkich danych.
Nigdy nie czyść niczego:
Zawsze planuj coś wyczyścić, ponieważ najważniejszym powodem budowania hurtowni danych jest zapewnienie czystszych i bardziej niezawodnych danych.
Określ koszt oczyszczenia danych:
Przed wyczyszczeniem wszystkich zanieczyszczonych danych ważne jest, aby określić koszt czyszczenia każdego zanieczyszczonego elementu danych.
Aby przyspieszyć przetwarzanie zapytań, należy mieć widoki pomocnicze i indeksy:
Aby zmniejszyć koszty przechowywania, przechowuj podsumowane dane na taśmach dyskowych. Ponadto wymagany jest kompromis między ilością przechowywanych danych a ich szczegółowym wykorzystaniem. Kompromis na poziomie szczegółowości danych w celu zmniejszenia kosztów przechowywania.
Podsumowanie
- ETL oznacza wyodrębnienie, przekształcenie i załadowanie.
- ETL zapewnia metodę przenoszenia danych z różnych źródeł do pliku hurtownia danych.
- W pierwszym etapie ekstrakcji dane są wyodrębniane z systemu źródłowego do obszaru tymczasowego.
- Na etapie transformacji dane wyodrębnione ze źródła są oczyszczane i przekształcane.
- Ładowanie danych do docelowej hurtowni danych jest ostatnim krokiem procesu ETL.