background image

Copyright @ 2005 Alter Systems, ul. Dygasińskiego 21, 01-063 Warszawa,  

www.altersystems.pl

, info@altersystems.pl 

 

 
 
 

Hurtownie danych 

 

Agnieszka Preś 

apres@altersystems.pl

 

 

 

W  obecnych  czasach  globalnej  hiperkonkurencji,  aby  móc  sprawnie  zarządzać  firmą  i 

utrzymać się na rynku należy mieć stały dostęp do danych – zarówno  w kontekście wybranej 

dziedziny działalności organizacji jak i w ujęciu ogólnym. Dostęp ten musi być zorganizowany w 

taki sposób, aby dane  mogły być  wykorzystane  w procesie decyzyjnym – pociąga to za sobą 

konieczność tworzenia analiz obejmujących niejednokrotnie całość organizacji. 

 

 

Rozpatrując  zasoby  informacyjne  każdego  przedsiębiorstwa  można  wyróżnić  dwa 

rodzaje danych: 

1.  Dane operacyjne 

2.  Dane historyczne 

 

Dane  operacyjne  gromadzone  są  w  systemach  informatycznych  wspomagających 

codzienną  działalność  firmy.  Są  to  wszelkiego  rodzaju  systemy  finansowo-księgowe,  systemy 

magazynowe,  fakturowania,  czy  aplikacje  rejestrujące  zamówienia  i  obsługujące  sprzedaż. 

Charakterystyczne  dla  tych  systemów  jest  to,  iż  są  one  rozproszone  i  niejednorodne;  często 

pochodzą  one  od  różnych  producentów,  przechowują  te  same  dane  w  różnych  formatach  i  w 

różnych bazach danych. Modele tych systemów opierają się na złożonych schematach, same 

zaś aplikacje są optymalizowane pod kątem dodawania i modyfikacji danych. Z analitycznego 

punktu  widzenia,  systemy  te  nie  są  wystarczającym  źródłem  do  podejmowania  decyzji 

ponieważ  przechowują  tylko  dane  aktualne,  niezbędne  do  codziennej  pracy.  Ponieważ 

głównym  wymogiem  dla  tych  systemów  jest  szybkość  działania  przy  jednoczesnym  dostępie 

wielu  użytkowników,  dane  z  tych  systemów  co  pewien  okres  czasu  są  archiwizowane  i 

przenoszone na zewnętrzne nośniki danych. 

 

 

Rozwiązaniem  niwelującym  powyższe  niedogodności  jest  tworzenie  specjalnych 

systemów informatycznych, które przechowują dane z różnych źródeł, ewidencjonują zmiany w 

tych  danych  na  przestrzeni  czasu  i  efektywnie  udostępniają  je  do  analizy.  Systemy  te  to 

hurtownie danych. 

 

background image

Copyright @ 2005 Alter Systems, ul. Dygasińskiego 21, 01-063 Warszawa,  

www.altersystems.pl

, info@altersystems.pl 

Definicja hurtowni danych 

 

Hurtownia  danych  (magazyn  danych,  ang.  data  warehouse)  jest  wydzieloną 

centralną bazą danych, zbierającą elementarne informacje służące do zarządzania organizacją 

i  pokrywające  potrzeby  wszystkich  przewidywanych  analiz.  Baza  ta  jest  przeznaczona  do 

wykorzystania  w  całej  organizacji,  zawiera  dane  historyczne  o  małym  stopniu  agregacji. 

Ż

ródłem  danych  dla  takiej  hurtowni  są  różnorodne  systemy  operacyjne  działające    w 

organizacji. 

Często  tworzy  się  mniejsze,  wyspecjalizowane  składnice  danych  (ang.  data  marts)

zwykle  przeznaczone  dla  wyodrębnionych  działów  organizacji.  Dane  w  różnych  składnicach 

danych powtarzają się, są one zwykle silnie zagregowane i zdenormalizowane. Struktura data 

martów  jest  zoptymalizowana  pod  kątem  lokalnie  przeprowadzanych  analiz.  Najczęściej 

składnice danych mają tylko jedno źródło danych – centralną hurtownię danych. 

  

Hurtownię danych można zdefiniować jako bazę danych charakteryzującą się czterema 

poniższymi cechami: 

1.  Zorientowaniem na temat. 

2.  Nieulotnością. 

3.  Zintegrowaniem. 

4.  Zmiennością w czasie. 

 

Zorientowanie na temat oznacza, że zbierane dane dotyczą pewnego tematu (np. sprzedaży), 

a nie działań (np. obsługiwania zamówień). 

 

Nieulotność  oznacza,  że  dane  raz  umieszczone  w  hurtowni  zazwyczaj  pozostają 

