Dużo czy mało danych?

W systemie Applix TM1 dane do analizy są ładowane do pamięci operacyjnej. Ogranicza to rozmiar bazy danych. Nie oznacza to jednak, że baza musi być mała mała.

W systemie Applix TM1 dane do analizy są ładowane do pamięci operacyjnej. Ogranicza to rozmiar bazy danych. Nie oznacza to jednak, że baza musi być mała mała.

W artykule "Pamięciowa analiza" (CW 46/98) ukazał się artykuł opisujący system analityczny Applix TM1. Niestety, ze względu na brak możliwości szczegółowego opisu można byłoby wyciągnąć z jego lektury błędne wnioski. We wspomnianym artykule system analizowany jest jedynie jako narzędzie klasy OLAP. Stąd potrzebne jest uzupełnienie.

Termin OLAP ma bardzo ścisłą definicję formalną, podaną przez jego twórcę Edgara Codda. Istnieje też kilka innych, również znanych definicji - autorstwa OLAP Council czy też bardzo trafny "FASMI" test, sformułowany przez Nigela Pendse. W żadnej z tych definicji nie ma wzmianki o jakiejkolwiek zależności między narzędziami OLAP a hurtowniami danych. Nie ma w nich w ogóle mowy o rodzaju źródła danych. Jest ono jednak bardzo ważne - decyduje bowiem o wielu cechach systemu, a przede wszystkim o jego pojemności i szybkości. Dlatego też jest podstawą klasycznego podziału systemów OLAP na relacyjne (ROLAP - Relational OLAP), wielowymiarowe (MOLAP - Multidimensional OLAP) oraz hybrydowe (HOLAP - Hybrid OLAP).

Applix TM1 jest przede wszystkim serwerem wielowymiarowej bazy danych. Wraz z dostarczanymi aplikacjami jest zaliczany do kategorii narzędzi MOLAP. W grupie tej wyróżnia się dwa rodzaje architektury: przetwarzające dane zgromadzone na dysku (Disk based MDB) lub w pamięci operacyjnej (RAM based MDB lub RAM Cubes). Przykładem pierwszego rozwiązania jest Oracle Express, drugiego - właśnie TM1. Dyskowe bazy wielowymiarowe większość informacji przechowują w plikach o specyficznej strukturze i używają stosunkowo niewiele pamięci operacyjnej, natomiast te drugie pamięci dyskowej używają jedynie do przechowywania danych między sesjami oraz dla bezpieczeństwa. Pierwsze są bardziej pojemne, drugie - wielokrotnie szybsze. Dzieje się tak dlatego że pamięć operacyjna jest ok. 150 razy szybsza od dyskowej. W bazach dyskowych mogą być stosowane indeksowania i prekalkulacje, które zwiększają wydajność przetwarzania analitycznego, ale też znacząco zwiększają rozmiar bazy danych. Mimo tych zabiegów systemy typu RAM based są od nich szybsze, przy zachowaniu możliwości dynamicznej aktualizacji danych.

W systemie TM1 dane do analizy są ładowane do pamięci operacyjnej. Jest to wyraźne ograniczenie rozmiaru bazy danych, choć nie oznacza, że jest ona mała. Nie są tutaj wykorzystywane żadne "pamięciożerne" metody przyspieszania przetwarzania - pojedyncza dana numeryczna zajmuje 10-15 bajtów (w bazach dyskowych 50-100 bajtów bez uwzględnienia indeksów i preagregacji). Daje to pojemność rzędu 45 milionów komórek w 500 MB RAM, co odpowiada skomplikowanemu modelowi finansowemu dla dużego, międzynarodowego przedsiębiorstwa. Można powiedzieć, że 500 MB pamięci to bardzo dużo. Tak, ale tylko na jednym komputerze - system działa w architekturze klient/serwer, wszystkie operacje dokonywane są na serwerze, a stacja kliencka nie wymaga znacznej ilości pamięci operacyjnej.

Atutem serwera TM1 jest architektura multicube. Baza danych może przechowywać informacje w wielu przestrzeniach analitycznych - kostkach (hipersześcianach) danych, a nie tylko w jednej. Możliwe jest natomiast tworzenie powiązań między takimi kostkami - nawet bardzo skomplikowanych - choćby w celu wprowadzania wartości kluczy do rozliczania kosztów. Upraszcza to strukturę modelu, oszczędza ilość potrzebnej pamięci, a w połączeniu z wielodostępem, przeliczaniem danych na bieżąco i możliwością ręcznej modyfikacji danych daje to bardzo duże, nowe możliwości analityczne.

Każda ze strategii przechowywania danych ma zalety i wady. Bazy relacyjne wraz z narzędziami typu ROLAP i HOLAP są dobrymi rozwiązaniami dla bardzo dużych woluminów danych. Właśnie dlatego stosuje się je w systemach korporacyjnych hurtowni danych. Nie jest to jednak jedyny wybór. Coraz częściej podawane są przykłady realizacji hurtowni danych w technologii wielowymiarowej. Są to zarówno rozwiązania korporacyjne, jak i data marts, w których krytyczna jest szybkość analiz i raportowania ad-hoc. Narzędzia typu OLAP są często stosowane w systemach analitycznych, nie związanych z hurtowniami danych. Tam, gdzie konieczny jest zapis danych przez użytkownika, np. w budżetowaniu, analiza wariantowa, podgląd reakcji modelu na pojedyncze zmiany, nieodzowne są właśnie wielowymiarowe bazy danych działające w pamięci operacyjnej. Często są one wdrażane systemowo, obok hurtowni danych.

Przy doborze narzędzia bardzo ważna jest analiza konkretnego przypadku zastosowania. Szufladkowanie typu "nowoczesny system analityczny = hurtownia danych" czy "hurtownia danych to tylko relacyjna baza danych" może być niebezpieczne. W systemach analitycznych miarą sukcesu wdrożenia jest stopień zaspokojenia potrzeb użytkownika, a nie liczba megabajtów danych, która może obsłużyć dany system.

Maciej Kujawski jest konsultantem w Dziale Systemów Wspomagania Decyzji w TCH Systems.


TOP 200