Copyright @ 2005 Alter Systems, ul. Dygasińskiego 21, 01-063 Warszawa,
www.altersystems.pl
, info@altersystems.pl
1
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.
Copyright @ 2005 Alter Systems, ul. Dygasińskiego 21, 01-063 Warszawa,
www.altersystems.pl
, info@altersystems.pl
2
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.
Copyright @ 2005 Alter Systems, ul. Dygasińskiego 21, 01-063 Warszawa,
www.altersystems.pl
, info@altersystems.pl
3
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
Copyright @ 2005 Alter Systems, ul. Dygasińskiego 21, 01-063 Warszawa,
www.altersystems.pl
, info@altersystems.pl
4
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
Copyright @ 2005 Alter Systems, ul. Dygasińskiego 21, 01-063 Warszawa,
www.altersystems.pl
, info@altersystems.pl
5
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
Copyright @ 2005 Alter Systems, ul. Dygasińskiego 21, 01-063 Warszawa,
www.altersystems.pl
, info@altersystems.pl
6
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
Copyright @ 2005 Alter Systems, ul. Dygasińskiego 21, 01-063 Warszawa,
www.altersystems.pl
, info@altersystems.pl
7
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
Copyright @ 2005 Alter Systems, ul. Dygasińskiego 21, 01-063 Warszawa,
www.altersystems.pl
, info@altersystems.pl
8
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