Usługi analityczne – podstawy budowy kostki analitycznej, cz. III

Opublikowano: 1 lutego 2007
Zawartość strony
Partycje (Partitions)Partycje (Partitions)
Perspektywa (Perspective)Perspektywa (Perspective)
Translacja (Translation)Translacja (Translation)
Przeglądarka kostek analitycznych (Browser)Przeglądarka kostek analitycznych (Browser)
Przeczytaj pozostałe części artykułuPrzeczytaj pozostałe części artykułu

Partycje (Partitions)

Sposób przechowywania informacji, wykorzystywanych w kostkach analitycznych może przybierać różną postać. W SQL 2005 wprowadzono zasadnicze różnice w budowie mechanizmu komunikacji ze źródłami danych. Jedną z najważniejszych zmian, jest wprowadzenie aktywnych mechanizmów buforowania (proactive caching). Mechanizm ten pozwala budować aplikacje analityczne pracujące w trybie on-line.

W przypadku kostek analitycznych możemy zdefiniować kilka lokalizacji przechowywania danych – partycji. Każda z partycji może przechowywać dane w różnych strukturach. Wykorzystuje się je w sytuacji, gdy dane archiwalne nie muszą być już aktualizowane. Wobec tego można wykorzystać struktury danych MOLAP (patrz poniżej). Dane bieżące przechowujemy w partycji zdefiniowanej jako np. HOLAP Real-time, dzięki temu możemy analizować zawsze aktualne informacje.

Wspomniane powyżej struktury przechowywania danych obejmują następujące opcje:

MOLAP - architektura przechowywania kostki analitycznej, w której wszystkie wartości pomiarowe i agregacje przechowywane są w bazie wielowymiarowej (OLAP). W tym trybie kostka nie reaguje na zmiany danych źródłowych a proces przebudowy kostki musi być wykonywany ręcznie.

MOLAP scheduled - tryb pracy, w którym wszystkie wartości pomiarowe i agregacje przechowywane są w bazie wielowymiarowej. Kostka nie reaguje na zmiany danych źródłowych. Proces budowy kostki jest inicjowany co 24 godziny.

MOLAP automatic - wartości pomiarowe i agregacje przechowywane są w bazie MOLAP. Serwer kontroluje zmiany danych źródłowych i następuje pobranie danych do kostki co dwie godziny.

MOLAP Medium-latency - wartości pomiarowe i agregacje przechowywane są w bazie MOLAP. Serwer kontroluje zmiany danych źródłowych i następuje pobranie danych do kostki co cztery godziny.

MOLAP Low-latency - wartości pomiarowe i agregacje przechowywane są w bazie MOLAP. Serwer kontroluje zmiany danych źródłowych i następuje pobranie danych do kostki co trzydzieści minut.

HOLAP Real-time - wartości pomiarowe przechowywane są w formacje baz relacyjnych (typowo: hurtownia danych). Wartości agregowane przechowywane są w bazie wielowymiarowej MOLAP. Kosta analityczna prezentuje aktualne dane pochodzące z baz relacyjnych.

ROLAP Real-time - wartości pomiarowe oraz agregacje przechowywane są w bazach relacyjnych. Kostka analityczna prezentuje aktualne dane a serwer natychmiast reaguje na zmiany danych.

Definicja mechanizmów przechowywania danych

Rys. 1. Definicja mechanizmów przechowywania danych.

Ponadto, opcja „custom settings” umożliwia zdefiniowanie swoich własnych parametrów przechowywania danych w zakresie opóźnień związanych z prezentacją i wykorzystaniem proactive caching.

Ostatnim elementem konfiguracji przechowywania kostki analitycznej jest możliwość zdefiniowania parametrów budowy agregacji. Poprzez uruchomienie kreatora możemy precyzyjnie określić takie parametry, jak wielkość bazy z agregacjami czy też procent zagregowanych wartości.

Uwaga: W kostce analitycznej niekoniecznie muszą być wyliczone wszystkie agregacje. Jeżeli posiadamy agregacje na różnych poziomach hierarchii, to wartość globalna może być podsumowaniem wartości pośrednich, a nie wyliczeniem tych wartości atomowych.

Generowanie agregacji możemy realizować w oparciu o następujące opcje:

Maksymalna wielkość bazy

Poziom wydajności

Ręczne zatrzymanie realizacji wydajności

Opcje definiowana agregacji

Rys. 2. Opcje definiowana agregacji.

Do początku stronyDo początku strony

