Dzisiejsze firmy korzystają z wielu wyspecjalizowanych narzędzi informatycznych, realizujących potrzeby biznesowe w konkretnych obszarach działalności. W większości przypadków narzędzia tego typu posiadają pewne możliwości raportowe, zaspokajające podstawowe potrzeby użytkowników końcowych. Problem pojawia się jednak, kiedy konieczne jest zestawienie danych pochodzących z różnych źródeł i zaprezentowanie ich w wygodnej i czytelnej formie. Dodatkowo przeglądanie danych historycznych w systemie transakcyjnym najczęściej wiąże się z długim czasem oczekiwania na wygenerowanie raportu. Jak zatem radzić sobie w takiej sytuacji? Jak przeciwdziałać chaosowi informacyjnemu w organizacji? Jak przezwyciężać problemy wydajnościowe w systemach transakcyjnych?

Współczesny chaos informacyjny

Każda firma charakteryzuje się specyficznymi, unikalnymi procesami, które wymuszają kompleksowe dopasowanie dostępnych narzędzi informatycznych (tzw. kastomizacja) lub opracowanie własnych narzędzi wspierających ich realizację. Liczba kluczowych narzędzi wykorzystywanych przez przedsiębiorstwa (zwłaszcza te duże) może sięgać nawet kilkunastu czy kilkudziesięciu. W przypadku przedsiębiorstw funkcjonujących na arenie międzynarodowej ujednolicenie wykorzystywanych systemów stanowi dodatkowy problem, a często jest niemożliwe z uwagi na różne przepisy prawa, wysokie koszty wdrożenia innego systemu czy obawy przed ryzykiem uzależnienia od jednego dostawcy oprogramowania.

Różnorodność systemów źródłowych (tzw. heterogeniczność) powoduje dezintegrację danych biznesowych. Wywołuje to szum informacyjny, który może ograniczać zdolności decyzyjne organizacji. W dłuższej perspektywie mogą w związku z tym pojawiać się realne straty wynikające ze zbyt długiego procesu podejmowania decyzji. Rozwiązaniem tego typu problemów może być opracowanie hurtowni danych, która będzie stanowić element centralny systemu klasy Business Intelligence, polityki zarządzania danymi i raportowania.

Wydajnościowa zmora

Systemy transakcyjne i narzędzia, które wspierają zachodzące w danym przedsiębiorstwie procesy, mają za zadanie rejestrację zdarzeń biznesowych. Przykładowo, w przedsiębiorstwie zajmującym się dystrybucją detaliczną w przypadku każdej transakcji sprzedaży rejestrowane powinny być informacje dotyczące nowego klienta, płatności, wysyłki, zmiany stanu magazynowego itd.

Niektóre z systemów transakcyjnych (określanych jako systemy OLTP) posiadają moduły raportowe dostarczające podstawowe informacje. Niestety równoczesne rejestrowanie zdarzeń biznesowych i raportowanie powoduje problemy wydajnościowe. Wykonywanie złożonych zapytań analitycznych obciąża system bazodanowy i powoduje blokowanie operacji zapisu czy modyfikacji rekordów dla przebiegających procesów. Podstawową techniką optymalizacyjną spotykaną we współczesnych rozwiązaniach IT jest więc separacja środowisk transakcyjnego i raportowego. Gromadząc zbiory danych z różnych źródeł, hurtownia danych stanowi element centralny środowiska raportowego, dzięki czemu umożliwia przetwarzanie danych w dowolnym czasie bez obciążania bazy transakcyjnej.

Czym jest hurtownia danych?

Hurtownią nazywamy relacyjną bazę danych, której zadaniem jest przechowywanie danych pochodzących z różnych źródeł, w tym z systemów transakcyjnych przedsiębiorstwa. Najczęściej hurtownia danych poświęcona jest konkretnemu procesowi biznesowemu czy obszarowi działania przedsiębiorstwa. Hurtownie danych gromadzą również dane historyczne.

Charakterystyczne dla hurtowni jest gromadzenie dużych ilości danych i wydzielenie dwóch typów obiektów. Są to tzw. tabele faktów (miary) oraz wymiary. Tabela faktów zawiera zaistniałe w rzeczywistości biznesowej zdarzenia, a wymiary charakteryzują tę rzeczywistość. Przykładem faktu (miary) może być Sprzedaż, wtedy wymiarem będzie m.in.: Czas (np. data sprzedaży), Produkt (dany towar, który został sprzedany), Geografia (np. konkretne miasto, w którym zaszła sprzedaż). Takie wielowymiarowe modelowanie danych pozwala na przeglądanie wartości miar w różnym ujęciu (w różnych wymiarach).

