OLAP relacyjny

Bazy relacyjne, zapewniające automatyczną agregację danych, spisują się znacznie lepiej niż serwery OLAP. W ubiegłym roku pojawiły się pierwsze produkty realizujące tę funkcję.

Bazy relacyjne, zapewniające automatyczną agregację danych, spisują się znacznie lepiej niż serwery OLAP. W ubiegłym roku pojawiły się pierwsze produkty realizujące tę funkcję.

Bazy danych, organizujące dane w postaci wielowymiarowych hipersześcianów, pojawiły się na początku lat 70. wraz z bazami relacyjnymi. Zawierają one dane zagregowane w różnych wymiarach, pozwalające na uzyskiwanie wyników zbiorczych w jednym zapytaniu. W odpowiedzi na zapytanie do bazy są uzyskiwane płaskie lub wielowymiarowe przekroje.

W ciągu ostatnich 25 lat wydano miliony dolarów na opracowanie produktów OLAP, które stały się istotnym czynnikiem rozwoju hurtowni danych i aplikacji do wspomagania procesów podejmowania decyzji. Serwery wielowymiarowych baz danych agregują dane szybciej niż najlepsze bazy relacyjne, nie maleje więc zainteresowanie tymi produktami, zwłaszcza że produkty OLAP mogą być używane na bazach o rozmiarach kilkuset GB, czyli przekraczających rozmiary największych baz relacyjnych sprzed dziesięciu lat.

Obecnie wzrost rozmiarów hurtowni przekracza realne możliwości ich obsługi przez systemy wielowymiarowe. Ogromne bazy danych mają rozmiary tysięcy gigabajtów i bazy wielowymiarowe nie radzą sobie z nimi dostatecznie dobrze z powodu mniejszej skalowalności na systemy wieloprocesorowe SMP i MPP. Dostęp do ogromnych baz danych jest więc zapewniany za pomocą systemów hierarchicznych: relacyjna baza danych połączona z serwerem OLAP, dostarczającym danych zagregowanych. Nie jest to jednak rozwiązanie idealne z powodu niedostatecznej szybkości agregacji, wymagającej czasami odczytania milionów rekordów z bazy relacyjnej.

Relacje i agregacja

Specjaliści na ogół są zgodni, że efektywną obsługę ogromnych baz i hurtowni danych zapewnia jedynie baza relacyjna. Jeżeli miałaby możliwość tworzenia i utrzymywania na bieżąco danych zagregowanych, byłoby to lepsze rozwiązanie składnicy danych dla systemów analitycznych OLAP niż system hierarchiczny.

W 1998 r. specjalne rozwiązania - zapewniające agregację, bufor danych zagregowanych i optymalizator wykorzystujący te dane - pojawiły się w trzech systemach baz relacyjnych firm (w takiej kolejności) RedBrick (obecnie filia Informixa), IBM i Oracle.

Motor bazy danych oblicza wstępne agregacje podczas działania systemu lub zapełniania bazy, a bufor agregacji utrzymuje je (w pamięci lub na dysku) dla potrzeb systemów analitycznych OLAP. Optymalizator zapytań, rozpoznając potrzebę zagregowania danych, zamiast obliczać je za każdym razem od początku, korzysta z gotowych danych sumarycznych.

Przykładowo - sieć handlowa ma 100 sklepów, dokonujących milionów transakcji dziennie, zapisywanych w bazach danych na poziomie poszczególnych koszyków zakupów (klientów) i ewentualnie indywidualnych produktów. Rocznie w bazie przybywa kilka miliardów rekordów. Załóżmy, że potrzebne jest zestawienie obrotów wszystkich sklepów za każdy miesiąc w ostatnim roku. Jest to więc tabela zawierająca 1200 rekordów.

Wykonując tę operację za pomocą standardowego zapytania SQL, będzie to wymagało odczytania i zsumowania wszystkich rekordów z tabeli zakupów za ostatni rok. Alternatywą jest odczytanie 1200 rekordów, wstępnie przeliczonych przez motor bazy danych w trakcie standardowych działań operacyjnych. Jeżeli tabela zakupów zawiera 2,5 mld rekordów, to efektywne przyspieszenie operacji wyniesie 2 mln razy! Im większa baza danych, tym większy zysk na szybkości. Dane zagregowane używane często przez analityków będą przechowywane w buforze pamięciowym, czyli dostępne natychmiast.

Istotną cechą takiego rozwiązania agregowania danych jest to, że z nowych właściwości bazy można korzystać w istniejących już aplikacjach. Nie trzeba pisać specjalnych zapytań SQL, gdyż nowy optymalizator bazy rozpozna potrzebę dostarczenia danych zagregowanych i wykorzysta wstępnie obliczone agregacje do realizacji zapytania.

W 1998 r. specjalne rozwiązania - zapewniające agregację, bufor danych zagregowanych i optymalizator wykorzystujący te dane - pojawiły się w trzech systemach baz relacyjnych firm (w takiej kolejności) RedBrick (obecnie filia Informixa), IBM i Oracle.