Platon z Redmond

Nowa architektura OLAP - Microsoft Plato - zyskuje coraz więcej zwolenników.

Nowa architektura OLAP - Microsoft Plato - zyskuje coraz więcej zwolenników.

Microsoft zadebiutuje na rynku aplikacji OLAP (On-Line Analytical Processing) produktem, nazwanym kryptonimem Plato, który będzie zintegrowany z serwerem baz danych SQL Server 7.0. Przygotowując rynek, Microsoft opublikował specyfikację OLE DB for OLAP (nazywaną Tensor API) dostępu do funkcji serwera bazy danych. Producenci, świadomi potęgi Microsoftu, masowo zadeklarowali poparcie dla Plato.

Wobec spóźnionego wejścia na rynek aplikacji OLAP, Microsoft zastosował prostą taktykę - przed dwoma laty kupił produkt i programistów od izraelskiej firmy Panorama Software, powiększając zespół z 6 do 50 osób. Plato, który obecnie przechodzi testy beta, ma pojawić się na rynku za kilka tygodni.

Serwer OLAP

Każde środowisko OLAP składa się z trzech elementów - serwera OLAP (motoru OLAP), metod dostępu (często jest to zestaw funkcji API) oraz aplikacji analitycznych, które używają danych z serwera OLAP i prezentują je użytkownikowi w różnej postaci. Plato jest serwerem bazy danych OLAP, Tensor zaś zestawem funkcji API, zapewniającym dostęp do danych. Aplikacje analityczne, wykorzystujące właściwości Plato, opracowują już niezależni producenci.

Microsoft twierdzi, że Plato może zarządzać informacjami o dowolnych rozmiarach. Jednakże na razie nic nie wiadomo jego o wydajności i skalowalności.

Wydajność

Serwer OLAP musi szybko ładować dane z bazy relacyjnej i przetwarzać skomplikowane zapytania. Wymagania te są sprzeczne. Szybkie odpowiedzi na zapytania uzyskuje się wtedy, gdy dane w bazie OLAP są wstępnie w znacznym stopniu zagregowane. Dane natomiast ładuje się tym szybciej, im mniejsza jest agregacja. Opracowany przez OLAP Council test APB-1 wydajności serwerów OLAP uwzględnia zarówno ładowanie danych, jak i mierzy czas odpowiedzi na standardowe zapytania. Microsoft wprawdzie nie jest członkiem OLAP Council, lecz zamierza stosować APB-1 do pomiaru i publikowania wyników wydajności Plato.

Odpowiedź na pytanie, na ile agregować dane, nie jest prosta. Te wymiary, do których często się sięga, powinny być znacznie zagregowane. Natomiast w przypadku tych, z których korzysta się rzadko, można dopuścić agregację na bieżąco, w trakcie szukania odpowiedzi na zapytanie.

Plato zawiera wyrafinowany model heurystyczny do określenia wyważonego podziału na wymiary zagregowane wstępnie i agregowane na bieżąco, bazujący na modelu danych budowanym przez administratora systemu. Oznacza to możliwość dostosowania działania systemu do potrzeb użytkownika.

Skalowalność

Skalowalność to jeden z większych problemów w realizacji serwerów OLAP. Liczba rozmiarów i agregacja powodują, że w porównaniu z rozmiarem operacyjnych danych wejściowych baza gwałtownie rośnie. Jednym z rozwiązań jest partycjonowanie bazy na wiele serwerów sprzętowych. Partycjonowanie fizyczne pozwala na podział hipersześcianu danych ma mniejsze i łączenie ich podczas realizacji zapytania.

W wielu zastosowaniach lepsze wyniki przynosi partycjonowanie wymiarowe. Jeśli jeden hipersześcian ma wspólny rozmiar z innym, to działa jako połączenie tych hipersześcianów, pozwalając nawigować między nimi w celu uzyskania odpowiedzi na zapytanie. Partycjonowanie wymiarowe umożliwia również przygotowanie hipersześcianów do potrzeb określonych działów firmy, dopuszczając jednocześnie korzystanie z nich pozostałym użytkownikom.

W Plato wbudowano zarówno partycjonowanie fizyczne, jak i wymiarowe. Inne serwery OLAP również mają takie funkcje.

OLAP jednego systemu

Plato jest produktem dla jednego systemu operacyjnego Windows NT, współpracuje jedynie z bazą danych Microsoftu i klientami Windows. Niezbyt więc nadaje się dla przedsiębiorstwa, mającego duże zbiory danych; inne serwery OLAP lub hurtownię danych zrealizowaną np. na systemie unixowym.

Natomiast wielu niezależnych producentów ma już opracowane lub przygotowuje narzędzia do tworzenia raportów z Plato, zgodne z Tensor API. Cognos zakupił od firmy Panorama Software 99 prawa do produktu określanego mianem Aristotle (Arystoteles; obecna nazwa brzmi NovaView). Firma Knosys proponuje podobny program Sokrates. Seagate Software bezpłatnie dostarcza program Seagate Worksheet o funkcjach zbliżonych do arkusza Excel z dostępem do Plato i innych serwerów OLAP.

Tensor API

Otwarte zestawy funkcji programistycznych API są potrzebne, gdy istnieje konieczność zapewnienia współpracy narzędzi analitycznych z różnymi serwerami OLAP. Obecnie istnieją dwa zestawy API do współpracy z motorami OLAP - opublikowany przez Microsoft zestaw OLE DB for OLAP (Tensor API) i MD-API opracowany przez konsorcjum OLAP Council.

Tensor jest zestawem API, który nie zachowuje informacji o stanie poprzednich zapytań, jest więc lepszy do tworzenia programów do raportowania z bazy OLAP niż opracowywania wyrafinowanych narzędzi analitycznych dla specjalistów, którzy tworzą skomplikowane zapytania, posługując się uzyskanymi wynikami. Wydaje się, że celem Microsoftu jest zachęcenie niezależnych twórców oprogramowania do tworzenia programów OLAP, przeznaczonych na biurko każdego użytkownika. Microsoft zaś zaleca arkusz Excel jako narzędzie do analiz OLAP.

Istotną cechą Tensor API jest możliwość zapisywania przez klienta danych do serwera OLAP (chociaż w Plato nie przewidziano takiej możliwości). Pozwala to na prowadzenie analiz typu "co by było, gdyby", ryzykując jednak zniszczenie danych w serwerze OLAP. Żaden producent nie dopuszcza takiej możliwości.