Architektura hurtowni danych

  1. Schemat gwiazdy

Schemat gwiazdy charakteryzuje się tym, że centralną tabelę stanowi tabela faktów, która otoczona jest pojedynczymi wymiarami.

  1. Schemat płatka śniegu

Schemat płatka śniegu wygląda podobnie do schematu gwiazdy. Jedyna różnica to taka, że wymiary połączone z tabelą faktów dodatkowo połączone są jeszcze z innymi wymiarami.

  1.  Schemat konstelacji faktów

Ostatni schemat hurtowni danych to konstelacja faktów, który umożliwia przechowywanie różnych rodzajów faktów. Wymiary w tym przypadku są współdzielone przez tabele faktów.

Hurtownia danych - schematy

Hurtownia danych może zostać zastosowana w przedsiębiorstwach działających w różnych branżach, a podstawowym uzasadnieniem jej zastosowania są problemy związane z wydajnością, rozproszeniem i nadmiarem ilości danych.

Dodatkowe materiały:

Jak wygląda proces zasilenia hurtowni danymi?

Najprostsza definicja hurtowni danych przedstawia ją jako tematyczną bazę danych, która trwale przechowuje zintegrowane dane opisane wymiarem czasu. „Zintegrowane dane” to słowa kluczowe występujące w tej krótkiej definicji.

Proces ETL

Integracja danych polega na pobraniu konkretnych danych z wielu miejsc, odpowiednim ich przetworzeniu (dopasowanie typów danych, wyczyszczenie) i załadowaniu do hurtowni. Sekwencja wymienionych kroków nosi nazwę procesu ETL, będącego akronimem od słów:

Extract – ekstrakcja danych, czyli pobranie danych z różnorodnych źródeł, w tym bazy danych oraz m.in.:

Żródła danych - Business Intelligence

Transform – transformacja danych, czyli przekształcenie pobranych danych w pożądany sposób (dopasowanie do typów danych występujących w hurtowni danych; weryfikacja poprawności i walidacja danych, czyszczenie danych; usuwanie duplikatów; uzupełnianie danych; dodanie kluczy surogatowych).

Load – Docelowa baza danych stanowiąca tzw. hurtownię danych zostaje załadowana danymi.

Hurtownia danych krok po kroku

W procesie wdrożenia hurtowni danych w organizacji można wyróżnić kilka kluczowych kroków:

Krok 1. Analiza

Projektowanie hurtowni danych powinno rozpocząć się od gruntownej analizy biznesowej potrzeb organizacji. Zbieranie wymagań jest kluczowym elementem efektywnego wdrożenia hurtowni. Należy zidentyfikować grono odbiorców raportów końcowych i przeprowadzić rozmowy umożliwiające jednoznaczne określenie, jakich danych hurtownia powinna dostarczyć i jak często hurtownia powinna być odświeżana.

Krok 2. Utworzenie hurtowni danych

Na podstawie przeprowadzanej analizy można przejść do etapu fizycznej implementacji hurtowni danych, czyli utworzenia niezbędnych tabel wraz z relacjami. Budowa wymiarów i tabel faktów powinna bezpośrednio odpowiadać potrzebom biznesowym.

Krok 3. Budowa procesu ETL (zasilania hurtowni danych)

Na podstawie zidentyfikowanych źródeł danych dla hurtowni należy zaimplementować sposób zasilenia hurtowni danych, uwzględniając wszystkie potrzebne przekształcenia.

Krok 4. Zasilenie hurtowni danych

Kiedy proces ETL jest już gotowy, można go uruchomić i zasilić hurtownię danych. Jeżeli wszystko działa poprawnie, to można ustawić automatyczne odświeżanie hurtowni zgodnie z ustalonym w toku analizy harmonogramem zasileń (np. raz dziennie).

Krok 5. Testowanie, kontrola

Bardzo ważnym i końcowym etapem jest sprawdzenie poprawności danych, które są dostępne w hurtowni danych. W testy zaangażowani powinni być użytkownicy końcowi, którzy są w stanie ocenić, czy dane odzwierciedlają rzeczywistość.

