Jak zorganizować procesy ETL w organizacji? [artykuł]

lut 23, 2018

Business Intelligence

Alteryx

ETL

Procesy ETL stanowią nieodzowny element przedsięwzięcia, jakim jest Business Intelligence. Ich projektowanie, testowanie oraz nieustanne modyfikowanie rodzi jednak szereg wyzwań i trudności, z którymi każdego dnia zmagają się organizacje chcące opierać swoje procesy decyzyjne na analizie danych w czasie rzeczywistym. Jak zabrać się za planowanie procesów ETL w przedsiębiorstwie? Jakie narzędzia warto wziąć pod uwagę, myśląc o wydajności i optymalizacji procesów ekstrakcji, transformacji i ładowania danych?

Rola narzędzi ETL w systemach BI

Dane coraz częściej traktowane są przez organizacje jako jedna z najważniejszych wartości firmy. To właśnie dzięki ich gromadzeniu i analizach przeprowadzanych w czasie rzeczywistym organizacje mogą podejmować trafne decyzje biznesowe i budować trwałą przewagę konkurencyjną. Dzięki właściwemu wykorzystaniu danych przechowywanych w firmowych repozytoriach organizacje mogą nie tylko optymalizować koszty i doskonalić procesy biznesowe, ale również zwiększać sprzedaż, doskonalić kanały dystrybucji i tworzyć dokładniejsze prognozy. By jednak móc myśleć o wyciąganiu wniosków z analizowanych danych, konieczne jest uprzednie zaprojektowanie firmowej hurtowni i stałe zasilanie jej wartościowymi z punktu widzenia biznesu danymi. Pochodzące z różnych systemów Dan, nim trafią do centralnego repozytorium, muszą być odpowiednio przeformatowane, oczyszczone i wzbogacone funkcjonującymi w organizacji regułami biznesowymi, gdyż bez ich spójności i zintegrowania na poziomie całego przedsiębiorstwa prowadzenie zaawansowanych analiz mija się z celem. Jak doprowadzić dane do takiej postaci? Jakie działania pozwolą na zautomatyzowanie całego procesu transformacji?

Z pomocą przychodzą nowoczesne systemy ETL. Czym są narzędzia ETL? ETL to skrót od ang. Extract, Tansform i Load, terminów opisujących następując po sobie kroki ekstrakcji danych, ich transformacji i ładowania. W ramach pierwszego etapu następuje połączenie ze źródłem/źródłami danych, a w konsekwencji ich przeniesienie do centralnego repozytorium czyli hurtowni danych. Biorąc jednak pod uwagę fakt, iż surowe dane wymagają uprzedniego oczyszczenia i wzbogacenia, konieczny jest dodatkowy proces – transformacja danych. Ten etap procesów ETL jest niewątpliwie najbardziej złożony i czasochłonny. Rodzi również wiele wyzwań – mowa chociażby o prawidłowym zaprojektowaniu reguł biznesowych oraz doborze takich technik i narzędzi przetwarzania danych, które pozwolą przeprowadzić transformację w możliwie najkrótszym czasie. Zapewnienie możliwie najwyższej wydajności procesu to jedna z kluczowych misji developera ETL bądź realizującego jego zadania specjalisty Business Intelligence. Zwieńczenie procesu ETL stanowi zasilenie hurtowni danych przygotowanym w poprzednim kroku wsadem. Zadanie pozornie proste, aczkolwiek i w jego przypadku konieczne jest zastosowanie właściwych zabiegów, które korzystnie wpłyną na czas trwania całej operacji oraz wychwycenie wszelkich błędnych rekordów.

Nie sposób nie zauważyć, że proces ETL stanowi jeden z kluczowych elementów szeroko rozumianych działań, jakie swym zakresem obejmuje Business Intelligence – wg szacunków pochłania nawet 80% czasu oraz budżetu projektu. Można zatem powiedzieć, iż od jego skuteczności zależy powodzenie całego przedsięwzięcia. Niewłaściwie zaprojektowane procesy ETL, źle przygotowane dane bądź  ich częściowe pominięcie skutkować będą zniekształceniem wyników dalszych działań analitycznych, a w konsekwencji nieść za sobą ryzyko wystąpienia wielu niepożądanych konsekwencji. Błędna interpretacja danych oraz opieranie kluczowych decyzji biznesowych na błędnie przygotowanych prognozach mogą kosztować organizację niemałe pieniądze.

Jak budować procesy ETL w organizacji?