Perspektywa (Perspective)

Zdefiniowana przez nas kostka analityczna może zawierać dziesiątki wartości pomiarowych oraz wymiarów. Jednak w wielu zastosowaniach użytkownicy mogą potrzebować tylko określonych informacji, związanych z wartościami pomiarowymi czy też wymiarami opartymi na danej kostce. W celu ułatwienia korzystania z tak dużej kostki możliwe jest zdefiniowanie perspektywy – czyli widoku – zawierającego wymagane przez nas dane.

Tworzenie perspektywy

Rys. 3 Tworzenie perspektywy.

Utworzona perspektywa może zawierać wybrane przez nas wartości pomiarowe lub całe grupy pomiarowe, wymiary bądź poszczególne elementy w hierarchii wymiarów, wskaźniki wydajności oraz zdefiniowane mechanizmy obliczeniowe. Tak zdefiniowana perspektywa posiada swoją własną nazwę. Ponadto, istnieje możliwość nadawania użytkownikom uprawnień do poszczególnych perspektyw.

Do początku stronyDo początku strony

Translacja (Translation)

W usługach analitycznych serwera SQL 2005 wprowadzono bardzo proste techniki translacji opisów wymiarów i wartości pomiarowych na dowolny język. Procedura tworzenia mechanizmu translacji przebiega następująco: po wybraniu określonego języka, samodzielnie definiujemy tłumaczenia dla poszczególnych elementów.

Translacja wymiarów i wartości pomiarowych na język polski

Rys. 4 Translacja wymiarów i wartości pomiarowych na język polski.

Wykorzystanie tak zdefiniowanych nazw u klienta wymaga określenia domyślnego języka wykorzystywanego przez klienta.

Do początku stronyDo początku strony

Przeglądarka kostek analitycznych (Browser)

Mając przygotowane wszystkie elementy związane z kostką analityczną, możemy dokonać procesu budowy kostki oraz wyliczenia agregacji. W zależności od potrzeb, proces budowy kostki może obejmować przebudowę całej struktury kostki, realizację agregacji czy też przyrostową przebudowę kostki.

Generowanie kostki analitycznej

Rys. 5 Generowanie kostki analitycznej.

BI Development Studio ma wbudowaną przeglądarkę kostek analitycznych – browser. W lewej części okna znajdują się wszystkie dostępne wymiary oraz wartości pomiarowe. W centralnej części znajduje się okno organizacyjne, umożliwiające zbudowanie widoku do analizy danych. W oknie znajdują się pola umożliwiające umieszczenie wybranych wymiarów, czy też hierarchii. Dodatkowy obszar na górze przeglądarki umożliwia zbudowanie wyrażenia, dodatkowo filtrującego wybrane dane. Przeglądarka umożliwia dołączenie się do wybranej kostki lub perspektywy oraz wybranie domyślnego języka. Wybranie w naszym przykładzie języka polskiego powoduje, że przetłumaczone pola wyświetlone są w języku polskim.

Oprócz podstawowych zadań, browser umożliwia wykonywanie zadań dodatkowych takich jak sortowanie danych, filtrowanie czy też formatowanie określonych komórek lub hierarchii.

Efektem naszego projektu jest kostka analityczna, dla której dobraliśmy parametry, związane z wcześniej definiowanymi elementami:

hierarchia – „rok kalendarzowy”,

perspektywa – „dział marketingu”,

język – „polski”,

wartości obliczeniowe – „rozstępy” oraz „średnia”,

dodatkowo – zdefiniowano formatowanie podsumowania.

Efekt tworzenia kostki analitycznej

Rys. 5 Efekt tworzenia kostki analitycznej.

Do początku stronyDo początku strony

Przeczytaj pozostałe części artykułu

Usługi analityczne – podstawy budowy kostki analitycznej, cz. I

Usługi analityczne – podstawy budowy kostki analitycznej, cz. II


Tomasz Skurniak

Tomasz Skurniak
Doświadczony projektant systemów informatycznych opartych o technologię Microsoft, Active Directory, rozwiązania pracy grupowej oraz infrastrukturę PKI. Prowadzi projekty oraz szkolenia związane z mechanizmami analizy danych opartych o hurtownie danych. Przygotowuje wdrożenia związane z mechanizmami
data mining, w systemach biznesowych. Od ponad 10 lat prowadzi szkolenia z zaawansowanych technologii informatycznych. Obecnie zajmuje się głównie technologiami baz danych i ich optymalizacji.


Do początku stronyDo początku strony