Przeczytaj także: Dostępne usługi Business Intelligence 

Należy pamiętać, że wstępnie przeprowadzona analiza może nie być na dalszych etapach wystarczająca. „Apetyt rośnie w miarę jedzenia”, czujny konsultant BI musi być więc w stałym kontakcie z użytkownikami końcowymi, żeby identyfikować i realizować kolejne potrzeby biznesowe. Potrzeby te zwykle w naturalny sposób pojawią się po prezentacji możliwości raportowych na podstawie danych hurtownianych. Dlatego dobrym rozwiązaniem jest przyjęcie zwinnej strategii realizacji projektu, polegającej na iteracyjnym dostarczaniu kolejnej wersji rozwiązania.

Co dalej?

Utworzenie hurtowni danych stanowi doskonały punkt wyjścia, pozwalający na dostarczenie użytkownikom końcowym warstwy analitycznej oraz warstwy raportowania i wizualizacji danych. Niejednokrotnie na podstawie hurtowni danych powstaje konkretny model danych (np. kostka OLAP czy model tabelaryczny), pozwalający na swobodny dostęp do danych za pośrednictwem wygodnego interfejsu, jakim jest tabela przestawna.

Na podstawie danych przechowywanych w hurtowniach danych można także tworzyć alerty, które będą informować pracowników o niepożądanych (lub pożądanych) zjawiskach, zdefiniowanych na podstawie odchyleń od normy kluczowych wskaźników wydajności przedsiębiorstwa.

Efektywnie wdrożona hurtownia danych to odpowiedź na bolączki średnich i dużych przedsiębiorstw, dotyczących zarządzania dużymi zbiorami danych, które pochodzą z wielu rozproszonych źródeł.

Więcej ciekawych informacji na temat hurtowni danych można odnaleźć w artykułach naukowych:

Libera T., Ziuziański P.: Charakterystyka budowy hurtowni danych i możliwości implementacji wymiarów różnego typu, Zeszyt Naukowy 43 (Informatyka), Wyższa Szkoła Zarządzania i Bankowości w Krakowie, Kraków 2017, s. 11-32.

Furmankiewicz M., Ziuziański P.: Wdrażanie kokpitu menedżerskiego w ramach BI w organizacji, [w:] A. Donigiewicz (red.), Przegląd teleinformatyczny, nr 4 (37), Instytut Teleinformatyki i Automatyki Wojskowej Akademii Technicznej im. Jarosława Dąbrowskiego, Warszawa 2014, s. 3-16.

Autorem wpisu jest:
Senior Business Intelligence Specialist

Certyfikowany specjalista technologii Business Intelligence firmy Microsoft. Tworzy rozwiązania dla klientów, począwszy od etapu modelowania hurtowni danych, projektowania i wdrażania procesów ETL, po implementację modelu danych i wdrożenie wizualnej warstwy raportowej. Autor bloga poświęconego tematyce rozwiązań klasy Business Intelligence.

Dodaj komentarz

Skontaktuj się z nami