niezmienione.  Każdy  użytkownik  hurtowni  danych  ma  pewność,  że  zapytanie  zawsze  zwróci 

ten sam wynik, niezależnie od tego, jak często i kiedy jest wykonywane. Dane są ładowane do 

hurtowni  okresowo  i  pozostają  w  niej  jako  dane  historyczne  –  nie  są  usuwane.  Jest  to 

przyczyna,  dla  której  hurtownie  danych  osiągają  tak  duże  rozmiary  w  porównaniu  z 

operacyjnymi bazami danych. 

 

Zintegrowanie oznacza, że dane są jednolite, a więc przechowywane w tym samym formacie 

bez  względu  na  formaty  wejściowe  z  systemów  źródłowych.  Proces  sprawdzania,  integracji  i 

agregacji danych dokonywany jest podczas okresowego zasilania hurtowni danymi z systemów 

operacyjnych przedsiębiorstwa. 

 

background image

Copyright @ 2005 Alter Systems, ul. Dygasińskiego 21, 01-063 Warszawa,  

www.altersystems.pl

, info@altersystems.pl 

 Zmienność w czasie oznacza, że gromadzone są dane zmieniające się w czasie.  Ponieważ 

większość  zapytań  kierowanych  do  hurtowni  danych  wymaga  prześledzenia  jakiegoś  odcinka 

czasu, np. badanie trendów - jest to jedna z podstawowych zalet hurtowni danych. 

 

Analiza danych 

 

 

Głównym  użytkownikiem  hurtowni  danych  jest  kadra  zarządzająca,  menedżerowie  i 

analitycy. Wykorzystują oni informacje zawarte w hurtowniach danych w procesie decyzyjnym – 

mając  do  dyspozycji  wiedzę  dotyczącą  przeszłości  mogą  wnioskować  o  przyszłości.    W  tym 

celu dokonują oni różnego typu analiz, z których najważniejsze to eksploracja danych i analiza 

wielowymiarowa. 

 

 

Eksploracja  danych  (drążenie  danych,  ang.  data  mining)  polega  na  badaniu  i 

modelowaniu  powiązań  w  dużych  zbiorach  danych.  Sukces  tego  procesu  uzależniony  jest  od 

specjalistycznej  wiedzy  osób,  które  interpretują  wyniki  analiz  i  są  w  stanie  przekształcić 

pozornie  bezużyteczne  wzorce  w  cenną  informację.  Niezbędne  też  jest  posiadanie  danych 

reprezentatywnych,  niewypaczonych  –  a  więc  danych  dobrych  jakościowo.  Wyeliminowanie 

tzw. „szumu”, a więc błędów w danych jest o wiele ważniejsze niż zapewnienie dużej ich ilości 

do analiz. 

 

Są dwa podstawowe rodzaje eksploracji danych: 

 

  Weryfikacja  hipotez.  Stosuje  się  ją  w  przypadku,  gdy  mamy  pewne 

wyobrażenie  lub  przeczucie  co  do  znaczącej  zależności  między  elementami 

danych 

  Odkrywanie wiedzy.  Stosuje  się  tam, gdzie  między  elementami  danych  mogą 

istnieć dotychczas nieznane znaczące związki, których żaden człowiek nie jest w 

stanie wywnioskować 

 

Analiza  wielowymiarowa  jest  podstawą  bezpośredniego  przetwarzania  analitycznego 

(ang. OLAP On-Line Analytical Processing) – ponieważ dane  zgromadzone  w hurtowniach 

mają najczęściej charakter wielowymiarowy. Struktura wielowymiarowa hurtowni danych opiera 

się na dwóch podstawowych składnikach: 

 

  faktach i  

  wymiarach 

 

background image

Copyright @ 2005 Alter Systems, ul. Dygasińskiego 21, 01-063 Warszawa,  

www.altersystems.pl

, info@altersystems.pl 

Fakty reprezentują elementarne komórki danych, są opisywane atrybutami liczbowymi, 

tzw. miarami. Przykładem faktu jest sprzedaż, której miarami są np. ilość sprzedanego towaru i 

jego wartość. 

Wymiary natomiast są wartościami, które mogą tworzyć hierarchie. Typowe wymiary to 

np. czas, klient, produkt. Centralny punkt struktur wielowymiarowych stanowią fakty, powiązane 

związkami z wymiarami. Struktura danych może przybierać formę gwiazdy (ang. starnet) gdy 

wymiary tworzą proste hierarchie, lub płatka śniegu (ang. snowflake) – gdy hierarchie mają 

postać drzew. Poniższy rysunek obrazuje przykładowy schemat analizy zamowień składanych 

przez  klientów  w  odniesieniu  do  czterech  wymiarów:  produktu,  klienta,  czasu  i  akcji 

