Alteryx jako alternatywa dla hurtowni danych? [artykuł]

lis 21, 2017

Alteryx

ETL

Posiadanie hurtowni danych wiążę się z szeregiem niezaprzeczalnych korzyści dla organizacji, rodzi jednak również wiele wyzwań i zagrożeń. Co więcej, związane jest z koniecznością zaangażowania niemałych środków oraz poświęcenia wielu miesięcy na planowanie i późniejszą implementację uzgodnionego scenariusza. Czy istnieje alternatywa dla budowy centralnego repozytorium danych? Czy rozwiązania self-service BI bądź wykorzystanie Alteryx może być rozsądniejszym krokiem?

Czym jest hurtownia danych i jak ją budować?

Poprzez hurtownię danych rozumieć należy centralnie zarządzaną, zintegrowaną bazę danych, gromadzącą zarówno dane historyczne jak i bieżące, pochodzące z wielu różnych źródeł (m. in. z systemów SAP, ERP, CRM). Przed zasileniem hurtowni danymi, pochodzącymi z jakiegokolwiek systemu zewnętrznego, konieczne jest ich oczyszczenie, ewentualne wzbogacenie i sprowadzenie do spójnej dla całej hurtowni struktury. Tak przygotowane do zasilenia hurtowni dane są następnie agregowane (sumaryzowane), co zapobiega rozrastaniu się hurtowni do zbyt dużych rozmiarów, a następnie udostępniane użytkownikom na potrzeby tworzenia najróżniejszych analiz i raportów. Po co tworzyć w organizacji hurtownię? Posiadanie centralnie zarządzanego repozytorium danych zapewnia przedstawicielom biznesu swobodny dostęp do uporządkowanych i na bieżąco aktualizowanych danych tyczących się działalności operacyjnej. Opieranie kluczowych decyzji biznesowych na analizach przeprowadzonych na nieaktualnych danych bądź też danych pochodzących z innych systemów źródłowych może stwarzać niepotrzebne ryzyko błędu.

Stworzenie hurtowni danych to przedsięwzięcie niewątpliwie niełatwe, zwykle bardzo złożone, a przy tym dość kosztowne. Mając na uwadze powyższe, już na etapie pojawienia się idei stworzenia centralnego repozytorium danych, konieczne jest określenie celu biznesowego. Sformułowany przez osoby decyzyjne w firmie cel powinien być mierzalny, zorientowany na klienta i ujęty w ramy czasowe. Sam etap budowy hurtowni danych, poprzedzony licznymi konsultacjami pomiędzy specjalistami w zakresie budowy hurtowni a właścicielami biznesowymi danych, analitykami i odbiorcami raportów, dzieli się na trzy podstawowe warstwy:

a) pojęciowo-funkcjonalną, której efektem jest projekt funkcjonalny;
b) logiczną, której efektem jest projekt techniczny;
c) fizyczną, polegającą na implementacji opracowanych rozwiązań.

Mając na uwadze koszt i złożoność procesu tworzenia hurtowni danych w organizacji, warto mieć świadomość wyzwań i zagrożeń związanych z takim projektem. Do czynników zapewniających powodzenie całego przedsięwzięcia zaliczyć należy niewątpliwie prawidłowe określenie celu biznesowego, uzasadniającego potrzebę budowy hurtowni danych, a także stworzenie optymalnej architektury hurtowni. Stąd też kluczem do sukcesu wdrożenia jest zaangażowanie w proces nie tylko osób decyzyjnych, ale również użytkowników końcowych, gdyż elastyczność, a także szybkie i cykliczne reagowanie na zmiany ich oczekiwań są niezwykle istotne. Kilka iteracyjnych nawrotów to standard, z którym wiąże się wdrożenie hurtowni danych. Należy się również liczyć z tym, iż przeciętny czas niezbędny do realizacji tego procesu wynosi zwykle ok. 12 miesięcy. Tyle bowiem trwa przygotowanie niezbędnej infrastruktury i dojście do porozumienia na styku biznesu i IT. Pospieszne formułowanie potrzeb biznesowych czy też rezygnowanie z kolejnych nawrotów iteracyjnych nie jest zbyt rozsądnym działaniem, gdyż koszty usuwania ewentualnych błędów mogą być bardzo wysokie.

ETL vs. ELT

