Wielowymiarowe bazy danych w praktyce

W poprzednim artykule na temat wielowymiarowych baz danych przedstawiłem pewne aspekty techniczne zarządzania danymi o wielu wymiarach. Teraz zaprezentuję kilka komercyjnych systemów zarządzania bazami danych wielowymiarowych, przeznaczonymi dla systemów wspomagania podejmowania decyzji czy dogłębnej analizy danych.

W poprzednim artykule na temat wielowymiarowych baz danych przedstawiłem pewne aspekty techniczne zarządzania danymi o wielu wymiarach. Teraz zaprezentuję kilka komercyjnych systemów zarządzania bazami danych wielowymiarowych, przeznaczonymi dla systemów wspomagania podejmowania decyzji czy dogłębnej analizy danych.

Producenci systemów do zarządzania relacyjnymi bazami danych uważają, że ich systemy znakomicie nadają się także do przechowywania i obsługi specjalistycznych baz danych typu hurtownia danych, pod warunkiem że nie będzie próbować się używać ich jednocześnie do dwóch celów - interaktywnego przetwarzania transakcyjnego i wspomagania decyzji. Zapewne w wielu przypadkach mają rację, zwłaszcza jeśli zastosuje się wieloprocesorowe komputery typu SMP lub MPP i wykorzysta możliwości, jakie oferują najnowsze serwery baz danych w konfiguracjach równoległych.

Lecz nie ma nic za darmo. W przypadku wielu wyrafinowanych algorytmów analitycznych konieczność częstego sięgania do danych, rozrzuconych w wielu tabelach bazy i wykonywania operacji łączenia wyników, właściwa dla programów wspomagania decyzji powoduje, że czas odpowiedzi jest dość długie. Tymczasem powszechnie przyjmuje się, że użytkownik akceptuje czas odpowiedzi rzędu pojedynczych sekund, niechętnie zaś godzi się na dłuższe.

Z tego też powodu powstały specjalne systemy zarządzania bazami danych wielowymiarowych, operujące na dokładnie poindeksowanych danych za pomocą wyrafinowanych algorytmów przeszukiwania. Pojawiły się one czasem wcześniej niż systemy obsługi relacyjnych baz danych.

Architektury baz wielowymiarowych

Istnieją trzy podstawowe rozwiązania architektoniczne programów zapewniających dostęp do danych wielowymiarowych.

Pierwsze rozwiązanie polega na stosowaniu specjalnego serwera danych wielowymiarowych (SDW), operującego na danych dostarczanych do niego z systemów relacyjnych. Dane w SDW są uzupełniane periodycznie, np. raz na miesiąc, tydzień czy w skrajnym przypadku codziennie, z serwerów danych operacyjnych. Na danych wielowymiarowych użytkownik operuje za pomocą dostępnych handlowo narzędzi analitycznych lub specjalnie napisanego dla niego programu wspomagania decyzji, pakietu narzędziowego do analizy dogłębnej lub nawet za pomocą typowych narzędzi dostępu ad hoc.

Niektóre z z SDW dopuszczają jedynie dostęp ograniczony do obiektów istniejących w bazie (wstępnie wyliczone wartości, pola zagregowane, dane proste) bez możliwości obliczania wartości (sumy, wartości średniej czy innej funkcji danych) przez serwer bazy. Przyśpiesza to operacje na danych, ale ogranicza możliwości analizy.

Najbardziej znany produkt z tej rodziny to baza Essbase (firmy Arbor Software). Wiele narzędzi do analiz danych posługuje się bazą Essbase jako podstawowym serwerem danych; inne narzędzia (np. PowerPlay firmy Cognos, Commander EIS firmy Commshare, Business Objects firmy Business Objects czy Excel) mogą łatwo korzystać z danych zarządzanych przez Essbase.

