Gdzie podziały się Warehouse czyli BI, Dashboard i cała reszta

Jadwiga Gnybek


Zupełnie niespodzianie, wykorzystywane z powodzeniem przez
ostatnie lata narzędzia i produkty związane z przetwarzaniem danych do celów
analitycznych, przewartościowały się ostatnio zarówno co do nazwy, jak i treści.
Nikt już w materiałach marketingowych nie używa pojęć takich jak hurtownia
danych, czy ETL. W ich miejsce pojawiły się pojęcia takie jak kokpit zarządczy,
dashboard, czy Business Intelligence.

Nie zwalnia nas to jednak z pamiętania o tych „starych”
dobrych pojęciach, pod którymi tak naprawdę kryją się solidne fundamenty owych
nowomodnych wymysłów. Innymi słowy: znacie? – to poczytajcie. Albowiem zanim
skrzące się kolorami kokpity zarządcze pokażą jakąkolwiek cyferkę, gdzieś na
zapleczu działać musi hurtownia danych.

Hurtownia Danych

Cóż to takiego hurtownia danych? Jest to najogólniej mówiąc
centralny element systemu analitycznego, o ile firma system już taki posiada lub
posiadać planuje. W odróżnieniu od baz danych transakcyjnych, niosących na sobie
ciężar operacyjnej działalności firmy, hurtownie danych stanowią kompendium
wiedzy i działalności firmy, zestawione w sposób umożliwiający dokonywanie
długoterminowych analiz biznesowych. Mniejszą formą magazynu danych
analitycznych jest Data Mart czyli Składnica Danych obejmująca swoim obszarem
zainteresowań jedynie wycinek działalności firmy. Dla równowagi mamy też w
słowniku informatycznym pojęcie Enterprise Data Warehouse (EDW) czyli bardzo
dużą hurtownię bardzo dużego przedsiębiorstwa. Teoria mówi, że właśnie takie
twory dzielą się lub może składają się z tworów mniejszych jakimi są Data Marty.

Zwrot technologiczny ostatnich lat spowodował, że dane
transakcyjne i analityczne często znajdują się w tej samej bazie danych. Nie
zmienia to jednak faktu, że spełniają one znacząco odmienną rolę w organizacji i
– o ile wymaga tego wydajność lub pojemność infrastruktury – mogą stanowić byty
odrębne, choć na pewno nie niezależne. Ale wracając do sedna.

Po co firmie hurtownia danych?

Po pierwsze, by gromadzić informacje

Jest to najbardziej podstawowa funkcja hurtowni danych. We
wczesnych stadiach rozwoju tej technologii często wykorzystywano porównanie
hurtowni do worka, w którym trzymane są dane firmy ze wszystkich zakresów jej
działalności. Porównanie to dziś nie jest już trafne. Dziś hurtownia danych to
raczej bardzo nowoczesna biblioteka. Idąc dalej tą analogią, Data Mart byłby tu
rodzajem biblioteki tematycznej, a Hurtownia Danych jest biblioteką przekrojową.
Ale czy byłaby biblioteka bez zbiorów bibliotecznych? Zbiorem ładnych pustych
półek. Stąd o jakości naszej biblioteki, czyli hurtowni, świadczą mechanizmy dostarczające
do niej dane. Mechanizmy realizujące ładowanie danych do struktury hurtowni z
systemów źródłowych – np. systemów transakcyjnych firmy. Ich technologiczna
realizacja opiera się zwykle na fakcie, iż większość systemów posiada funkcję
eksportu danych w różnych formatach. Zdolność ta może być zatem wykorzystana
przy pobieraniu danych do hurtowni, ale bardziej wydajną i niezawodną techniką
jest zbudowanie interfejsu sięgającego bezpośrednio do struktury bazodanowej
aplikacji i pobierającego dane. Funkcje takie realizowane są zwykle poprzez
istniejące na rynku gotowe aplikacje, które potrafią pobierać dane z bardzo
różnorodnych źródeł. Przykładem takiego narzędzia jest bez wątpienia Oracle
WarehouseBuilder.