Zaprojektowanie i stworzenie hurtowni danych to jedno, jednak trzeba zatroszczyć się również o integrację danych źródłowych, a następnie zasilenie nimi hurtowni. Proces ten wprawdzie można przeprowadzić ręcznie, jednak biorąc pod uwagę fakt, iż firmowe bazy i systemy gromadzą ogromne ilości danych, byłby to proces wysocewysoko nieefektywny. Znacznie rozsądniejszym działaniem jest wykorzystanie profesjonalnych narzędzi ETL (ang. Extract, Transform oraz Load). W uproszczeniu proces ETL polega na pozyskaniu danych ze źródeł zewnętrznych (extract), uzgadnianiu i czyszczeniu (transform) oraz zasileniu hurtowni danych (load). Proces ten zrealizować można na kilka sposobów – wykorzystując skrypty i procedury SQL, co jest ekonomicznym choć nie najefektywniejszym rozwiązaniem, bądź inwestując w nowoczesne rozwiązania typu Informatica, Pentaho Data Integration, SAS ETL Studio czy Alteryx.

Zasilanie hurtowni danych w klasycznym modelu zakłada następujące po sobie kroki: extract, transform oraz load, jednak nie jest to jedyna dostępna możliwość. Stale rosnące bazy danych, a także chęć uniknięcia kosztów związanych z profesjonalnymi narzędziami ETL, doprowadziły do pojawienia się alternatywnych metod. Jedną z nich jest ELT (ang. Extract, Load oraz Transform). Metoda odwraca kolejność wykonywanych kroków, jednak ta niepozorna zmiana niesie za sobą szereg konsekwencji. Jakich konkretnie? Tradycyjna metoda jest dość kosztowna, gdyż wymaga posiadania serwera oraz narzędzia ETL, gdyż to właśnie na tym etapie odbywa się transformacja danych. Model ELT zakłada, iż zarówno ładowanie danych jak i ich transformacja odbywa się na serwerze docelowym. Brak konieczności posiadania dodatkowego serwera oraz profesjonalnych narzędzi ETL pozwala wprawdzie ograniczyć koszty, aczkolwiek powodzenie całego przedsięwzięcia wymaga posiadania odpowiednio wydajnych maszyn po stronie hurtowni danych – niezwykle wydajnego, skalowalnego i precyzyjne dostrojonego serwera DBMS. Może się jednak okazać, że ze względu na duży wolumen danych oraz złożony proces transformacji rozsądniejszym krokiem będzie wybór klasycznego rozwiązania.

Która metoda zasilania hurtowni danych jest lepsza? Nie ma jednoznacznej odpowiedzi na tak postawione pytanie, gdyż wybór optymalnego rozwiązania zawsze powinien stanowić wypadkową wielu czynników. Wiele zależy m. in. od posiadanej przez organizację infrastruktury, kompetencji jej pracowników, wolumenu i rodzaju gromadzonych danych czy złożoność procesu ich transformacji. Dopiero gruntowna analiza tych i wielu innych czynników pozwala na wskazanie rozwiązania, które będzie nie tylko wydajne, ale również optymalne kosztowo.

Rezygnacja z hurtowni danych – czy jest to możliwe?

Posiadanie hurtowni danych to sposób na centralizację, uporządkowanie i utrzymanie aktualności danych gromadzonych przez organizację. Nie bez znaczenia jest również fakt, iż w hurtowni przechowywane są dane historyczne, które nierzadko wykorzystywane są do celów prognostycznych czy na potrzeby przygotowywania analiz i raportów wymagających uwzględnienia kontekstu czasowego. Biorąc jednak pod uwagę fakt, iż stworzenie hurtowni danych jest procesem złożonym i kosztownym, automatycznie rodzi się pytanie o możliwe alternatywy. Czy jest to możliwe? Odpowiedź podsuwa rynek, na którym znaleźć dziś można szereg rozwiązań Business Intelligence typu self-service, które opierają się bezpośrednio na systemach źródłowych, rezygnując przy tym z hurtowni danych oraz złożonych procesów ETL.

Czy rezygnacja z hurtowni i postawienie na jedno z dostępnych rozwiązań self-service BI rzeczywiście niesie wymierne korzyści dla organizacji? W tym przypadku również konieczna jest gruntowna analiza i indywidualne rozpatrzenie sytuacji. Rozwiązania tego typu mogą się sprawdzić w wielu organizacjach, aczkolwiek w wielu przypadkach mogą doprowadzić do paraliżu organizacyjnego. Dlaczego? Powód jest prozaiczny. Brak centralnej hurtowni danych przenosi wszelkie zapytania do systemów zasilających, a więc w głównej mierze systemów ERP czy CRM, które są kluczowe dla organizacji i zwykle mocno już obciążone. Dodatkowe dociążenie ich regularnymi zapytaniami raportowymi może zakłócić ich prawidłowe funkcjonowanie. Duże ryzyko stwarza również fakt, iż poszczególne jednostki będą pobierały dane źródłowe na podstawie indywidualnie stworzonych i przez to odrębnych modeli danych, co kłóci się z zasadą integralności i może skutkować występowaniem zupełnie odmiennych rekomendacji stworzonych na bazie tych samych danych źródłowych. Z punktu widzenia zarządzania biznesem sytuacja taka jest wysoce niebezpieczna.

