Hurtownia danych

Hurtownia danych (ang. data warehouse) – rodzaj bazy danych, która jest zorganizowana i zoptymalizowana pod kątem pewnego wycinka rzeczywistości.

Charakterystyka 
Hurtownia danych jest wyższym szczeblem abstrakcji niż zwykła relacyjna baza danych (choć do jej tworzenia używane są także podobne technologie). W skład hurtowni wchodzą zbiory danych zorientowanych tematycznie (np. hurtownia danych klientów). Dane te pochodzą z wielu źródeł, są one zintegrowane i przeznaczone wyłącznie do odczytu.

W praktyce hurtownie są bazami danych integrującymi dane ze wszystkich pozostałych systemów baz danych w przedsiębiorstwie. Ta integracja polega na cyklicznym zasilaniu hurtowni danymi systemów produkcyjnych.

Architektura bazy hurtowni jest zorientowana na optymalizację szybkości wyszukiwania i jak najefektywniejszą analizę zawartości. Stąd bywa, że hurtownie danych nie są realizowane za pomocą relacyjnych baz danych, gdyż takie bazy ustępują szybkością innym rozwiązaniom.

W praktyce w ramach architektury hurtowni wyróżniany jest poziom danych detalicznych oraz warstwa agregatów/kostek tematycznych.

Użytkownicy końcowi hurtowni, czyli najczęściej zarząd firmy, korzystają z danych hurtowni poprzez różne systemy wyszukiwania danych (np. Online Analytical Processing (OLAP)).

Hurtownia danych stanowi zatem rozbudowaną bazę danych, przechowującą olbrzymią ilość danych zbieranych w czasie. Dodatkowo zakłada się, że przeprowadzane na danych operacje mają charakter analityczny (wyszukiwanie i analiza). Nie stosuje się więc typowych transakcji. Ze względu na ilość i tematykę danych przeprowadzane analizy mogą polegać na szukaniu trendów, zależności, wzorców itp. Stosowana tu eksploracja danych (ang. data mining) wyszukuje ogólne formy wiedzy z olbrzymiej ilości danych. Przeprowadzane na hurtowniach danych wyszukiwania mają najczęściej charakter wielowymiarowy – nie ograniczają się bowiem tylko do jednej tabeli, lecz korzystają z wielu relacji. Dane przechowywane w hurtowni są tematycznie spójne (dotyczą konkretnego problemu lub instytucji, np. szpitala) oraz zintegrowane, co najczęściej cechuje się centralizacją przechowywania danych (wszelkie dane są przechowywane w jednym miejscu). Istnieją również zawężone tematycznie hurtownie danych (np. do jednego oddziału szpitala, lub kliniki) nazywane minihurtowniami danych (z ang. data mart). Minihurtownie mogą istnieć jako oddzielne jednostki lub stanowić element hurtowni danych.

Historia 
Koncepcja hurtowni danych sięga końca lat 1980, kiedy dwóch naukowców IBM Barry Devlin i Paul Murphy stworzyło „hurtownię danych biznesowych”.

Pomysł powstania hurtowni danych był skierowany do środowisk wspierających podejmowanie decyzji, które do tej pory funkcjonowały samodzielnie.

Koncepcja ta miała na celu dostarczyć model architektury przepływu dużych ilości danych oraz rozwiązać związane z tym problemy: wysokie koszty przetwarzania i brak możliwości wyciągania wniosków.

Miały ułatwić ten proces, maksymalnie go zoptymalizować i uprościć działania na danych historycznych, a jednocześnie uczynić go przyjaznym dla użytkownika.

Kluczowe wydarzenia w początkowych latach wprowadzenia hurtowni danych to:
 lata 1960 – General Mills i Dartmouth College, w ramach wspólnego projektu badań, wprowadzają i zaczynają rozwijać terminy: wymiary i fakty.
 lata 1970 – ACNielsen i IRI przystosowują data marty dla sprzedawców detalicznych.
 lata 1970 – Bill Inmon wprowadza i zaczyna omawiać termin: hurtownie danych.
 1983 – Teradata wprowadza system zarządzania bazami danych, zaprojektowany specjalnie dla wsparcia procesu decyzyjnego.
 1988 – Barry Devlin i Paul Murphy publikują artykuł Architektura dla biznesu i systemów informatycznych w IBM Systems Journal; wprowadzają termin „hurtownia danych biznesowych”.
 1990 – Daniel Linstedt zaczyna prace nad stworzeniem modelu danych i metodologii Vault dla hurtowni danych.
 1990 – Red Brick Systems wprowadza Red Brick Warehouse – unikatowy system zarządzania bazą danych dla hurtowni danych.
 1991 – Prism Solutions wprowadza Prism Warehouse Manager, oprogramowanie do tworzenia hurtowni danych.
 1992 – Bill Inmon publikuje książkę „Building the Data Warehouse”.
 1995 – założony zostaje The Data Warehousing Institute – organizacja komercyjna promująca hurtownie danych.
 1995 – Daniel Linstedt dodaje SEI/CMMI i Six Sigma do methodologii Data Vault zarządzania projektami hurtowni danych.
 1996 – Ralph Kimbal publikuje książkę „Data Warehouse Toolkit”.
 2000 – Dan Linstedt publikuje model „Data Vault”, jako próbę przezwyciężenia problemów napotykanych przy podejściu Inmona i Kimbala.

Cele hurtowni 

 przetwarzanie analityczne (OLAP)
 wspomaganie decyzji (DSS)
 archiwizacja danych
 analiza efektywności
 wsparcie dla systemów CRM (np. poprzez precyzyjne dobieranie strategii marketingowych na podstawie danych o klientach i sprzedaży)