Rozwiązanie drugie polega na stosowaniu specjalnych narzędzi odwzorowujących dane z baz operacyjnych na postać wielowymiarową przydatną jako dane odniesienia dla specjalnych lub handlowo dostępnych narzędzi do analizy danych. Informacje o formacie danych, ich lokalizacji oraz o odwzorowaniu (najczęściej są to skrypty SQL do bazy danych operacyjnych) przechowuje się w lokalnej składnicy "danych o danych" (metadane). Narzędzia analityczne posługują się tą składnicą w celu pobierania danych z bazy relacyjnej. By przyspieszyć dostęp do danych wielowymiarowych skrypty realizujące znane z góry, bardziej złożone zapytania do bazy kompiluje się wstępnie (do postaci tzw. planów dostępu) i przechowuje w głównej bazie relacyjnej. Nie można tego jednak dokonać dla dostępów typu ad hoc, co powoduje znaczne wydłużenie czasu odpowiedzi.

Zaletą tego rozwiązania jest brak konieczności periodycznego uzupełniania zawartości bazy wielowymiarowej. Wadą - znaczny rozrzut czasu dostępu do danych oraz obciążenie bazy operacyjnej skomplikowanymi zapytaniami, charakterystycznymi zwłaszcza dla programów wspomagania decyzji. W szczególnych przypadkach jednoczesne korzystanie z tej samej bazy danych operacyjnych dla przetwarzania transakcyjnego i analitycznego może spowodować zupełne załamanie się operacji bieżących.

Produktem o tej architekturze jest np. MetaCube firmy Informix (opracowany przez firmę Stanford Technology Group), pakiet SmartData firmy Intersolv (część większego pakietu DataDirect) i in. W każdym z tych pakietów administrator bazy może stworzyć wielowymiarowy model danych, opisujący dane bazie relacyjnej w sposób dogodny do użycia, połączony z bazą danych zarządzaną przez standardowy, relacyjny serwer bazy (w przypadku MetaCube jest to serwer bazy Informix OnLine).

Trzecie rozwiązanie jest połączeniem dwóch poprzednich - bezpośrednio korzysta się zarówno z danych operacyjnych, przechowywanych i zarządzanych przez dowolny system przetwarzania transakcyjnego, i ze specjalnego serwera danych wielowymiarowych, przechowującego w swych strukturach dane zagregowane. Czasem ten serwer działa także jako lokalny bufor danych, uzyskiwanych z bazy relacyjnej. W stowarzyszonej bazie relacyjnej przechowuje się dane szczegółowe i sięga do nich w razie potrzeby dokonania dogłębnej analizy (drill-down). Można więc szybko uzyskiwać wyniki analiz w razie korzystania z danych zagregowanych a jednocześnie mieć nieco wolniejszy dostęp do szczegółów.

Przykładem produktu o tej architekturze jest Oracle Express Server współpracujący z narzędziem analitycznym Oracle Express Analyzer.

Nie ma panaceum

Narzędzia do wspomagania decyzji i analiz danych z zasobów informacyjnych firmy są równie dawne jak informatyka w zastosowaniach gospodarczych. Pierwsze systemy wspomagania decyzji powstały w latach 70. w firmie IBM (gdzie pojawiło się znacznie więcej pomysłów i idei realizowanych dopiero współcześnie). Były to jednak narzędzia indywidualnie dostosowane do potrzeb konkretnych użytkowników, a więc mało elastyczne i drogie w eksploatacji. Oparte były na typowych dla owych czasów bazach plikowych. Wymagania firm związane z uelastycznieniem dostępu i polepszeniem właściwości funkcjonalnych doprowadziły do powstania specjalistycznych systemów zarządzania danymi wielowymiarowymi.

Zmiany w gospodarce, polegające w znacznej mierze na demokratyzacji procesu podejmowania decyzji i oddelegowania odpowiedzialności na niższe poziomy zarządzania, spowodowały lawinowy przyrost potrzeb analitycznych. Stąd także ogromny rozwój zarówno specjalnych serwerów do zarządzania danymi wielowymiarowymi, jak i narzędzi do analizy i wspomagania procesu podejmowania decyzji.

Nie istnieje jedno, uniwersalne narzędzie spełniające wszystkie potrzeby użytkowników lub dające najlepsze wyniki w każdej sytuacji.

Właśnie nadszedł czas hurtowni danych, dogłębnej interaktywnej analizy, lawinowego przyrostu liczby zapytań do baz danych operacyjnych, zaawansowanych narzędzi do manipulowania danymi.

Stąd także wielość narzędzi i systemów do realizacji tych potrzeb.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200