Narzędzia i aplikacje służące do pobierania i ładowania
danych do hurtowni ogólnie nazywane są skrótem ETL (Extraction – pobieranie,
Transportation – transport, Load – ładowanie), lub w nieco rozszerzonej formie
ETTL (j.w. + Transformation – transformacja).

Dane do hurtowni mogą być ładowane w formie pierwotnej –
takiej, w jakiej zostały pobrane, lub w formie przetworzonej pomiędzy programem
źródłowym a hurtownią danych. Fizyczne struktury przechowujące te informacje na
poziomie logicznej organizacji, dzielone są zwykle na tabele faktów (do
gromadzenia wartości miar – np. ilość, cena, wartość) oraz tabele wymiarów (do
gromadzenia danych opisowych np. rejon dystrybucji papieru, czas, upusty).

Po drugie, normalizacja

Naturalną konsekwencją wspomnianego wyżej uporządkowania
informacji jest wprowadzenie do niej znamion normalizacji (a także – jeśli to
niezbędne – i denormalizacji). Jest to bowiem jedno z ważnych wymagań
technicznych stawianych systemowi analitycznemu. Normalizacja ma tu na celu
możliwie wierne odzwierciedlenie struktury biznesowej firmy. W praktyce dla
każdego wymiaru otrzymujemy pewną ilość niepowtarzalnych poziomów, w postaci
zhierarchizowanej.

Po trzecie, agregacja

Agregacja to wreszcie coś, co można by nazwać wartością
dodaną hurtowni. Powielone z systemów transakcyjnych dane posiadać mogą bowiem
dodatkowe znaczenie dla firmy dopiero wtedy, gdy zostaną przedstawione na innych
poziomach szczegółowości, niż dostępne są na co dzień
w systemach transakcyjnych. Systemy transakcyjne z racji swej podstawowej
funkcji w firmie, zapisują dane na najniższym możliwym poziomie szczegółowości.
Stąd dane o sprzedaży zapisywane są z dokładnością do produktu, kontrahenta i
czasu. W takiej postaci informacje te mają wartość operacyjną. Nie stanowią one
jednak wartości dla szefów działów czy firmy, którzy oczekują informacji do
działań strategicznych, czyli na dużo wyższym, zagregowanym poziomie.

Niezbędne analitykom agregacje realizowane są zwykle poprzez
funkcje implementowane w narzędziach analitycznych, czerpiących dane z hurtowni
– jednak zwykle charakteryzują się one niską wydajnością. Znacznie
efektywniejsze w tych zastosowaniach są tu mechanizmy agregacji posadowione
„blisko hurtowni”.

Głównym celem agregacji jest przypisanie lub pogrupowanie
danych transakcyjnych do znormalizowanej lub zdenormalizowanej struktury
opisującej model biznesowy firmy.

A wszystko to za pomocą…

… wysoko specjalizowanych narzędzi, od których aż roi się
na informatycznym rynku. Oczywiście nas najbardziej interesują te, które są
dziełem korporacji Larry’ego Ellisona. Poczynając więc od fundamentów:

  • baza danych (np. Oracle 10g lub niemal wszystkie poprzednie
    wcielenia),
  • narzędzia administrowania bazą danych – Oracle Enterprise
    Manager,
  • narzędzia ETL – Oracle Warehouse Builder lub interfejsy
    programowe,
  • systemy i narzędzia analityczne ROLAP/MOLAP – Sales
    Analyzer (narzędzie typu MOLAP, specjalizowane do analizy danych związanych ze
    sprzedażą), Financial Analyzer (narzędzie typu MOLAP, specjalizowane do analizy
    danych finansowych), Discoverer (narzędzie analityczne typu ROLAP).

A wszystko to w zasadzie, po co?