promocyjnej. 

 

 

 

Rys.1. Wielowymiarowy model dla obszaru tematycznego zamówień 

– schemat gwiazdy. 

 

Są trzy główne rodzaje bezpośredniego przetwarzania analitycznego: 

 

1.  MOLAP:  Wielowymiarowe  OLAP  –  zbiór  danych  przyjmuje  postać  wielowymiarowej 

bazy  danych  opiarającej  się  na  zasadach  arkusza  kalkulacyjnego.  W  większości  tego 

typu  produktów  należy  już  na  początku  mieć  możliwość  podania  systemowi 

przewidywalnej  wielkości  wymiarów.  Można  wprowadzić  do  systemu  np.  ilość  klientów 

czy  ilość  produktów  które  będą  musiały  być  trzymane  w  systemie,  bądź  podać  zakres 

identyfikatorów  –  system  sam  obliczy  rozmiar  wymiaru.  Znając  ten  rozmiar  system 

Zamówienia 

Produkt 

Promocja 

Klient 

Czas 

background image

Copyright @ 2005 Alter Systems, ul. Dygasińskiego 21, 01-063 Warszawa,  

www.altersystems.pl

, info@altersystems.pl 

poprzez przemnożenie wszystkich liczb poda liczbę komórek arkusza, dla których musi 

zrobić miejsce w swojej macierzy. W efekcie położenie poszczególnych komórek może 

być  obliczone  z  wartości  identyfikatorów  wymiarowych.  Dzięki  temu  systemy  te  są 

naprawdę szybkie jeśli chodzi o dostępność do danych i nie wykonywane są tu żadne 

złączenia.  Wiąże  się  z  tym  jednak  problem  tzw.  rzadkości,  która  jest  miarą 

nieużywanych  komórek  w  wielowymiarowej  bazie  danych.  Często  rzadkość  może 

przekraczać  nawet  90  procent.  W  produktach  OLAP  występuje  pojęcie  tzw. 

wielowymiarowej kostki. Kostki budowane są z wymiarów, podczas gdy miary z tabeli 

faktów  stają  się  kalkulowanymi  punktami  kostek.  O  kostce  jest  mowa  bez  względu  na 

ilość  zawartych  w  niej  wymiarów.  Przy  użyciu  tej  samej  tabeli  informacyjnej  dla 

identycznych  wymiarów  tworzących  różne  kostki,  te  same  dane  są  kopiowane  do 

wielowymiarowej bazy danych dla wszystkich kostek używających tej tabeli. Jest to nie 

tylko  marnowanie  przestrzeni,  ale  również  czasu  na  transfer,  który  dla  dużych  baz 

danych  może  trwać  godzinami.  Rozwiązaniem  jest  stosowanie  tzw.  kostek 

wirtualnych,  które  umożliwiają  użycie  jednej  kopii  tabeli  informacyjnej  dla  wszystkich 

kostek korzystających z tej tabeli. Schemat bezpośredniego przetwarzania anlitycznego 

wg metody MOLAP pokazany jest na Rys. 2. 

 

 

Rys. 2. Schemat bezpośredniego przetwarzania analitycznego wg metody MOLAP. 

 

 

 

Hurtownia danych 

SQL Server, 

Oracle, inne 

Ś

rodowisko OLAP 

Kostki 

MOLAP 

Dane MOLAP 

Agregacje MOLAP 

background image

Copyright @ 2005 Alter Systems, ul. Dygasińskiego 21, 01-063 Warszawa,  

www.altersystems.pl

, info@altersystems.pl 

2.  ROLAP: Relacyjne OLAP. Rozwiązanie to polega na umieszczeniu modelu danych w 

relacyjnej  bazie  danych,  bez  stosowania  specjalnych  struktur  wielowymiarowych.  Przy 

ROLAP  usługi  OLAP  używają  tabel  do  tworzenia  schematu  oraz  do  budowy  kostek  i 

agregacji.  W  zależności  od  producenta  w  modelu  danych  może  być  użyty  pełny 

schemat  płatka  śniegu,  w  innych  istnieją  ograniczenia  tylko  do  schematu  gwiazdy.  W 

tym podejściu nie występują zazwyczaj opisane powyżej problemy ze skalowalnością i 

rzadkością.  Większość  produktów  dostępnych  na  rynku  charakteryzuje  się  dobrymi 

metodami  zarządzania  przestrzenią,  co  jest  ogromnym  plusem  w  porównaniu  z 

architekturą  MOLAP.  Poza  tym  językiem  zapytań  jest  SQL,  wykorzystywany  przez 

narzędzia  do  tworzenia  zapytań  zintegrowane  z  produktami  ROLAP.  Niestety  dużą 

