Hurtownia danych: (ang. data warehouse) to: uporządkowany tematycznie zintegrowany zawierający wymiar czasowy nieulotny zbiór danych wspomagających podejmowanie decyzji. Często dodaje się jeszcze jeden punkt: Hurtownia danych ma wspomagać przetwarzanie informacji dla celów strategicznych i analitycznych (w przeciwieństwie do systemów transakcyjnych realizujących przetwarzanie dla celów operacyjnych)
Hurtownia danych – rodzaj bazy danych, która jest zorganizowana i zoptymalizowana pod kątem pewnego wycinka rzeczywistości. 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 często pochodzą z wielu źródeł, są one zintegrowane i przeznaczone wyłącznie do odczytu.
W praktyce hurtownie są bazami danych integrującymi wszystkie pozostałe systemy bazodanowe w firmie. Polega ona na cyklicznym zasilaniu hurtowni danymi systemów produkcyjnych. Może być tych baz lub systemów dużo i mogą być rozproszone - dla każdego z nich niezbędne jest więc odpowiednie przeformatowanie danych i ich oczyszczenie, tylko wówczas dane zgromadzone w hurtowni będą stanowiły solidną podstawę do wykonywania miarodajnych analiz.
Architektura hurtowni danych: W hurtowniach danych możemy wyróżnić nastepujące architektury: - schemat gwiazdy:
Schemat gwiazdy jest najprostszym modelem hurtowni danych Schemat gwiazdy jest najprostszym modelem hurtowni danych. Jego nazwa wzięła się z wyglądu schematu danych, w którym w centralnym miejscu znajduje się tabela faktów otoczona przez tabele wymiarów. Dane w tabeli faktów powinny być znormalizowane do trzeciej postaci normalnej, natomiast tabele wymiarów są zwykle zdenormalizowane przy czym dla każdego z wymiarów może występować tylko jedna zdenormalizowana tabela. Tabela faktów składa się z dwóch typów kolumn: - kolumy zawierające wartości numeryczne o danym fakcie tzw. miary - kolumny z kluczami obcymi do tablic wymiarów
Klucz główny tabeli faktów składa się z jej wszystkich kolumn z wyłączeniem kolumn opisujących miary. Tabela faktów może zawierać informacje o faktach na poziome detalicznym lub zagregowanym. Tabele wymiarów są strukturami złożonymi często z jednej lub więcej hierarchii, które służą do kategoryzowania danych. Oprócz kluczy głównych tabele faktów zawierają pola z atrybutami opisującymi dany wymiar. Wielkość tabeli faktów jest znacznie większa od tabel wymiarów. Architektura gwiazdy umożliwia przeglądanie poszczególnych danych z podziałem na kategorie, agregację, sumowanie, oraz filtrowanie.
Schemat gwiazdy dla sprzedaży nieruchomości w firmie WymarzonyDom:
- schemat płatka śniegu Schemat płatka śniegu jest bardziej złożoną wersja schematu gwiazdy ponieważ tabele które opisują wymiary są znormalizowane - każdy wymiar może mieć kilka własnych wymiarów. Używany przede wszystkim w sytuacjach gdy mamy do czynienia z bardzo złożonymi wymiarami oraz aby lepiej odzwierciedlić sposób myślenia użytkowników o danych. W praktyce często stosuje się kombinacje schematu płatka śniegu i gwiazdy poprzez normalizacje jednych wymiarów i denormalizację innych (jak w schemacie konstelacji faktów).
- schemat konstelacji faktów Schemat konstelacji faktów stanowi rozwiązanie pośrednie między gwiazdą a płatkiem śniegu. W schemacie tym część tabel wymiarów jest znormalizowanych a część zdenormalizowanych oraz zwykle występuje więcej niż jedna tabela faktów. Ponadto tabele faktów są ze sobą powiązane w relacji 1:1 lub 1:n oraz mogą współdzielić te same tabele wymiarów.
Miara a wymiar: różnica między nimi polega na tym, że miara zawiera wartości liczbowe, natomiast wymiar wartości opisowe (tekstowe) danej charakterystyki. Np. jeśli chcemy opisać sprzedaż samochodów to ilość sprzedanych samochodów to miara, natomiast marka to wymiar. Wymiary są informacjami referencyjnymi i określają kontekst analiz miar. W modelu wielowymiarowym każda miara jest powiązana z kilkoma wymiarami. Wymiar najczęściej posiada strukturę hierarchiczną, określającą sposób agregacji wartości skojarzonych z nim miar.
Najbardziej typową hierarchią wymiaru jest hierarchia bazująca na poziomach, posiada powiązania referencyjne typu parent-child pomiędzy wystąpieniami wymiaru, które umożliwiają grupowanie członków wymiaru w poziomy, np. dni tygodnia przypisujemy do jednego poziomu, tygodnie do drugiego a miesiące do trzeciego. W sytuacji gdy hierarchia posiada powiązania typu parent-child ale nie posiada poziomów mamy do czynienia z wymiarem bazującym na wartościach, np. dla każdego pracownika możemy wyznaczyć jego kierownika, jednak grupowanie tak wyznaczonych kierowników nie będzie miało większego sensu bo kierownika załóżmy zespołu zajmującego się sprzedażą nie można porównać z kierownikiem dyrektora regionu sprzedaży. Jeśli wymiar nie posiada hierarchii i poziomów, nosi nazwę wymiaru płaskiego lub listy.
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 zależności od rodzaju hurtowni dane w jej rekordach mogą być zagregowane lub zawierać nawet informacje szczątkowe. Oznacza to, że pewne dane w hurtowni nie są przechowywane w postaci rozdrobnionej a tylko jako ich suma.
Architektura hurtowni danych wg. motorów baz danych Silniki baz danych hurtowni danych opartych na koncepcji wielowymiarowej kostki OLAP możemy podzielić na: - ROLAP-Relational OLAP. W rozwiązaniu tym dane odczytywane są z zewnętrznych tablic relacyjnych przez co polecenia użytkownika w postaci zapytań SQL do danych elementarnych i zagregowanych muszą zawsze trafić do RDBMS. Serwer analityczny (kostka) wykorzystywany jest wyłącznie jako warstwa pośrednia między klientem a RDBMS. Struktura ROLAP zapewnia wolniejszy dostęp do danych w porównaniu do MOLAP i HOLAP. Wykorzystywana dla dużych zbiorów danych o stosunkowo rzadkim użyciu.
- MOLAP-Multidimensional OLAP - MOLAP-Multidimensional OLAP. Charakteryzuje się tym, że dane są przechowywane w wielowymiarowej bazie danych w postaci wielowymiarowych tablic – kostek (ang. multidimensional array, datacube) zawierających dane o różnym stopniu agregacji. Wielowymiarowa struktura jest w stanie zapewnić najszybszy dostęp do danych. Jest najbardziej odpowiednia dla danych o częstym użyciu i wysokich wymaganiach odnośnie czasu odpowiedzi. - HOLAP-Hybrid OLAP. Kobinacja rozwiązań ROLAP i MOLAP. Wykorzystuje się tu jednocześnie wielowymiarowe(dane zagregowane) oraz relacyjne(dane elementarne, bez dublowania) bazy danych. Zapytania drążące są wykonywane wolniej ponieważ działają na strukturze relacyjnej. Dane w HOLAP mają zwykle mniejszy rozmiar. Struktury HOLAP są przeznaczone dla potrzeb szybkiego dostępu do agragacji bazujących na dużych zbiorach danych.
Kostka wielowymiarowa (Multidimensional OLAP Cube) Wielowymiarowa kostka OLAP (cube) jest podstawową strukturą danych w każdym systemie OLAP działającym w środowisku Hurtowni Danych. Cube składa się z Miar (Measures), Wymiarów (Dimensions) i Poziomów (Levels) i jest zoptymalizowany pod kątem szybkiego i bezpiecznego dostępu do danych wielowymiarowych. Miary to wskaźniki numeryczne (ile?), natomiast wymiary reprezentują dane opisowe (kto? co? kiedy? gdzie?). Wymiary są pogrupowane za pomocą poziomów, które odzwierciedlają hierarchię funkcjonującą w organizacji i pozwalają użytkownikom końcowym zwiększać lub zmniejszać poziom szczegółowości analizowanego wymiaru.
Z reguły w hurtowni danych jest zdefiniowanych co najmniej kilkanaście wymiarów, a najczęściej spotykanym i wymiarami są: Czas Klient Produkt Lokalizacja Biuro Sprzedaży Hierarchia każdego z wymiarów ustawiona jest za pomocą Poziomów. Przykładowo, hierarchia poziomów może być ułożona w następujący sposób: wymiar Czas: Rok -> Kwartał -> Miesiąc -> Tydzień -> Dzień Klient: Grupa klientów -> Nazwa klienta Produkt: Linia Produktu -> Grupa Produktu -> Produkt Lokalizacja: Obszar -> Region -> Kraj
Kategorie to elementy danych które opisują poziomy w wymiarach. Przykładowo, dla wymiaru Lokalizacji, w hurtowni danych zostały ustawione poziomy obszaru, regionu i kraju. W tym przykładzie dla Polski kategoriami będą: Obszar - Europa Region - Europa Środkowa Kraj - Polska Typowe, najczęściej występujące Miary w hurtowniach danych to: Przychód netto Przychód brutto Waga Ilość Koszt Upust
Hurtownie danych - spotykane najczęściej w średnich i dużych firmach, gdzie ilości składowanych informacji liczone są w dziesiątkach, setkach gigabajtów. Głównym celem ich tworzenia jest wspomaganie przetwarzania informacji dla celów strategicznych i analitycznych (systemy wspomagające podejmowanie decyzji). Dobrze zaprojektowana hurtownia danych to solidna podstawa dla systemów analitycznych i źródło informacji do podejmowania decyzji w przedsiębiorstwie. Błędy w projekcie hurtowni spowodują natomiast załamanie całego systemu informowania, a ich późniejsze usunięcie może być bardzo kosztowne.
Przedsiębiorstwo: Współczesne, sprawnie funkcjonujące przedsiębiorstwo powinno umieć odpowiedzieć na kilka zasadniczych pytań dotyczących swej działalności. Przygotowanie odpowiednich raportów prezentujących całościowy obraz działalności firmy jest jednym z najważniejszych aspektów sprawnego funkcjonowania przedsiębiorstwa. Na podstawie takich zbiorczych danych można właściwie planować działalność firmy i podejmować decyzje na przyszłość.
Hurtownie danych stały się również istotnym narzędziem wspomagającym sprzedaż, marketing, promocje a nawet sposób wystawiania towarów w sektorze handlu. Wykorzystując analizę danych dziesiątek tysięcy nawet setek tysięcy transakcji dla tysięcy oferowanych produktów, można ściśle określić preferencje klientów i zależności pomiędzy produktami. Wszystkie te działania przekładają się na wymierne wyniki finansowe, znacznie przewyższające koszty wdrożenia hurtowni danych.
Hurtownia danych gromadzi dane ze wszystkich systemów działających w obrębie organizacji, stanowi więc źródło analiz w kontekście całej działalności. Dane zorganizowane są pod kątem dostarczania w jak najkrótszym czasie rzetelnych informacji o aktualnym stanie firmy.
Hurtownia danych nie jest więc systemem, który można kupić "z półki" Hurtownia danych nie jest więc systemem, który można kupić "z półki". Skoro ma wspomagać realizację strategicznych celów organizacji - musi być zaprojektowana ze szczególnym położeniem nacisku na strategię firmy. Głównym beneficjentem takiego systemu jest kadra zarządzająca oraz kierownictwo średniego szczebla, analitycy. To przede wszystkim ich potrzeby powinna zaspokajać hurtownia danych. Zasadniczym motywatorem projektu hurtowni danych jest możliwość śledzenia najistotniejszych z punktu widzenia organizacji wskaźników (rentowność produktów czy klientów, ryzyko kredytowe, poziom zadowolenia klienta, rotacja klientów, jakość procesu produkcyjnego itd.), a nie objęcie zakresem systemu zadań wynikających z realizacji w przedsiębiorstwie pewnych konkretnych procesów gospodarczych.
Zbierane dane są uzgadniane, konsolidowane i przechowywane w jednolitej formie w hurtowni danych, gdzie otrzymują zrozumiałe i intuicyjne nazwy oraz opisy tworząc proste i czytelne informacje. Informacje w hurtowni mogą być uzupełnione o plany lub prognozy, a także złożone wskaźniki automatycznie wyliczane z informacji bazowych. Odpowiednie narzędzia przekształcają te informacje w wiedzę prezentowana w postaci raportów, wykresów, tabel, kostek danych. Wiedza ta trafia za pośrednictwem sieci lokalnych lub Internetu do odpowiednich użytkowników.
Przepływ informacji w hurtowni danych:
Przykłady pytań na jakie można odpowiedzieć dzięki zastosowaniu hurtowni danych: Jak kształtuje się sprzedaż w poszczególnych okresach czasu; na tej podstawie można sprawdzić czy sprzedaż rośnie czy maleje, kiedy była największa, a kiedy najmniejsza i wyciągnąć odpowiednie wnioski. Który z klientów kupuje najwięcej, a który najmniej w wybranych okresach czasu. Pozwoli to na zastosowanie odpowiednich promocji, skierowanie ofert do określonych klientów. Który z oddziałów firmy prosperuje najlepiej, a który najgorzej.
Jak pracują akwizytorzy, który może pochwalić się największą sprzedażą. Jak kształtuje się sprzedaż w rozbiciu na grupy towarowe w poszczególnych okresach czasu z uwzględnieniem konkretnych klientów. Którzy klienci płacą regularnie, a którzy zalegają z płatnościami, ile zalegają, ile zalegają z uwzględnieniem naliczonych odsetek. W którym mieście sprzedaż jest największa. Które produkty sprzedają się najlepiej.
Czy też inne: Jaki był ogólny dochód w województwie małopolskim w trzecim kwartale 2015 roku? Jaki był ogólny dochód ze sprzedaży nieruchomości dla każdego typu nieruchomości w całym kraju w 2015 roku? Jakie trzy dzielnice były najbardziej popularne wśród wynajmujących nieruchomości w każdym mieście w 2015 roku i jakie zaszły zmiany w stosunku do wyników z poprzednich dwóch lat? Jakie rodzaje nieruchomości sprzedawane są powyżej średnich cen sprzedaży nieruchomości w głównych miastach i jakie są tu korelacje z danymi demograficznymi?
Korzyści z korzystania z hurtowni danych: Korzystanie z odpowiednio skonstruowanej hurtowni danych i stworzonych na jej podstawie raportów pozwala na: zwiększenie obrotów dla produktów; ograniczenie promocji towarów, które dobrze się sprzedają; zmniejszenie stanów lub usunięcie towarów wolno rotujących na półkach; zmniejszenie odpływu klientów mało aktywnych (poprzez zastosowanie w odpowiednim momencie promocji lub określonej atrakcyjnej oferty); zmniejszenie wszelkich zadłużeń; tworzenie 'inteligentnych' kampanii, dzięki którym można zmniejszyć koszty marketingowe.
Ryzyko projektu budowy Hurtowni Danych: Hurtownia danych obejmuje całą działalność firmy - jest więc systemem bardzo złożonym. Praktyka wskazuje, że wraz ze złożonością systemu rośnie ryzyko niepowodzenia przedsięwzięcia. Jak można zatem sobie pomóc, aby minimalizować ryzyko niepowodzenia projektu, czyli jakie podjąć działania aby osiągnąć zakładane korzyści w zakładanym czasie? Są to przede wszystkim: ścisła współpraca z użytkownikami, sensowne planowanie przedsięwzięcia zarówno od strony merytorycznej, jak i technicznej, oraz iteracyjny cykl wdrażania systemu.
Czynniki sukcesu: Kiedy warto myśleć o budowie hurtowni danych? Warunkiem koniecznym jest istnienie systemu (lub systemów) stanowiących źródło danych dla hurtowni danych, czyli wspomnianych Systemów Zarządzania Przedsiębiorstwem. Określa się jeszcze kilka czynników pozwalających ocenić poziom przygotowania organizacji do uruchomienia projektu budowy hurtowni danych. Wśród najważniejszych należy wymienić cztery:
1. Dostępność źródeł danych. Ideałem byłoby, gdyby w organizacji istniało jedno, udokumentowane, wewnętrzne, zautomatyzowane źródło danych odpowiadających potrzebom informacyjnym organizacji. Niestety zazwyczaj mamy do czynienia z wieloma nieudokumentowanymi, zewnętrznymi, niezautomatyzowanymi źródłami. Nie uniemożliwia to jeszcze budowy hurtowni danych - jedynie podnosi ryzyko takiego przedsięwzięcia i zapewne jeśli tylko mamy wybór warto w pierwszej kolejności zająć się budową rozwiązań automatyzujących codzienną pracę, a dopiero później myśleć o hurtowni danych.
2. Świadomość odbiorców systemu co do informacji, które chcą z niego otrzymywać i jasne powiązanie tych informacji z potencjalnymi korzyściami gospodarczymi dla organizacji. Bez takiego powiązania możemy zbudować "fantastyczny" system, ale nie wnoszący żadnej wartości dodanej. 3. Zakres – którym można zarządzać i tak go dzielić na kolejne fragmenty systemu aby były one wykonalne w czasie 3-4 miesięcy oraz były ściśle powiązane z korzyściami dla organizacji.
4. Umocowanie projektu – Budowa hurtowni danych jest w gruncie rzeczy przedsięwzięciem biznesowym i do tego sterowanym potrzebami informacyjnymi o strategicznym znaczeniu. W związku z tym bez zaangażowania ze strony kierownictwa organizacji trudno będzie mówić o powodzeniu projektu. Zazwyczaj sytuacja odbiega nieco od ideału. Analiza organizacji pod kątem powyższych czynników jest sposobem zwrócenia uwagi na istotne problemy, mogące wystąpić podczas budowy hurtowni danych.
Dodatkowym problemem, jakże często występującym w wielu organizacjach jest niska jakość danych. Jakość informacji uzyskiwanych z hurtowni danych zawsze będzie adekwatna do jakości danych źródłowych. Nie oznacza to oczywiście, że "wyczyszczenie" danych źródłowych nie jest możliwe - oczywiście, w większości przypadków daje się to zrobić, często jednak wymaga to dodatkowej pracy użytkowników jak również zespołu realizującego hurtownię danych.
Projektowanie hurtowni danych: Metoda dziewięciu kroków: Wybór procesu; Wybór poziomu szczegółowości; Identyfikacja i uzgodnienie wymiarów; Wybór faktów; Umieszczenie wstępnych obliczeń w tabeli faktów Zaokrąglanie tabeli wymiarów Wybór zakresu czasowego bazy danych; Śledzenie wolno zmieniających się wymiarów; Określenie priorytetów zapytań i trybów zapytań.
Schemat gwiazdy dla sprzedaży nieruchomości w firmie WymarzonyDom:
Model związków encji dla rozszerzonej wersji projektu WymarzonyDom:
Model wielowymiarowy dla hurtowni danych WymarzonyDom:
Inne przykłady hurtowni danych: Comarch: http://www.comarch.pl/ http://www.comarch.pl/erp/business-intelligence-comarch-erp/uslugi-business-intelligence/hurtownie-danych/ Projekt „Elektroniczna Platforma Gromadzenia, Analizy i Udostępniania zasobów cyfrowych o Zdarzeniach Medycznych" (P1): http://p1.csioz.gov.pl/11
Rozproszone bazy danych Rozproszona baza danych to zbiór powiązanych baz danych, które rozproszone są w sieci komputerowej. Rozproszony system baz danych to zbiór oprogramowania, które umożliwia administrowanie rozproszoną bazą danych. Rozproszeniem jest również połączenie kilku komputerów klienckich do jednej bazy danych.
Schemat połączenia oddziałów firmy
Architektura klient – serwer
Technika replikacji w rozproszonej bazie danych Replikacja danych - kopia całości lub jakiejś części danych przechowywanych w innej części całej bazy danych, co zwiększa dostępność danych. Kopia całej bazy danych jest przechowywana w każdym węźle rozproszonej bazy danych. Jest to szczególnie bezpieczne rozwiązanie, ponieważ w razie awarii jednego z węzłów dane mogą zostać szybko odzyskane z innego węzła. Przykładem zastosowania replikacji danych jest wymiana i wzajemne uzupełnianie się danych pomiędzy centralną przychodnią, a jej oddziałami. Wszystkie dane powstające i przechowywane w centrali i filiach przychodni podlegają nieustannym zmianom.
Zastosowanie replikacji w medycynie
Zastosowanie replikacji w medycynie W każdej z filii do bazy danych dopisywane są nowe indeksy. Siedziby tych przychodni znajdują się w różnych miejscach, więc każda z nich ma swoją bazę danych. Istnieje tyle baz danych, ile jest filii przychodni. Ich bazy danych różnią się zawartością danych. Replikacja danych integruje wszystkie dane z oddziałów przychodni, aby w każdy węźle była taka sama zawartość bazy danych. Dzięki takiemu rozwiązaniu zastosowaniu uzyskujemy zwiększenie szybkości przetwarzania zapytań, ponieważ są one przetwarzane w lokalnym węźle. Nie ma potrzeby wysyłania zapytań poza przychodnię.
Technika replikacji w rozproszonej bazie danych Największą wadą replikacji jest częste przeprowadzanie aktualizacji, ponieważ zawartość bazy danych musi być taka sama w każdym węźle rozproszonej bazy danych. Powoduje to spowolnienie całego systemu, szczególnie, gdy jest wiele węzłów. Aby replikacja mogła poprawnie pracować wymagana jest jednolita struktura danych. Centrala i wszystkie oddziały firmy muszą przechowywać dane według identycznego schematu.
Bezpieczeństwo baz danych: Mechanizm zabezpieczający bazę danych przed przypadkowym lub celowym zagrożeniem, jak np.: kradzież i defraudacja; utrata poufności (tajności) danych (dane o kluczowym znaczeniu dla instytucji); utrata prywatności (dane osób prywatnych); brak integralności (powstanie niespójnych lub błędnych danych); uniemożliwienie dostępu.
Zabezpieczenia systemowe: Uprawnienia; Perspektywy (użytkownik nie jest świadom istnienia atrybutów i wierszy, które nie znajdują się w perspektywie – bardziej ograniczony dostęp niż do relacji z odpowiednimi prawami); Składowanie (wykonywany okresowo proces tworzenia kopii bazy danych i pliku dziennika na dodatkowych nośnikach pamięci) i odtwarzanie (w razie awarii kopia archiwalna i szczegóły zapisane w dzienniku służą do odtworzenia spójnego, jak najbardziej aktualnego stanu bazy danych ); Integralność (więzy integralności zapobiegają wystąpieniu niepoprawnych danych, które mogłyby spowodować wygenerowanie); Szyfrowanie (symetryczne i niesymetryczne);