Podstawową misją hurtowni jest publikowanie danych służących
do podejmowania decyzji biznesowych. Dlatego też miarą sukcesu tego systemu jest
jego znaczący udział w podejmowaniu trafnych decyzji. Jeśli projekt budowy
hurtowni powstał na bazie takich właśnie założeń, możliwe jest wręcz wyliczenie,
czy koszty poniesione na jej budowę zwróciły się firmie w postaci zwiększenia
przychodów. Źródeł owego zwiększenia można by wówczas upatrywać w zwiększeniu
szybkości reagowania na zjawiska biznesowe lub zwiększeniu trafności decyzji
zarówno strategicznych jak i operacyjnych.

Pamiętać należy, że nie budząca dziś wątpliwości przydatność
baz transakcyjnych wynika z ponad 30-letniej tradycji eksploatacji takich
rozwiązań. Hurtownie danych, to produkty znacznie młodsze, dlatego też wciąż
trzeba przekonywać o ich przydatności i opłacalności dla organizacji.

Wracając do przypominania pojęć podstawowych, zatrzymajmy się jeszcze chwilę
nad zagadnieniem – a co to takiego ten ETL?

ETL to niewątpliwie mechanizm, od działania którego zależy
nie tylko techniczna ale – co zdecydowanie ważniejsze – jakościowa sprawność
naszej hurtowni. ETL zapewnia bowiem z jednej strony sprawny technologicznie
proces ładowania danych; z drugiej zaś, jego logika zapewniać powinna taki wybór
danych, dzięki któremu będziemy o naszej firmie wiedzieli naprawdę to, co
najistotniejsze dla dalszego planowania działań biznesowych.

Dlatego też podstawą budowy ETL nie jest analiza
technologicznych uwarunkowań, a raczej analiza procesów biznesowych naszej
firmy. Wszystko to, o czym powinna wiedzieć nasza hurtownia, to wymagania
biznesowe (requirements) ETL.

Budując naszą wiedzę o firmie, a zarazem budując biznesowe
wymagania ETL musimy co krok podejmować ważne, a czasem może strategiczne
decyzje. Jeśli bowiem
z jakiegoś powodu nie możemy do zestawień analitycznych wykorzystywać wszystkich
danych transakcyjnych, musimy na etapie budowy hurtowni podjąć decyzję o tym,
jakie dane do podejmowania decyzji są nam potrzebne. Oczywiście pociąga to za
sobą decyzję o tym, że określony zestaw informacji przy podejmowaniu tych
decyzji brany pod uwagę nie będzie.

Na to wszystko nałożyć należy prozę technologii. Wszystko co
teraz wymyślimy, nie tylko musi składać się w klarowny obraz biznesowej
rzeczywistości. To musi również sensownie wydajnie działać na posiadanej przez
naszą firmę infrastrukturze informatycznej lub mieścić się w przewidzianym na to
przedsięwzięcie budżecie. To wszystko sprawia, że co rusz szybujemy z głową w
chmurach, by za chwilę spaść w prozę otaczającej nas rzeczywistości.

Czym są wymagania biznesowe?

Wymagania biznesowe to najkrócej mówiąc zbiór informacji,
które użytkownik hurtowni chciałby zobaczyć
w postaci raportu. Zbiór ten w najprostszym rozumieniu naszej misji przełożyć
należy na zbiór danych źródłowych, jakie mechanizm ETL zaciągnąć musi z baz
transakcyjnych. Nie zawsze jest to jednak proces zwykłego mapowania. Czasem
odnalezienie poprawnego zbioru danych wymaga długich rozmów z przyszłymi
użytkownikami hurtowni i – co najtrudniejsze – pogodzenia czasem przeciwstawnych
oczekiwań. Na szczęście, część tych oczekiwań stanowią okresowe sprawozdania
finansowe, regulowane zewnętrznymi przepisami. Tu sprawa wydaje się stosunkowo
prosta. Największym wyzwaniem są zazwyczaj zestawienia wynikające ze specyfiki
biznesu naszej firmy.

Jakość danych