Niezwykle istotną kwestią podczas projektowania procesów ETL jest ich wieloaspektowa optymalizacja. Ekstrakcja, transformacja i zasilanie hurtowni danymi nie może trwać zbyt długo i generować nadmiernego obciążenia systemu. Co więcej, proces ETL nie może być zaprojektowany w sposób, który będzie generował niepotrzebne trudności w przypadku chęci jego modyfikacji. Otoczenie organizacji, a także potrzeby informacyjne osób decyzyjnych w firmie podlegają nieustannym zmianom, a rolą developera ETL jest nieustanne modyfikowanie funkcjonujących procesów i dostosowywanie ich do zmieniającego się zapotrzebowania informacyjnego przedsiębiorstwa. O ile wolumen danych gromadzonych przez organizację jest niewielki, bieżące zarządzanie oraz modyfikowanie procesów ETL nie przysparza zwykle większych trudności. Problemy i wyzwania pojawiają się zwykle w przypadku organizacji funkcjonujących w świecie Big Data. W ich przypadku wykorzystanie zaawansowanych narzędzi ekstrakcji, transformacji i ładowania danych staje się wręcz koniecznością.

Jak właściwie zorganizować procesy ETL w organizacji? Nie ma jednoznacznej odpowiedzi na tak postawione pytanie, gdyż każdorazowo jest to kwestia indywidualna, wymagająca przeprowadzenia gruntowanych analiz. Podkreślenia wymaga fakt, iż realizacja założonego planu z pewnością nie będzie procesem krótkotrwałym. Nierzadko faza projektowania, testowania i tworzenia dokumentacji pochłania kilka, o ile nie kilkanaście miesięcy. Czas trwania wdrożenia zależny jest również od obranej ścieżki – organizacja może się bowiem zdecydować na rozwiązanie szyte na miarę bądź skorzystanie z jednego z wielu dostępnych na rynku narzędzi ETL. Zarówno pierwsza jak i druga opcja ma swoje wady i zalety, generuje odmienne koszty i rodzi określone wyzwania. Projektowanie procesów ETL od podstaw, odpowiadających potrzebom istniejącego już w organizacji systemu Business Intelligence, to rozwiązanie niewątpliwie bardziej czaso- i pracochłonne, aczkolwiek nierzadko korzystniejsze z ekonomicznego punktu widzenia. Mowa zarówno o kosztach wdrożenia, szczególnie przy wykorzystaniu własnych zasobów kadrowych, a także kosztach późniejszego utrzymania – opłaty licencyjne stosowane przez dostawców profesjonalnych narzędzi ETL nierzadko bywają bardzo wysokie.

Choć rozwiązania tworzone na potrzeby konkretnych systemów BI cechują się wysoką elastycznością w zakresie przetwarzania czy ładowania danych, pozostają zwykle stosunkowo niskowydajne i pozbawione wielu automatycznych mechanizmów. Niedoskonałości te doskonale rekompensują profesjonalne narzędzie ETL. Nie dość, że posiadają szereg wbudowanych konektorów, dzięki którym łączą się z najróżniejszymi źródłami danych, posiadają również całą paletę wbudowanych mechanizmów ułatwiających raportowanie, rejestrowanie czy harmonogramowanie zadań. Za wygodę i wysoką wydajność trzeba jednak słono zapłacić. Między innymi z tych względów podjęcie decyzji o wyborze optymalnej metody budowy procesów ETL w organizacji nie jest tak prostym zadaniem, jak zwykło się sądzić.

Wiodące narzędzia ETL i ich możliwości

Rosnące wolumeny danych gromadzonych przez organizację, a także chęć ich niemalże natychmiastowego „tłumaczenia” na rekomendacje biznesowe, zmusza wiodących dostawców narzędzi ETL do nieustannego doskonalenia swoich produktów i uzupełniania ich o kolejne funkcjonalności. Wśród narzędzi, które w najróżniejszych rankingach i zestawieniach cieszą się wysokimi oceanami i pozytywnymi opiniami użytkowników wymienia się m. in. Alteryx, Pentaho Data Integration oraz Informatica – Power Center. Co przesądza o ich wysokiej pozycji w niezależnych zestawieniach?

Alteryx