wadą  schematu  relacyjnego  OLAP  jest  konieczność  dokonywania  złączeń  podczas 

wyszukiwania  danych,  a  wydajność  takiego  rozwiązania  jest  o  wiele  gorsza  niż 

wydajność  wynikająca  z  rozwiązań  stosowanych  w  MOLAP.  Rozwiązanie 

wykorzystujące ROLAP ilustruje Rys. 3. 

 

 

Rys. 3. Schemat bezpośredniego przetwarzania analitycznego wg metody ROLAP. 

 

3.  HOLAP:  Hybrydowe  OLAP.  Jest  to  rozwiązanie  kompromisowe.  Do  architektury 

MOLAP  odwołania  następują  przy  korzystaniu  z  tej części  danych,  które  umieszczane 

są  w  agregacjach,  natomiast  w  przypadku  danych  szczegółowych  system  korzysta  z 

relacyjnej  bazy  danych.  Zatem  możliwe  jest  zarówno  poprawienie  wydajności, 

Hurtownia danych 

SQL Server, 

Oracle, inne 

Ś

rodowisko OLAP 

Dane ROLAP 

Agregacje ROLAP 

Relacyjna baza 

danych 

background image

Copyright @ 2005 Alter Systems, ul. Dygasińskiego 21, 01-063 Warszawa,  

www.altersystems.pl

, info@altersystems.pl 

aczkolwiek  jedynie  na  poziomie  agregacji,  jak  i  rozwiązanie  kwestii  skalowalności, 

ponieważ wszystkie szczegóły są trzymane w typowych tabelach relacyjnych. Model ten 

przedstawiony jest na rysunku 4. 

 

 

Rys. 4. Schemat bezpośredniego przetwarzania analitycznego wg metody HOLAP. 

 

Podsumowanie 

 

Mimo  pozornej  prostoty  modeli  wymiarowych  dla  hurtowni  danych  oraz  stosowaniu 

metod  projektowania  przy  użyciu  języka  i  sposobów  bardziej  zrozumiałych  dla  ludzi  biznesu, 

przedsięwzięcie budowy hurtowni danych jest procesem bardzo złożonym i obarczonym dużym 

ryzykiem.  Głównym  tego  powodem  jest  fakt,  iż  hurtownie  danych  obejmują  zwykle  całą 

działalność firmy. Przystępując do prac nad tworzeniem hurtownii danych należy przestrzegać 

kilku podstawowych wskazówek, które pozwolą zminimalizowac to ryzyko: 

 

  Właściwe  zaplanowanie  współpracy  na  poziomie  kierownictwa,  menedżerów  i 

analityków  –  jest  to  bowiem  docelowa  grupa  użytkowników  hurtowni  danych  i  jako 

jedyna jest w stanie prawidłowo sformułować wymagania dla hurtowni danych 

  Jasno określony biznesowy cel, uzasadniający tworzenie nowego systemu. Budowanie 

hurtowni danych nie powinno być przedsięwzięciem technologicznym polegającym tylko 

Hurtownia danych 

SQL Server, 

Oracle, inne 

Ś

rodowisko OLAP 

Dane ROLAP 

Agregacje MOLAP 

background image

Copyright @ 2005 Alter Systems, ul. Dygasińskiego 21, 01-063 Warszawa,  

www.altersystems.pl

, info@altersystems.pl 

na  gromadzeniu  dużej  ilości  danych  w  jednej  centralnej  bazie  danych.  Odbiorcy 

systemu  muszą  być  świadomi  informacji  jakie  uzyskają  dzięki  hurtowni  danych  i 

płynących z tego potencjalnych korzyści gospodarczych 

  Dostępność  żródeł  danych  –  sytuacją  idealną  jest  istnienie  w  organizacji  jednego, 

zintegrowanego  żródła  danych  operacyjnych.  Zwykle  jednak  mamy  do  czynienia  z 

funkcjonowanem  wielu  rozproszonych  i  niejednorodnych  systemów,  co  znacznie 

zwiększa  ryzyko  całego  przedsięwzięcia.  W  takej  sytuacji,  przed  przystąpieniem  do 

tworzenia projektu hurtowni danych należałoby stworzyć mechanizmy automatyzujące i 

integrujące systemy operacyjne wykorzystywane w codziennej pracy 

  Jakość  danych  źródłowych  –  jeśli  dane  pochodzące  z  systemów  źródłowych  są 

„zaśmiecone”, a więc są danymi błędnymi bądź nieaktualnymi nie należy oczekiwać, iż 

budowana na ich bazie  hurtownia danych będzie dostarczać wiarygodne  wynki analiz. 

Jakość  informacji  uzyskiwanych  z  hurtowni  danych  w  wyniku  analiz  jest  ściśle 

powiązana z jakością danych źródłowych