Chcesz dowiedzieć się więcej o naszych usługach? Napisz do nas – odpowiemy na każdą wiadomość.

    Niniejszym wyrażam zgodę na przetwarzanie przez JCommerce Sp. z o.o. moich danych osobowych (dalej „dane osobowe”), takich jak: imię i nazwisko, adres e-mail, nr telefonu, firma, w celach handlowych.
    Niniejszym wyrażam zgodę na przetwarzanie przez JCommerce Sp. z o.o. moich danych osobowych (dalej „dane osobowe”), takich jak: imię i nazwisko, adres e-mail, nr telefonu, firma, w celach marketingowych.
    Niniejszym wyrażam zgodę na przetwarzanie przez JCommerce Sp. z o.o. moich danych osobowych (dalej „dane osobowe”), takich jak: imię i nazwisko, adres e-mail, nr telefonu, firma w celach rekrutacyjnych.
    Niniejszym wyrażam zgodę na przetwarzanie przez JCommerce Sp. z o.o. moich danych osobowych (dalej „dane osobowe”), takich jak: imię i nazwisko, adres e-mail, nr telefonu, firma na potrzeby przyszłych rekrutacji.
    W związku z obowiązującymi przepisami dotyczącymi ochrony danych osobowych tj. Ustawą o ochronie danych osobowych z dnia 10 maja 2018 roku, jak również treścią Rozporządzenia Parlamentu Europejskiego i Rady (UE) 2016/679 z dnia 27 kwietnia 2016 r. w sprawie ochrony osób fizycznych w związku z przetwarzaniem danych osobowych i w sprawie swobodnego przepływu takich danych oraz uchylenia dyrektywy 95/46/WE (RODO), informujemy, że: 1. Administratorem danych osobowych jest JCommerce Sp. z o.o. z siedzibą w Katowicach, ul. Ściegiennego 3, 40-114 Katowice (KRS: 00007393418).
    2. Powyższe dane osobowe przetwarzane będą przez JCommerce Sp. z o.o. – w zależności od udzielonych przez Panią/Pana zgód (podstawa prawna przetwarzania: art. 6 ust. 1 pkt a) RODO):
    • w celach handlowych,
    • w celach marketingowych,
    • w celach rekrutacyjnych;
    • w celach przyszłych rekrutacji.
    3. Podanie powyższych danych osobowych nie jest wymogiem ustawowym, umownym lub warunkiem zawarcia umowy. Nie jest Pan/Pani zobowiązany/a do podania powyższych danych osobowych, jednak brak ich podania uniemożliwi realizacje ww. celu.
    4. Posiada Pan/ Pani prawo dostępu do treści swoich danych, w tym otrzymania ich kopii i ich sprostowania, usunięcia, ograniczenia przetwarzania, prawo do przenoszenia danych, prawo do sprzeciwu wobec przetwarzania, prawo do cofnięcia zgody w dowolnym momencie, jeśli została udzielona. Wycofanie zgody nie wpływa jednak na zgodność z prawem przetwarzania, którego dokonano na podstawie zgody przed jej wycofaniem; oświadczenie o cofnięciu zgody na przetwarzanie danych osobowych należy złożyć w siedzibie JCommerce Sp. z o.o. lub przesłać na adres mailowy zgody@jcommerce.pl. Cofnięcie zgody na przetwarzanie danych osobowych skutkuje brakiem możliwości realizacji ww. celów przetwarzania;
    5. Dane osobowe są udostępniane przez JCommerce Sp. z o.o. upoważnionym pracownikom i osobom współpracującym z JCommerce Sp. z o.o. na podstawie umów cywilnoprawnych, przez których realizowany jest cel przetwarzania;
    6. Wszelkie pytania dotyczące ochrony danych osobowych oraz realizacje przysługujących praw, prosimy kierować na adres odo@jcommerce.pl;
    7. W zależności od udzielonej zgody, dane osobowe będą przetwarzane przez czas niezbędny do realizacji ww. celów przetwarzania. W przypadku wniesienia sprzeciwu, JCommerce Sp. z o.o. przestanie przetwarzać Pani/Pana dane w ww. celu, chyba że będzie w stanie wykazać, że w stosunku do tych danych istnieją ważne prawnie uzasadnione podstawy, które są nadrzędne wobec Pana/Pani interesów, praw i wolności, lub niezbędne do ewentualnego ustalenia, dochodzenia lub obrony roszczeń;
    8. Nie przekazujemy Pani/Pana danych poza teren Europejskiego Obszaru Gospodarczego oraz do organizacji międzynarodowych.
    9. Pani/Pana dane osobowe nie podlegają zautomatyzowanemu podejmowaniu decyzji, w tym profilowaniu.
    10. Ma Pani/Pan prawo wniesienia skargi do organu nadzorczego gdy uzna Pan/Pani, iż przetwarzanie ww. danych osobowych narusza przepisy ogólnego rozporządzenia o ochronie danych osobowych z dnia 27 kwietnia 2016 r.
    Niniejszym wyrażam zgodę na przetwarzanie przez JCommerce Sp. z o.o. moich danych osobowych (dalej „dane osobowe”), takich jak: imię i nazwisko, adres e-mail, nr telefonu, firma, w celach handlowych.
    Niniejszym wyrażam zgodę na przetwarzanie przez JCommerce Sp. z o.o. moich danych osobowych (dalej „dane osobowe”), takich jak: imię i nazwisko, adres e-mail, nr telefonu, firma, w celach marketingowych.
    Niniejszym wyrażam zgodę na przetwarzanie przez JCommerce Sp. z o.o. moich danych osobowych (dalej „dane osobowe”), takich jak: imię i nazwisko, adres e-mail, nr telefonu, firma w celach rekrutacyjnych.
    Niniejszym wyrażam zgodę na przetwarzanie przez JCommerce Sp. z o.o. moich danych osobowych (dalej „dane osobowe”), takich jak: imię i nazwisko, adres e-mail, nr telefonu, firma na potrzeby przyszłych rekrutacji.
    W związku z obowiązującymi przepisami dotyczącymi ochrony danych osobowych tj. Ustawą o ochronie danych osobowych z dnia 10 maja 2018 roku, jak również treścią Rozporządzenia Parlamentu Europejskiego i Rady (UE) 2016/679 z dnia 27 kwietnia 2016 r. w sprawie ochrony osób fizycznych w związku z przetwarzaniem danych osobowych i w sprawie swobodnego przepływu takich danych oraz uchylenia dyrektywy 95/46/WE (RODO), informujemy, że: 1. Administratorem danych osobowych jest JCommerce Sp. z o.o. z siedzibą w Katowicach, ul. Ściegiennego 3, 40-114 Katowice (KRS: 00007393418).
    2. Powyższe dane osobowe przetwarzane będą przez JCommerce Sp. z o.o. – w zależności od udzielonych przez Panią/Pana zgód (podstawa prawna przetwarzania: art. 6 ust. 1 pkt a) RODO):
    • w celach handlowych,
    • w celach marketingowych,
    • w celach rekrutacyjnych;
    • w celach przyszłych rekrutacji.
    3. Podanie powyższych danych osobowych nie jest wymogiem ustawowym, umownym lub warunkiem zawarcia umowy. Nie jest Pan/Pani zobowiązany/a do podania powyższych danych osobowych, jednak brak ich podania uniemożliwi realizacje ww. celu.
    4. Posiada Pan/ Pani prawo dostępu do treści swoich danych, w tym otrzymania ich kopii i ich sprostowania, usunięcia, ograniczenia przetwarzania, prawo do przenoszenia danych, prawo do sprzeciwu wobec przetwarzania, prawo do cofnięcia zgody w dowolnym momencie, jeśli została udzielona. Wycofanie zgody nie wpływa jednak na zgodność z prawem przetwarzania, którego dokonano na podstawie zgody przed jej wycofaniem; oświadczenie o cofnięciu zgody na przetwarzanie danych osobowych należy złożyć w siedzibie JCommerce Sp. z o.o. lub przesłać na adres mailowy zgody@jcommerce.pl. Cofnięcie zgody na przetwarzanie danych osobowych skutkuje brakiem możliwości realizacji ww. celów przetwarzania;
    5. Dane osobowe są udostępniane przez JCommerce Sp. z o.o. upoważnionym pracownikom i osobom współpracującym z JCommerce Sp. z o.o. na podstawie umów cywilnoprawnych, przez których realizowany jest cel przetwarzania;
    6. Wszelkie pytania dotyczące ochrony danych osobowych oraz realizacje przysługujących praw, prosimy kierować na adres odo@jcommerce.pl;
    7. W zależności od udzielonej zgody, dane osobowe będą przetwarzane przez czas niezbędny do realizacji ww. celów przetwarzania. W przypadku wniesienia sprzeciwu, JCommerce Sp. z o.o. przestanie przetwarzać Pani/Pana dane w ww. celu, chyba że będzie w stanie wykazać, że w stosunku do tych danych istnieją ważne prawnie uzasadnione podstawy, które są nadrzędne wobec Pana/Pani interesów, praw i wolności, lub niezbędne do ewentualnego ustalenia, dochodzenia lub obrony roszczeń;
    8. Nie przekazujemy Pani/Pana danych poza teren Europejskiego Obszaru Gospodarczego oraz do organizacji międzynarodowych.
    9. Pani/Pana dane osobowe nie podlegają zautomatyzowanemu podejmowaniu decyzji, w tym profilowaniu.
    10. Ma Pani/Pan prawo wniesienia skargi do organu nadzorczego gdy uzna Pan/Pani, iż przetwarzanie ww. danych osobowych narusza przepisy ogólnego rozporządzenia o ochronie danych osobowych z dnia 27 kwietnia 2016 r.