Zalety 
 Agregacja danych (często niejednorodnych)
 Możliwość eksploracji danych w myśl zasady „od ogółu do szczegółu” (poziomy agregacji danych)
 Analizy przekrojowe z całego zakresu działalności organizacji
 Jednorodność danych

Architektura 
 Źródło danych – bazy danych przedsiębiorstwa, najczęściej relacyjne. Dane o zróżnicowanej jakości, strukturze logicznej, a także wielkości danych; do warstwy tej należą przede wszystkim bazy danych systemów ERP (ang. Enterprise Resource Planning) oraz MRP (ang. Material Requirements Planning).
 Obszar przejściowy – dane pobrane z systemów źródłowych są oczyszczane i dostosowane do wymagań hurtowni danych. Warstwa ta nie jest dostępna dla użytkowników końcowych hurtowni danych; do tej warstwy należą narzędzia ETL (ang. Extract, Transform and Load).
 Warstwa metadanych
 metadane biznesowe: tabele wymiarów, data marty, agregaty, tabele faktów
 metadane techniczne: mapowania i transformacje danych od systemu źródłowego do systemu docelowego
 Warstwa prezentacji – warstwa dostępna dla użytkowników końcowych w postaci raportów i analiz; reprezentowana w postaci data martów – zorientowanych na procesy biznesowe zbiorów danych zaprojektowanych i dostrojonych do szybkiego i efektywnego dostarczania informacji.

Znormalizowane vs. wielowymiarowe podejście do gromadzenia danych 

Istnieją dwa najważniejsze podejścia do gromadzenia danych w hurtowniach danych – podejście wielowymiarowe i znormalizowane.

 Podejście wielowymiarowe, którego zwolennicy nazywani są „Kimballitami”, wierzą w podejście Ralpha Kimballa w którym to stwierdzono, że hurtownie danych powinny być zbudowane zgodnie z modelem wielowymiarowym bazy danych (ang. Star schema).
 Podejście znormalizowane zaś nazywane jest równie modelem 3NF. Jego zwolennicy nazywani są „Inmonitami”, wierzą oni w podejście Billa Inmona, które zakłada, że hurtownie danych powinny być zbudowane zgodnie z modelem normalizacyjnym (modelem E-R).

W podejściu wielowymiarowym transakcje danych są podzielone albo na poszczególne „fakty”, które są generalnie transakcjami numerycznymi, albo „wielowymiarowe”, które odnoszą się do kontekstów tych „faktów”. Na przykład transakcja sprzedaży może zostać rozbita na kolejne numery zakupionych produktów oraz odpowiadające im ceny, a wielowymiarowo dane zostałyby opisane za pomocą nazwiska kupującego, numeru produktu, położenia sprzedającego i kupującego oraz danych osoby otrzymującej zamówienie.

Kluczową przewagą podejścia wielowymiarowego jest to, że hurtownia danych jest prostsza do zrozumienia i do użytkowania. Także pozyskiwanie danych z hurtowni danych pozwala na bardzo szybkie jej użytkowanie. Struktury wielowymiarowe są proste do zrozumienia dla użytkowników biznesowych, ponieważ ich struktura podzielona jest na pomiary/fakty oraz konteksty. Fakty odnoszą się do procesów organizacyjnych w biznesie oraz do systemów transakcyjnych, podczas gdy wielowymiarowe ich otoczenie zawiera konteksty o pomiarach (Kimball, Ralph 2008).

Podstawowymi wadami podejścia wielowymiarowego są:
 Utrzymanie porządku i integracji faktów wielowymiarowych podczas wprowadzania danych do hurtowni danych z innych systemów transakcyjnych jest bardzo skomplikowane;
 Trudno jest zmodyfikować hurtownię danych jeżeli przyjmuje się podejście wielowymiarowe zmieniając sposób organizacji danych.

W podejściu znormalizowanym dane w hurtowni danych są przechowywane zgodnie z zasadami normalizacji baz danych. Tabele są pogrupowane według ich tematyki odnoszącej się do ogólnych kategorii danych (np. dane dotyczące klientów, produktów, finansów itd.). Struktura znormalizowana dzieli dane na jednostki, które tworzą kilka tabel w relacyjnej bazie danych. Kiedy stosowane są w dużych przedsiębiorstwach rezultatem jest wiele tabel, które połączone są wspólną siecią. Ponadto każda utworzona jednostka jest przekonwertowywana do osobnych tabel gdy baza danych jest wprowadzana do użytku (Kimball, Ralph 2008). Główną zaletą tego podejścia jest to, że dodawanie nowych informacji do bazy danych jest bardzo proste. Wadą zaś tego podejścia jest ogromna ilość tabel, co może utrudniać użytkownikom:
 łączenie danych z różnych źródeł w sensowne informacje a następnie;
 dostęp do danych bez precyzyjnego zrozumienia źródeł danych i ich struktur w hurtowni danych.

Należy zauważyć, że oba podejścia – znormalizowane i wielowymiarowe – mogą być przedstawiane w diagramach relacyjnych jednostek i być w nich połączone. Różnicą pomiędzy tymi modelami jest stopień ich normalizacji. Oba te podejścia nie wykluczają się wzajemnie, są też podejścia odmienne. Model wielowymiarowy może posiadać dane do pewnego stopnia znormalizowane (Kimball, Ralph 2008).

Przypisy

Bibliografia 
 
 
 Ralph Kimball, Margy Ross: The Data Warehouse Toolkit. Second Edition (2002), John Wiley and Sons, Inc. .
 Bill Inmon, Richard D. Hackathorn: Using the Data Warehouse. John Wiley & Sons, .

Linki zewnętrzne 
 Strona Billa Inmona 
 Artykuły Ralpha Kimballa 

Bazy danych
Business Intelligence