Próbkowanie w hurtowniach danych

Statystyczne metody zmniejszania zapotrzebowania na dane umożliwiają skrócenie czasu odpowiedzi na zapytania analityczne do hurtowni danych.

Statystyczne metody zmniejszania zapotrzebowania na dane umożliwiają skrócenie czasu odpowiedzi na zapytania analityczne do hurtowni danych.

Hurtownie danych pojawiły się na rynku na początku lat 90. Ich ogromny rozwój wynikał z zastosowania programów analitycznych typu OLAP (Online Analytical Processsing) do baz danych, które w tym czasie miały rozmiar ok. 10 GB. Według dzisiejszych standardów, taka baza może uchodzić co najwyżej za średnią minihurtownię danych (data mart). Dostępność aplikacji analitycznych OLAP w przedsiębiorstwie spowodowała znaczny wzrost zapotrzebowania na informacje, czego efektem są obecne hurtownie danych mające rozmiary liczone w terabajtach, a miarą jakości systemu ich obsługi jest nie tylko wydajność, ale również skalowalność.

Nowe opracowania tanich narzędzi analitycznych zachęcają do udostępniania danych z hurtowni użytkownikom na każdym szczeblu zarządzania w przedsiębiorstwie, nie tylko analitykom finansowym czy pracownikom marketingu. Istnieją więc już rozwiązania hurtowni danych, do których dostęp mają setki lub tysiące użytkowników. Problem skalowalności i wydajności hurtowni danych stał się palący: jak zapewnić wszystkim użytkownikom odpowiedni czas odpowiedzi, przy coraz większym rozmiarze bazy, do której zadają zapytanie.

Próbkowanie populacji danych

Próbkowanie to technika statystyczna oceny wyników na podstawie próbki pobranej z małej części populacji. Znane jest od lat, natomiast nigdy nie było stosowane w hurtowniach danych. Dopiero w 1997 r. Informix wprowadził je do swoich narzędzi analitycznych, wierząc, że ta technika spowoduje przełom w zakresie wydajności i skalowalności hurtowni danych. Informix Software wbudował możliwości stosowania próbkowania danych w hurtowniach obsługiwanych przez Informix OnLine Extended Parallel Server (pracujący na sprzęcie masowo równoległym MPP) i w serwer wielowymiarowej bazy danych MetaCube, przeznaczony do obsługi hurtowni danych.

Analiza trendów

Użytkownicy biznesowi, sięgający do hurtowni danych, na ogół kierują się informacjami o trendach - w zakupach, wymaganiach i przyzwyczajeniach klientów, sposobach płacenia. Zwykle proces analizowania rozpoczyna się od wierzchołka hierarchii danych - do wykrywania trendów używa się informacji zagregowanych, po czym pogłębia analizę, sięgając po dane szczegółowe.

Drążenie danych to typowa praktyka analityczna w procesach podejmowania decyzji. Zwykle sprowadza się do wybrania określonego detalu w raporcie i poszukiwania szczegółowej informacji o nim.

Rozważmy przykład banku. Analityk zajmie się rentownością różnych produktów. Może on stwierdzić, że wysoko rentowne są rachunki bieżące i terminowe, natomiast skrytki bankowe nie przynoszą dochodu. Wniosek o ich zlikwidowaniu może być jednak pochopny. Bardziej szczegółowa analiza wykaże bowiem, że prawie każdy posiadacz skrytki jest jednocześnie klientem biura maklerskiego, a także właścicielem sporego portfela akcji i obligacji. Zlikwidowanie jego skrytki zmusi go do przejścia do innego banku.

Im głębiej posuwamy się w hierarchii danych, tym większe wolumeny danych trzeba poddać analizie. Czas odpowiedzi systemu coraz bardziej zależy od wydajności sprzętu, równoległości przetwarzania zapytań, partycjonowania bazy i ogólnej skalowalności systemu. Nierzadko czas odpowiedzi na skomplikowane zapytanie analityczne przychodzi mierzyć w godzinach!

Aby sprostać tym wymaganiom, projektant hurtowni danych stosuje różne techniki, poczynając od przewidywania wszystkich możliwych zapytań użytkowników i wprowadzenia do bazy wstępnie zsumowanych wyników (tj. zagregowanych) danych, aż po stosowanie specjalizowanych serwerów baz danych, dokonujących agregowania na bieżąco podczas przeglądania bazy. Informix oferuje inne rozwiązanie.

Co to jest agregowanie danych?

Agregowanie to tworzenie sumarycznych danych transakcyjnych podczas wgrywania danych do bazy, w celu zmniejszenia obciążenia systemu. Zamiast sumować miliony rekordów, kiedy użytkownik zażąda danych, baza może podać wynik przygotowany wcześniej. Zamiast sumować wszystkie operacje sprzedaży za kwartał, system zsumuje jedynie trzy wyniki zagregowane za poszczególne miesiące.

Agregowanie nie rozwiązuje jednak wszystkich problemów. Rosnąca wielkość danych wgrywanych codziennie lub co tydzień do bazy przy stałym "okienku" ładowania (np. 3 godz. nocą) nie pozwala na stworzenie w tym czasie wszystkich agregacji potrzebnych użytkownikom. Jednym z największych problemów w projektowaniu hurtowni danych jest znalezienie sposobu na załadowanie w zadanym czasie i zagregowanie danych w trakcie kolejnego procesu ładowania hurtowni. Ponadto ładowanie i zapamiętywanie w hurtowni coraz większych wolumenów danych to zwiększający się koszt, mimo malejących cen systemów dyskowych - rozmiar danych rośnie szybciej niż maleją koszty ich magazynowania.


TOP 200