Przydatność danych w hurtowni nigdy nie jest większa, niż
zaufanie do przechowywanych tam informacji. Toteż istotnym elementem ETL jest
również sprawdzanie poprawności i kompletności wprowadzanych do hurtowni danych.
Mechanizmy te muszą uwzględniać wiele elementów – począwszy od prostych
sprawdzeń formatu, czy kompletności danych, skończywszy zaś na algorytmach
potrafiących ocenić dane kontekstowo z uwzględnieniem struktury modelu danych
źródłowych. W przypadku wykrycia tak zwanych „brudnych danych” nasz system ETL
powinien potrafić podjąć jedną z następujących aktywności:

  • Zapobiec wprowadzeniu „brudnych danych” do hurtowni;
  • Oznaczyć miejsca w których występują braki danych
    źródłowych, w celu późniejszego ich uzupełnienia;
  • Uzupełnić brakujące dane, jeśli są one możliwe do
    odtworzenia na podstawie wiedzy biznesowej lub można zaciągnąć je
    z alternatywnych źródeł;
  • Usunąć partię danych, jeśli ich kompletność nie gwarantuje
    poprawności generowanych zestawień.

Czy warto poświęcać czas i środki na budowę mechanizmów
sprawdzających jakość danych? Na pewno tak. Praca włożona w hurtownię na etapie
jej budowy zaowocuje nie tylko znaczącym zmniejszeniem nakładu pracy niezbędnej
podczas codziennej eksploatacji systemu. Zapewni ona również poczucie
bezpieczeństwa zarówno informatyków jak i analityków biznesowych.

Wymagania bezpieczeństwa

Jeśli dane zgromadzone w hurtowni stanowią podstawę do
podejmowania najważniejszych decyzji biznesowych, powinny stanowić również
szczególnie pieczołowicie chroniony fragment infrastruktury informatycznej. Stąd
podsystemy autoryzacji dostępu do tych danych stanowić powinny istotny element
projektu Hurtowni już na etapie projektowania ETL. Choć wydaje się to na
pierwszy rzut oka absurdalne, uwzględnienie wymogów bezpieczeństwa podczas
budowania modelu danych hurtowni (a więc również podczas konstruowania
mechanizmów ETL) może w znaczącym stopniu ułatwić lub skomplikować nam
późniejszą implementację polityk bezpieczeństwa. Oczywiście, nie jest to wymóg
bezwzględny. I zależy w dużej mierze od technicznych możliwości implementacji
tych polityk. Na szczęście produkty Oracle dają nam w tym względzie na tyle dużo
elastycznych narzędzi, abyśmy w większości przypadków nie musieli rezygnować z
rozwiązań uzasadnionych biznesowo na rzecz rozwiązań bezpiecznych.

Oczywiście w każdym przypadku aktualne będą zagadnienia
bezpieczeństwa związane z:

  • nie ingerencją mechanizmów ETL w dane źródłowe systemów
    transakcyjnych,
  • bezpiecznym (co coraz częściej oznacza szyfrowanym)
    przesyłem danych pomiędzy bazą danych źródłowych a bazą hurtowni,
  • implementacją systemu tworzenia kopii zapasowych obu tych
    baz.

Integralność danych

Integralność danych to pojęcie intuicyjnie bliskie jakości
danych. Tu jednak zdecydowanie uwaga nasza skupia się wokół integralności
informacji opisujących te same parametry biznesowe w kilku oddzielnych systemach
źródłowych hurtowni. Problem ten nie występuje w firmach wykorzystujących do
zbierania danych transakcyjnych systemy zintegrowane – na przykład klasy ERP.
Jeśli jednak hurtownia zestawiać ma ze sobą dane z kilku systemów o odrębnych
modelach danych, problem integralności informacji nabiera znacznie większego
znaczenia. W praktyce procesów ETL, integralność danych zasadza się na poprawności
mapowania poszczególnych atrybutów zaczytywanych z różnych źródeł informacji.

Cykl życia danych