Zgodnie z cyklicznie przygotowywanym raportem Gartnera „Magic Quadrant” Alteryx w swojej kategorii klasyfikowany jest od dłuższego czasu jako “Challenger”, co tylko potwierdza jego silną pozycję rynkową i ogromne aspiracje twórców narzędzia. Alteryx pozwala na automatyzację wielu czasochłonnych procesów związanych z danymi niezwykle efektywnie i bez konieczności znajomości języków programowania. Przejrzysty interfejs opiera się na technologii drag & drop, dzięki czemu zaprojektowanie dowolnego procesu ETL nie jest czynnością zarezerwowaną wyłącznie dla analityków znających SQL-a czy Pythona. Z zadaniem tym doskonale poradzi sobie każdy przedstawiciel biznesu, a dzięki możliwości pominięcia pośrednika w osobie analityka, czas niezbędny na wyciągnięcie wniosków z analizowanych danych skraca się do niezbędnego minimum. Prostota i intuicyjna obsługa to jednak nie jedyne zalety narzędzia. Wspomnieć warto m. in. o ogromnej wydajności, możliwości łączenia się z wieloma źródłami danych jednocześnie, rozlicznymi konektorami umożliwiającymi szybkie łączenie się z arkuszami kalkulacyjnymi, hurtowniami danych czy aplikacjami chmurowymi. Co więcej, Alteryx posiada szereg wbudowanych narzędzi do tworzenia analiz predykcyjnych, statystycznych i przestrzennych, a ponadto doskonale współpracuje z narzędziami BI takimi jak chociażby Tableau. Więcej o możliwościach narzędzia oraz stawianiu w nim pierwszych kroków przeczytasz w jednym z naszych wcześniejszych artykułów (link).

Pentaho Data Integration

Pentaho Data Integration to kolejne warte uwagi narzędzie ETL, które podobnie jak Alteryx ma wiele do zaoferowania. Cel przyświecający twórcom narzędzia był dokładnie taki sam – stworzyć proste w obsłudze narzędzie, umożliwiające pracę na danych pochodzących z najróżniejszych źródeł, bez konieczności posiadania kompetencji technicznych w zakresie programowania. Efekt ten udało się osiągnąć dzięki wykorzystaniu graficznej metody projektowania procesu oraz technologii drag & drop. Pracę ułatwiają ponadto: bogata biblioteka gotowych komponentów, które doskonale łączą się różnymi źródłami danych, przejrzyste widoki  służące do modelowania i wizualizowania danych w trakcie procesu przygotowywania danych oraz wbudowany debugger, wspierający testowanie i dostrajanie poszczególnych kroków tworzonego procesu. Zdaniem twórców intuicyjny zestaw narzędzi Pentaho przyspiesza projektowanie i wdrażanie analityki dużych zbiorów danych nawet piętnastokrotnie w porównaniu z technikami ręcznego kodowania.

Informatica – Power Center 

Ostatnim wśród rekomendowanych, aczkolwiek nieustępującym konkurentom pod względem możliwości i efektywności, narzędziem ETL, o którym warto wspomnieć jest Informatica – Power Center. O jego popularności i funkcjonalności świadczyć może chociażby fakt, iż wykorzystywane jest przez wiele wiodących organizacji reprezentujących najróżniejsze branże. Podobnie jak konkurenci Informatica – Power Center zapewnia jasny i przejrzysty interfejs oraz intuicyjną obsługę, umożliwiającą tworzenie procesów ETL bez znajomości języków programowania. Graficzne, pozbawione kodów narzędzie oferuje ponadto całą paletę wbudowanych rozwiązań, dzięki którym możliwe jest szybkie prototypowanie, profilowanie czy sprawdzanie poprawności danych, a ponadto skuteczniejsza kontrola i zarządzanie zmianami. Pisząc o atutach narzędzia wspomnieć należy również o wysokiej wydajności, łączności z aplikacjami w chmurze oraz doskonałej współpracy z danymi nierelacyjnymi. Naturalnie przedstawione powyżej narzędzia stanowią niewielki wycinek oferty rynkowej.

Dostawców profesjonalnych rozwiązań w obszarze ETL jest znacznie więcej, dlatego też wybór optymalnego rozwiązania mocno utrudniony. Porównując dostępne możliwości warto wziąć pod uwagę także takie narzędzia jak: IBM – Infosphere Information Server, Oracle – Data Integrator, Microsoft – SQL Server Integrated Services, SAS – Data Integration Studio, SAP – BusinessObjects Data Integrator czy chociażby Talend – Talend Open Studio for Data Integration. Nie zawsze rynkowi liderzy oferują pożądaną jakość w cenie, którą organizacja jest gotowa zaakceptować, stąd też warto zainteresować się również nieco bardziej niszowymi podmiotami i dostępnymi w ich ofertach produktami.