Kategorie
hurtownia danych Raportowanie

Hurtownia danych – jak, po co i dlaczego?

Hurtownie danych to specjalnie przygotowane bazy danych na potrzeby raportowania. Jest kilka zasadniczych powodów stosowania ich:

  1. Optymalizacja dostarczania raportów
  2. Połączenie danych z różnych źródeł (różne bazy, pliki, API)
  3. Integracja danych – zapewnia spójność danych z różnych źródeł

Głównymi korzyścią zastosowania hurtowni danych w Twoim biznesie jest możliwość analizowania dużych (często zagregowanych) ilości danych. Analizy te wspomagają podejmowanie decyzji biznesowych. 

William Inmon uważany za twórcę hurtowni danych wyróżnia cztery unikatowe cechy/właściwości hurtowni danych, należą do nich:

  • Przedmiotowość – zastosowanie hurtowni danych umożliwia analizowanie funkcjonalnych obszarów biznesu np. sprzedaż, produkcja, realizacja procesów magazynowych
  • Integracja – zastosowanie hurtowni danych umożliwia zachowanie spójności danych pochodzących z różnych źródeł
  • Trwałość – dane zgromadzone w hurtowni danych są stabilne i niezmienne w czasie 
  • Zmienność w czasie – dane zawarte w hurtowni uwzględniają ich zmiany zachodzące w czasie

Dobrze zaprojektowana hurtownia danych umożliwia bardzo szybką i wysoko przepustowe przetwarzanie zapytań raportowych. Za pomocą odpowiednich zapytań jest możliwość redukowania czasu odpowiedzi na zapytania zarówno szczegółowe, jak i zagregowane. Hurtownia danych w rozproszonych, wieloźródłowych systemach danych jest doskonałą podstawą systemów raportowych, business intelligence. Dzięki niej możliwe jest dostarczanie użytkownikom raportów, pulpitów nawigacyjnych, dashboardów i innych interfejsów. 

Jakie technologie/umiejętności są wymagane do pracy z hurtowniami danych?

Podstawowe umiejętności wymagane do budowy hurtowni danych to:

  • identyfikacja zależności pomiędzy danymi zwłaszcza w przypadku danych wieloźródłowych 
  • średnio zaawansowana umiejętności tworzenia zapytań SQL, głównie SELECTów
  • podstawowa wiedza z zakresu administracji bazami danych (tworzenie indesków, backupów, vacum’ów itp.)
  • przy tworzeniu bardziej zaawansowanych hurtowni pobierających dane z API, wymagana wiedza dotycząca komunikacji API REST oraz SOAP

Zastosowanie hurtowni danych może być dość szerokie. W firmach handlowych może to być np. połączenie danych w raportach:

  • CRM + ERP + system magazynowy WMS
  • systemów handlowych oraz systemów analityki web Google Analytics
  • z platform ecommerce oraz systemu sprzedażowego
  • z plików od dostawców usług np. DPD i powiązanie ich z dokumentami sprzedażowymi, dzięki temu możliwe jest dokładne badanie rentowności

Architektura hurtowni

Do najbardziej typowych architektur tworzenia hurtowni danych należą:

  • prosta – struktura wszystkich hurtowni danych jest dość podobna. Przechowuje ona metadane, dane podsumowujące i dane nieprzetworzone. Repozytorium zasilane jest z baz danych systemów działających w przedsiębiorstwie na jednym końcu i dają dostęp dla użytkowników końcowych na drugim końcu. Pomiędzy realizowane są analizy i transformacje niezbędna do prawidłowego przygotowania raportów. 
  • prosta z obszarem pomostowym – ta architektura dodaje dodatkowy krok przed zasileniem hurtowni dane są wstępnie przetwarzane i “oczyszczane” ze zbędnych informacji
  • piasta-szprychy – polega na dodaniu dodatkowych danych pomiędzy centralnym repozytorium, a użytkownikami końcowymi. Daje to możliwość obsługi różnych pionów biznesowych. Po uzupełnieniu danych przez użytkowników dane trafiają do odpowiedniej składnicy danych 
  • obszary izolowane – obszary izolowane tzw. piaskownice, sanbox’y to prywatne, bezpieczne obszary przeznaczone do “prywatnych” / indywidualnych analiz dla wybranego użytkownika lub grup użytkowników. Takie obszary są najczęściej indywidualnie przygotowywane dla na potrzeby konkretnych użytkowników. 

Projektowanie hurtowni danych

  1. Ustalenie interesariuszy – to odpowiedź na pytanie, kto i w jakim zakresie będzie korzystał z hurtowni. Ustalenie zakresu przyszłych raportów i sposobu korzystania z danych.
  2. Serwer i baza danych – to podstawowa operacja, od której trzeba zacząć. Wybór bazy danych może być zdeterminowany bazami używanymi już w firmie lub wymaganiami systemu raportowego 
  3. Wybór narzędzia – narzędzie do budowy hurtowni danych to jeden z najważniejszych kroków i bardzo trudny do zmiany kilka słów o narzędziach napisałem Tu – Narzędzia ETL
  4. Źródła danych – przygotowanie odpowiednich źródeł danych pochodzących z systemów działających operacyjnie w przedsiębiorstwie
  5. Mechanizmy zasilające – przygotowanie mechanizmów zasilających hurtownie na bazie źródeł z p. 1
  6. Harmonogramy – zaplanowanie harmonogramów zasilających hurtownię danych. Dość ważne, aby odpowiednio wybrać zasilenia dla poszczególnych źródeł. Należy je dostosować przede wszystkim do częstości zmian danych, ilości / rozmiaru danych 
  7. Transformacje – to najczęściej procesy obliczeniowe, agregujące lub łączące dane
  8. Widoki/tabele – w zależności od przyjętego rozwiązania jednym z ostatnich kroków planowania hurtowni może być przygotowanie widoków/ tabel przeznaczonych do generowania raportów 
  9. Mechanizmy sprawdzające – nie można zapomnieć o przygotowaniu mechanizmów / logów umożliwiających w szybki sposób sprawdzenie poprawności zasileń oraz transformacji danych. Dobre zaplanowanie tego podczas projektowania hurtowni oszczędzi z czas podczas eksploatacji. Najlepiej jest przygotować automatyczne emaile w przypadku pojawiających się w procesie błędów. 
  10. Polityka backupowa – to bardzo ważny element, o którym w ferworze tworzenia często zapominamy. Jednak to konieczność. Zabezpieczenie danych to gwarancja stałego dostępu do raportów dla biznesu. 

Praca z hurtownią danych

Codzienna praca osoby projektującej hurtownię to przede wszystkim weryfikacja poprawności jej działania. W praktyce oznacza to sprawdzenie, czy zasilenie, transformacje oraz backupy wykonały się prawidłowo. Wsparciem w tym mogą być odpowiednio przygotowane raporty oraz emaile automatyczne wysyłane w przypadku wystąpienia błędu. Trzeba się trochę przy tym napracować jednak w eksploatacji hurtowni danych bardzo to pomaga. 

Wyzwania projektowe

Najtrudniejszym elementem projektowania hurtowni jest zaplanowanie danych koniecznych do przeniesienia do hurtowni. Dlatego najważniejszym elementem planowania wdrożenia są w miarę możliwości precyzyjne “prototypy” raportów wykonane np. w excelu, dzięki którym możliwe będzie określenie minimalnych danych jakie mają być przeniesione i przetransformowane. 

Masz pytania pisz na marcin@karwowski.biz.