To wymaganie biznesowe odnosi się do wymaganej szybkości w
przetwarzaniu poszczególnych zbiorów danych. Aby budowana przez nas hurtownia
była biznesowi przydatna, musi dostarczać nie tylko niesamowicie spójne
i kompletne dane. Musi je również dostarczać na czas. To – wydaje się dość
oczywiste i banalne – wymaganie, wbrew pozorom potrafi mieć ogromny wpływ na
wybór konfiguracji infrastruktury technicznej systemu – a więc na koszty jego
budowy. Często determinuje również same technologie ETL.

Dostępność i archiwizacja

Hurtownia jako kompendium wiedzy o firmie, powinna
charakteryzować się dużym stopniem zabezpieczenia danych przed ich utratą.
Wymaga zatem – podobnie jak inne systemy – skonstruowania procedur tworzenia
kopii zapasowych. Specyfiką hurtowni jest natomiast konieczność długoterminowego
przetwarzania danych i konieczność zapamiętywania „kontekstu” przetwarzania lub
stanu danej informacji w chwili jej powstania. Stąd niezmiernie ważne jest
zachowywanie i zapamiętywanie wszelkich zmian na informacjach zapisanych w
hurtowni. Innymi słowy musimy zawsze móc odpowiedzieć na pytanie: dlaczego
raport sprzed trzech miesięcy wykazuje inne dane niż ten sam raport dziś. Na
szczęście w nowoczesnych narzędziach służących tworzeniu i przetwarzaniu danych
w hurtowniach, funkcjonalności tej nie trzeba oprogramowywać „ręcznie”, stanowi
ona bowiem jeden z podstawowych jej mechanizmów. Idealną cechą jest również
możliwość dokonania ładowania danych archiwalnych
z użyciem procedur ETL, obowiązujących w czasie gdy dane te tworzone były w
systemach źródłowych.

Kupić czy napisać: oto jest pytanie?

To zależy… ta filozoficzna odpowiedź coraz częściej
zastępowana jest odpowiedzią „zamówić i nie martwić się
o resztę”. Ale postarajmy się zastanowić, jakie argumenty przemawiają za każdą z
tych opcji.

Kupić gotowe, bo:

  • Dostawca przekonuje nas, że to szybciej, taniej i
    bezpieczniej.
  • Budowa zespołu specjalistów ETL, to proces dość kosztowny i
    długotrwały, a wyniki pierwszych prac i tak zwykle nie zadawalają naszych
    oczekiwań.
  • Gotowe narzędzia zawierają zakodowaną „mądrość poprzednich
    użytkowników”. Potrafią podpowiedzieć lub wskazać właściwą drogę.
  • Narzędzie z pudełka umożliwi nam łatwe zintegrowanie
    naszego ETL z danymi źródłowymi, bazą danych hurtowni oraz narzędziami
    raportującymi.
  • Zwykle dostaniemy w zestawie również elementy pomocne
    w administrowaniu i dokumentowaniu zbudowanego rozwiązania, co zawsze stanowi
    piętę Achillesową „projektów wewnętrznych”.
  • Nasz ETL zostanie wyposażony w profesjonalny system obsługi
    błędów podczas procesu ładowania danych.
  • Rozwiązanie będzie wydajne na dziś i nieustannie rozwijane
    tak, aby sprostać naszym przyszłym oczekiwaniom (najczęściej za cenę opłaty utrzymaniowej).

Innymi słowy dostaniemy wszystko, co mieć powinniśmy – nawet,
jeśli jeszcze nie wiemy, że tego potrzebujemy.

A jeśli napisać, to ponieważ:

  • Umożliwi nam to optymalne dobranie technologii budowanego
    rozwiązania do posiadanych elementów infrastruktury informatycznej.
  • Będziemy mogli dokonywać bez ograniczeń wszystkich
    niezbędnych zmian.
  • Sami zaprojektujemy sposób administrowania i zarządzania
    procesem ETL.

Jednym słowem: będziesz miał dokładnie to, co potrzebujesz,
zrobione dokładnie tak, jak lubisz. A decyzja jak zawsze należy do nas.

A wracając do tytułowych kokpitów zarządczych – zajmiemy się nimi szczegółowo
w oddzielnym opracowaniu :-)…