Jakie jeszcze ryzyka i niebezpieczeństwa rodzi rezygnacja z posiadania centralnego repozytorium danych? Decyzja taka może skutkować wzrostem pracochłonności przygotowania raportów, a także utrudnionym administrowaniem oraz zarządzaniem bezpieczeństwem danych. Jakakolwiek zmiana struktury danych źródłowych będzie bowiem skutkowała koniecznością modyfikacji wszystkich wykorzystywanych zapytań. Im większa liczba wykorzystywanych modeli danych, tym pracochłonność tego procesu większa. Biorąc pod uwagę fakt, iż wiele modeli tworzonych będzie na indywidualne potrzeby poszczególnych jednostek, w oparciu o mniej lub bardziej złożoną logikę, działanie to może przysporzyć wielu problemów. Niemniejsze wyzwanie stanowi zarządzanie bezpieczeństwem danych. O ile hurtownia posiada szereg wbudowanych mechanizmów mających na celu zapewnienie bezpieczeństwa i zarządzania dostępami, o tyle w przypadku rozwiązań typu self-service możliwości te są zwykle bardziej ograniczone. Nie bez znaczenia jest również to, iż dostępami nie zarządza się w nich centralnie, lecz w ramach poszczególnych jednostek, co rodzi dodatkowe problemy i utrudnia kontrolę. Zachętą do korzystania z takich rozwiązań są zwykle niższe koszty, jednak i im należy się przyjrzeć bliżej, gdyż z jednej strony rezygnacja z gromadzenia danych zredukuje koszty niezbędnej infrastruktury, jednak z uwagi na wzrost złożoności zapytań wymusi inwestycję w zwiększenie mocy procesorów, które będą je obsługiwać.

Zarówno klasyczne hurtownie danych jak i hurtownie danych opakowane w produkt nazywany self-service BI mają swoje wady i zalety. W jednym i drugim przypadku pochodzące z systemów źródłowych danych są gdzieś gromadzone, jednak nie zawsze w optymalny i przemyślany sposób. Odpowiednio zaprojektowana hurtownia danych to niemalże gwarancja realizacji założonych celów biznesowych, jednak nie należy tym samym skreślać rozwiązań self-service BI. Łącząc je z nowoczesnymi narzędziami ETL, takimi jak chociażby Alteryx, można istotnie ograniczyć liczbę zapytań kierowanych do systemów źródłowych i tym samym istotnie je odciążyć. Kłóci się to nieco z ideą self-service, jednak budowa hurtowni w strukturach wybranego narzędzia Business Intelligence będzie dzięki temu prostsza i szybsza, a jej działanie mniej problematyczne. Odpowiednio zaprojektowane procesy zasilania danych mogą się bowiem opierać na metodzie przyrostowej, a więc uzupełniać wewnętrzną hurtownię wyłącznie o nowe dane, a więc te, które pojawiły się od ostatniej aktualizacji.

Alteryx, poza tym, że jest doskonałym narzędziem ETL i z zadaniem tym nie będzie miał najmniejszych problemów, oferuje również wiele innych możliwości. Znajduje szerokie zastosowanie w obszarze analizy predykcyjnej, analizy przestrzennej czy raportowaniu. Co więcej, umożliwia budowę repozytorium danych, którego rozmiar i możliwości mogą się w przypadku wielu organizacji okazać wystarczające. Format pliku bazy danych w Alteryx to .yxdb, przechowuje on pola danych, wartości i obiekty przestrzenne, a ponadto jest skompresowany z maksymalną prędkością i uzupełniony o dodatkowe metadane, odwołujące się do źródła danych i sposobu ich utworzenia. Chociaż nie ma ograniczeń co do liczby rekordów czy rozmiaru pliku, w środowisku 64-bitowym istnieje limit wielkości rekordu wynoszący 2 GB. Żaden inny format plików, poza tekstowym, nie jest w stanie obsłużyć równie dużej liczby rekordów. Warto zatem i taką alternatywę wziąć pod uwagę i skonfrontować możliwości narzędzia z realnymi potrzebami własnej organizacji.

Więcej o możliwościach Alteryx przeczytasz tu: https://astrafox.pl/alteryx/