Systemy OLAP. Technologie OLAP Wielowymiarowe dane i technologie olap

4. Klasyfikacja produktów OLAP.

5. Zasady działania klientów OLAP.

7. Obszary zastosowań technologii OLAP.

8. Przykład wykorzystania technologii OLAP do analiz w sprzedaży.

1. Miejsce OLAP-u w strukturze informacyjnej przedsiębiorstwa.

Termin „OLAP” nierozerwalnie wiąże się z terminem „hurtownia danych” (Data Warehouse).

Dane znajdujące się w hurtowni pochodzą z systemów operacyjnych (systemów OLTP), które mają za zadanie automatyzować procesy biznesowe. Dodatkowo repozytorium można uzupełniać ze źródeł zewnętrznych, np. raportów statystycznych.

Celem repozytorium jest udostępnienie „surowca” do analiz w jednym miejscu i w prostej, zrozumiałej strukturze.

Pojawienie się osobnego magazynu uzasadnia jeszcze jeden powód - złożone zapytania analityczne o informacje operacyjne spowalniają bieżącą pracę firmy, blokując na długi czas tabele i zajmując zasoby serwera.

Repozytorium nie musi oznaczać gigantycznego nagromadzenia danych – najważniejsze, żeby było wygodne do analizy.

Centralizacja i wygodna struktura to nie wszystko, czego potrzebuje analityk. Nadal potrzebuje narzędzia do przeglądania i wizualizacji informacji. Tradycyjnym raportom, nawet tym zbudowanym w oparciu o jedno repozytorium, brakuje jednego – elastyczności. Nie można ich „skręcać”, „rozwijać” ani „zwijać”, aby uzyskać pożądany widok danych. Gdyby tylko miał narzędzie, które pozwoliłoby mu w prosty i wygodny sposób rozwijać i zwijać dane! OLAP jest takim narzędziem.

Choć OLAP nie jest niezbędnym atrybutem hurtowni danych, coraz częściej wykorzystuje się go do analizy informacji zgromadzonych w hurtowni.

Miejsce OLAP-u w strukturze informacyjnej przedsiębiorstwa (ryc. 1).

Obrazek 1. MiejsceOLAP w strukturze informacyjnej przedsiębiorstwa

Dane operacyjne są zbierane z różnych źródeł, oczyszczane, integrowane i przechowywane w magazynie relacyjnym. Co więcej, są one już dostępne do analizy przy użyciu różnych narzędzi raportowych. Następnie dane (w całości lub w części) przygotowywane są do analizy OLAP. Można je załadować do specjalnej bazy danych OLAP lub przechowywać w magazynie relacyjnym. Jej najważniejszym elementem są metadane, czyli informacje o strukturze, rozmieszczeniu i przekształceniu danych. Dzięki nim zapewniona jest efektywna interakcja różnych elementów składowania.

Podsumowując, OLAP można zdefiniować jako zestaw narzędzi do wielowymiarowej analizy danych zgromadzonych w hurtowni.

2. Operacyjne przetwarzanie danych analitycznych.

Koncepcja OLAP opiera się na zasadzie wielowymiarowej reprezentacji danych. W 1993 roku E. F. Codd odniósł się do mankamentów modelu relacyjnego, wskazując przede wszystkim na brak możliwości „scalania, przeglądania i analizowania danych w ujęciu wielowymiarowym, czyli w sposób najbardziej zrozumiały dla analityków korporacyjnych” oraz zdefiniował ogólne wymagania dla systemów OLAP, które rozszerzają funkcjonalność relacyjnego DBMS i obejmują analizę wielowymiarową jako jedną z jego cech.

Według Codda wielowymiarowy pogląd koncepcyjny to wielowymiarowa perspektywa składająca się z kilku niezależnych wymiarów, według których można analizować określone zbiory danych.

Jednoczesną analizę wielu wymiarów definiuje się jako analizę wieloczynnikową. Każdy wymiar obejmuje obszary konsolidacji danych, składające się z szeregu kolejnych poziomów uogólnienia, gdzie każdy wyższy poziom odpowiada większemu stopniowi agregacji danych dla odpowiedniego wymiaru.

Tym samym wymiar Performera można wyznaczyć poprzez kierunek konsolidacji, na który składają się poziomy uogólnienia „przedsiębiorstwo – oddział – dział – pracownik”. Wymiar Czas może nawet obejmować dwa kierunki konsolidacji – „rok – kwartał – miesiąc – dzień” i „tydzień – dzień”, ponieważ liczenie czasu według miesiąca i tygodnia jest niezgodne. W takim przypadku możliwe staje się dowolne dobranie pożądanego poziomu szczegółowości informacji dla każdego z wymiarów.

Operacja opadania (wiercenie) odpowiada przechodzeniu z wyższych etapów konsolidacji do niższych; wręcz przeciwnie, operacja podnoszenia (zwijania) oznacza przemieszczanie się z niższych poziomów na wyższe (rys. 2).


Rysunek 2.Wymiary i kierunki konsolidacji danych

3. Wymagania dotyczące internetowych narzędzi do przetwarzania analitycznego.

Podejście wielowymiarowe powstało niemal jednocześnie i równolegle z podejściem relacyjnym. Jednak dopiero począwszy od połowy lat dziewięćdziesiątych, a raczej od
1993, zainteresowanie MDBMS zaczęło się upowszechniać. Właśnie w tym roku ukazał się nowy artykuł programowy jednego z twórców podejścia relacyjnego E. Codda, w którym sformułował 12 podstawowych wymagań dotyczących środków realizacji OLAP(Tabela 1).

Tabela 1.

Wielowymiarowa reprezentacja danych

Narzędzia muszą wspierać koncepcyjnie wielowymiarowy widok danych.

Przezroczystość

Użytkownik nie musi wiedzieć, jakie konkretne narzędzia służą do przechowywania i przetwarzania danych, jak dane są zorganizowane i skąd pochodzą.

Dostępność

Same narzędzia muszą wybrać i skontaktować się z najlepszym źródłem danych, aby wygenerować odpowiedź na dane zapytanie. Narzędzia muszą mieć możliwość automatycznego mapowania własnej logiki na różne heterogeniczne źródła danych.

Stała wydajność

Wydajność powinna być praktycznie niezależna od liczby wymiarów w zapytaniu.

Obsługa architektury klient-serwer

Narzędzia muszą działać w architekturze klient-serwer.

Równość wszystkich wymiarów

Żaden z wymiarów nie powinien być podstawowy, wszystkie powinny być równe (symetryczne).

Dynamiczne przetwarzanie rzadkich macierzy

Niezdefiniowane wartości muszą być przechowywane i obsługiwane w możliwie najbardziej efektywny sposób.

Obsługa trybu pracy z danymi dla wielu użytkowników

Narzędzia muszą umożliwiać pracę więcej niż jednemu użytkownikowi.

Obsługuje operacje w oparciu o różne wymiary

Wszystkie operacje wielowymiarowe (takie jak agregacja) muszą być stosowane jednolicie i konsekwentnie do dowolnej liczby dowolnych wymiarów.

Łatwość manipulacji danymi

Narzędzia muszą mieć najwygodniejszy, naturalny i wygodny interfejs użytkownika.

Zaawansowane narzędzia prezentacji danych

Narzędzia muszą wspierać różne sposoby wizualizacji (prezentowania) danych.

Nieograniczona liczba wymiarów i poziomów agregacji danych

Nie powinno być ograniczeń co do liczby obsługiwanych wymiarów.

Zasady oceny oprogramowania klasy OLAP

Zbiór tych wymagań, który posłużył za faktyczną definicję OLAP, należy traktować jako wytyczną, a konkretne produkty oceniać pod kątem stopnia, w jakim są bliskie idealnego spełnienia wszystkich wymagań.

Definicja Codda została później zrewidowana do tzw. testu FASMI, który wymaga, aby aplikacja OLAP zapewniała możliwość szybkiej analizy udostępnianych wielowymiarowych informacji.

Zapamiętywanie 12 zasad Codda jest dla większości ludzi zbyt uciążliwe. Okazuje się, że definicję OLAP możemy podsumować tylko pięcioma słowami kluczowymi: Szybka analiza współdzielonych informacji wielowymiarowych – czyli w skrócie FASMI (przetłumaczone z angielskiego:F ast A Analiza S zajęty M ultrawymiarowy I Informacja).

Definicja ta została po raz pierwszy sformułowana na początku 1995 r. i od tego czasu nie wymagała aktualizacji.

SZYBKO ( Szybko ) - oznacza, że ​​system powinien być w stanie udzielić większości odpowiedzi użytkownikom w ciągu około pięciu sekund. Jednocześnie najprostsze żądania są przetwarzane w ciągu jednej sekundy, a bardzo nieliczne - dłużej niż 20 sekund. Badania wykazały, że użytkownicy końcowi postrzegają proces jako nieudany, jeśli wyniki nie zostaną uzyskane w ciągu 30 sekund.

Na pierwszy rzut oka może wydawać się zaskakujące, że otrzymanie raportu w ciągu minuty, który jeszcze niedawno zajmował kilka dni, użytkownik bardzo szybko nudzi się czekaniem, a projekt okazuje się znacznie mniej udany niż w przypadku natychmiastowego odpowiedzi, nawet kosztem mniej szczegółowej analizy.

ANALIZAoznacza, że ​​system jest w stanie obsłużyć dowolną analizę logiczną i statystyczną specyficzną dla danej aplikacji i zapewnia jej przechowywanie w formie dostępnej dla użytkownika końcowego.

Nie jest tak ważne, czy analiza jest wykonywana w narzędziach dostawcy, czy w powiązanym zewnętrznym oprogramowaniu, takim jak arkusz kalkulacyjny, ważne jest, aby wszystkie wymagane funkcje analityczne zostały udostępnione użytkownikom końcowym w intuicyjny sposób. Narzędzia analityczne mogą obejmować pewne procedury, takie jak analiza szeregów czasowych, alokacja kosztów, transfery walut, wyszukiwanie celów, modyfikacja struktur wielowymiarowych, modelowanie nieproceduralne, wykrywanie wyjątków, ekstrakcja danych i inne operacje zależne od aplikacji. Możliwości te różnią się znacznie w zależności od produktu, w zależności od orientacji docelowej.

WSPÓLNY oznacza, że ​​system realizuje wszystkie wymogi ochrony prywatności (ewentualnie aż do poziomu komórki) i w przypadku konieczności wielokrotnego zapisu zapewnia blokadę modyfikacji na odpowiednim poziomie. Nie wszystkie aplikacje wymagają zapisywania zwrotnego danych. Jednak liczba takich aplikacji rośnie, a system musi być w stanie obsłużyć wiele modyfikacji w sposób terminowy i bezpieczny.

WIELOWYMIAROWE (Wielowymiarowe) - jest to kluczowy wymóg. Gdybyś miał zdefiniować OLAP jednym słowem, wybrałbyś go. System musi zapewniać wielowymiarowy koncepcyjny obraz danych, w tym pełną obsługę hierarchii i wielu hierarchii, ponieważ jest to zdecydowanie najbardziej logiczny sposób analizy przedsiębiorstw i organizacji. Nie ma minimalnej liczby wymiarów, które należy przetworzyć, ponieważ zależy to również od zastosowania, a większość produktów OLAP ma wystarczającą liczbę wymiarów dla rynków, na które są skierowane.

INFORMACJA - to wszystko. Niezbędne informacje należy uzyskać tam, gdzie są potrzebne. Wiele zależy jednak od zastosowania. Siłę różnych produktów mierzy się ilością danych wejściowych, które mogą przetworzyć, ale nie liczbą gigabajtów, które mogą przechowywać. Moc produktów jest bardzo zróżnicowana – największe produkty OLAP są w stanie obsłużyć co najmniej tysiąc razy więcej danych niż najmniejsze. Należy wziąć pod uwagę wiele czynników, w tym duplikację danych, wymagania dotyczące pamięci RAM, wykorzystanie miejsca na dysku, wskaźniki wydajności, integrację z repozytoriami informacji itp.

Test FASMI jest rozsądną i zrozumiałą definicją celów, jakie ma osiągnąć OLAP.

4. KlasyfikacjaOLAP-produkty.

A więc istota OLAP-u polega na tym, że wyjściowa informacja do analizy prezentowana jest w formie wielowymiarowej kostki, którą można dowolnie manipulować i pozyskiwać niezbędne sekcje informacyjne – raporty. W tym przypadku użytkownik końcowy postrzega kostkę jako wielowymiarową dynamiczną tabelę, która automatycznie podsumowuje dane (fakty) w różnych sekcjach (wymiarach) i umożliwia interaktywne zarządzanie obliczeniami i formularzem raportu. Realizacja tych operacji jest zapewniona OLAP -samochód (lub samochód obliczenia OLAP).

Obecnie na świecie opracowano wiele produktów, które sprzedają OLAP -technologie. Aby ułatwić poruszanie się pomiędzy nimi, stosuje się klasyfikacje OLAP -produkty: według sposobu przechowywania danych do analizy i według lokalizacji OLAP -samochody. Przyjrzyjmy się bliżej każdej kategorii Produkty OLAP.

Klasyfikacja według metody przechowywania danych

Kostki wielowymiarowe budowane są w oparciu o dane źródłowe i zagregowane. Zarówno dane źródłowe, jak i zagregowane dla kostek można przechowywać zarówno w relacyjnych, jak i wielowymiarowych bazach danych. Dlatego obecnie stosowane są trzy metody przechowywania danych: MOLAP (wielowymiarowy OLAP), ROLAP (relacyjny OLAP) i HOLAP (hybrydowy OLAP) ). Odpowiednio, OLAP -produkty ze względu na sposób przechowywania danych dzielą się na trzy podobne kategorie:

1. W przypadku MOLAP-u , dane źródłowe i zagregowane przechowywane są w wielowymiarowej bazie danych lub w wielowymiarowej kostce lokalnej.

2. W ROLAP-ie -products dane źródłowe są przechowywane w relacyjnych bazach danych lub w płaskich tabelach lokalnych na serwerze plików. Dane zbiorcze można umieścić w tabelach usług w tej samej bazie danych. Konwersja danych z relacyjnej bazy danych na wielowymiarowe kostki odbywa się na życzenie Narzędzia OLAP.

3. W przypadku użycia HOLAP W architekturze oryginalne dane pozostają w relacyjnej bazie danych, a agregaty umieszczane są w wielowymiarowej. Budowa OLAP -kostka wykonywana na zamówienie OLAP - narzędzia oparte na danych relacyjnych i wielowymiarowych.

Klasyfikacja według lokalizacji OLAP-samochody.

Na tej podstawie OLAP -produkty dzielą się na Serwery OLAP i klienci OLAP:

· Na serwerze OLAP - sposób obliczania i przechowywania danych zbiorczych realizowany jest przez odrębny proces - serwer. Aplikacja kliencka odbiera jedynie wyniki zapytań względem wielowymiarowych kostek, które są przechowywane na serwerze. Niektóre OLAP -serwery obsługują przechowywanie danych tylko w relacyjnych bazach danych, niektóre tylko w wielowymiarowych. Wiele nowoczesnych OLAP -serwery obsługują wszystkie trzy metody przechowywania danych:MOLAP, ROLAP i HOLAP.

MOLAP.

MOLAP jest Wielowymiarowe przetwarzanie analityczne on-line, czyli wielowymiarowy OLAP.Oznacza to, że serwer korzysta z wielowymiarowej bazy danych (MDB) do przechowywania danych. Cel stosowania MBD jest oczywisty. Może efektywnie przechowywać dane o charakterze wielowymiarowym, zapewniając możliwość szybkiej obsługi zapytań do bazy danych. Dane są przesyłane ze źródła danych do wielowymiarowej bazy danych, a następnie baza danych jest agregowana. Obliczenia wstępne przyspieszają zapytania OLAP, ponieważ dane podsumowujące zostały już obliczone. Czas zapytania staje się funkcją wyłącznie czasu wymaganego na dostęp do pojedynczej porcji danych i wykonanie obliczeń. Metoda ta wspiera koncepcję, że praca jest wykonywana raz, a wyniki są następnie wykorzystywane wielokrotnie. Wielowymiarowe bazy danych są stosunkowo nową technologią. Stosowanie MBD ma te same wady, co większość nowych technologii. Mianowicie nie są tak stabilne jak relacyjne bazy danych (RDB) i nie są zoptymalizowane w tym samym stopniu. Kolejną słabością MDB jest brak możliwości wykorzystania większości wielowymiarowych baz danych w procesie agregacji danych, dlatego też zanim nowe informacje staną się dostępne do analizy, potrzeba czasu.

ROLAP.

ROLAP jest Relacyjne przetwarzanie analityczne on-line, czyli relacyjny OLAP.Termin ROLAP oznacza, że ​​serwer OLAP opiera się na relacyjnej bazie danych. Dane źródłowe są wprowadzane do relacyjnej bazy danych, zazwyczaj w schemacie gwiazdy lub płatka śniegu, co pomaga skrócić czas wyszukiwania. Serwer udostępnia wielowymiarowy model danych wykorzystując zoptymalizowane zapytania SQL.

Istnieje wiele powodów, dla których warto wybrać relacyjną, a nie wielowymiarową bazę danych. RDB to technologia o ugruntowanej pozycji, dająca wiele możliwości optymalizacji. Zastosowanie w świecie rzeczywistym zaowocowało bardziej wyrafinowanym produktem. Ponadto bazy RDB obsługują większe wolumeny danych niż bazy MDB. Są precyzyjnie zaprojektowane dla takich objętości. Głównym argumentem przeciwko bazom RDB jest złożoność zapytań wymaganych do pobrania informacji z dużej bazy danych przy użyciu języka SQL. Niedoświadczony programista SQL może łatwo obciążyć cenne zasoby systemowe, próbując wykonać podobne zapytanie, które jest znacznie łatwiejsze do wykonania w MDB.

Dane zagregowane/wstępnie zagregowane.

Szybka implementacja zapytań jest koniecznością dla OLAP. To jedna z podstawowych zasad OLAP-u – umiejętność intuicyjnego manipulowania danymi wymaga szybkiego wydobywania informacji. Ogólnie rzecz biorąc, im więcej obliczeń należy wykonać, aby uzyskać informację, tym wolniejsza jest odpowiedź. Dlatego też, aby skrócić czas realizacji zapytania, informacje, do których zwykle dociera się najczęściej, a które jednocześnie wymagają obliczeń, poddawane są wstępnej agregacji. Oznacza to, że są one liczone, a następnie zapisywane w bazie danych jako nowe dane. Przykładem rodzaju danych, które można obliczyć z wyprzedzeniem, są dane podsumowujące – na przykład dane dotyczące sprzedaży za miesiące, kwartały lub lata, dla których faktycznie wprowadzane dane są danymi dziennymi.

Różni dostawcy mają różne metody wybierania parametrów, wymagające wstępnej agregacji i liczby wstępnie obliczonych wartości. Podejście agregacyjne wpływa zarówno na czas wykonania bazy danych, jak i zapytania. Jeśli obliczanych jest więcej wartości, wzrasta prawdopodobieństwo, że użytkownik zażąda wartości, która została już obliczona, a zatem czas odpowiedzi zostanie skrócony, ponieważ nie będzie konieczne żądanie obliczenia pierwotnej wartości. Jeśli jednak obliczysz wszystkie możliwe wartości – nie jest to najlepsze rozwiązanie – w tym przypadku rozmiar bazy danych znacznie wzrośnie, co sprawi, że stanie się ona niemożliwa do zarządzania, a czas agregacji będzie zbyt długi. Ponadto w przypadku dodania wartości liczbowych do bazy danych lub ich zmiany, informacja ta musi zostać odzwierciedlona we wstępnie obliczonych wartościach, które zależą od nowych danych. Tym samym aktualizacja bazy danych może zająć dużo czasu także w przypadku dużej liczby wstępnie obliczonych wartości. Ponieważ podczas agregacji baza danych zazwyczaj działa w trybie offline, pożądane jest, aby czas agregacji nie był zbyt długi.

OLAP - klient ma inną strukturę. Budowa wielowymiarowej kostki i OLAP -obliczenia wykonywane są w pamięci komputera klienckiego.OLAP -klienci są również podzieleni na ROLAP i MOLAP.Niektóre mogą obsługiwać obie opcje dostępu do danych.

Każde z tych podejść ma swoje zalety i wady. Wbrew powszechnemu przekonaniu o przewadze narzędzi serwerowych nad narzędziami klienckimi, w wielu przypadkach zastosowanie OLAP - klient może być bardziej wydajny i opłacalny w użyciu dla użytkowników Serwery OLAP.

Tworzenie aplikacji analitycznych z wykorzystaniem klienckich narzędzi OLAP jest procesem szybkim i nie wymagającym specjalnego przeszkolenia. Użytkownik znający fizyczną implementację bazy danych może samodzielnie opracować aplikację analityczną, bez udziału informatyka.

Korzystając z serwera OLAP, musisz nauczyć się obsługi 2 różnych systemów, czasami od różnych dostawców - tworzenia kostek na serwerze i rozwijania aplikacji klienckiej.

Klient OLAP zapewnia pojedynczy interfejs wizualny do opisywania kostek i konfigurowania dla nich interfejsów użytkownika.

W jakich więc przypadkach korzystanie z klienta OLAP może być bardziej efektywne i opłacalne dla użytkowników niż korzystanie z serwera OLAP?

· Ekonomiczna wykonalność zastosowania OLAP -server ma miejsce, gdy ilości danych są bardzo duże i przytłaczające OLAP -klient, w przeciwnym razie bardziej uzasadnione jest użycie tego drugiego. W tym przypadku OLAP -Klient łączy w sobie wysoką wydajność i niski koszt.

· Wydajne komputery PC dla analityków – kolejny argument za OLAP -klienci. Podczas używania OLAP -serwery nie wykorzystują tej pojemności.

Wśród zalet klientów OLAP można wymienić:

· Koszty wdrożenia i utrzymania OLAP - dla klienta znacznie niższe koszty niż za Serwer OLAP.

· Za pomocą OLAP - dla klienta posiadającego maszynę zabudowaną, transmisja danych przez sieć odbywa się jednorazowo. Wykonując OLAP -operacje nowych strumieni danych nie są generowane.

5. Zasady działania OLAP-klienci.

Przyjrzyjmy się procesowi tworzenia aplikacji OLAP za pomocą narzędzia klienckiego (rysunek 1).

Obrazek 1.Tworzenie aplikacji OLAP przy użyciu narzędzia klienckiego ROLAP

Zasadą działania klientów ROLAP jest wstępny opis warstwy semantycznej, za którą ukryta jest fizyczna struktura danych źródłowych. W tym przypadku źródłami danych mogą być: tabele lokalne, RDBMS. Lista obsługiwanych źródeł danych zależy od konkretnego oprogramowania. Następnie użytkownik może samodzielnie manipulować obiektami, które rozumie pod kątem tematyki, tworząc kostki i interfejsy analityczne.

Zasada działania klienta serwera OLAP jest inna. Na serwerze OLAP podczas tworzenia kostek użytkownik manipuluje fizycznymi opisami bazy danych. Jednocześnie w samej kostce tworzone są niestandardowe opisy. Klient serwera OLAP jest skonfigurowany tylko dla kostki.

Podczas tworzenia warstwy semantycznej źródła danych – tabele Sales i Deal – są opisywane w sposób zrozumiały dla użytkownika końcowego i zamieniane w „Produkty” i „Oferty”. Pole „ID” w tabeli „Produkty” zmienia nazwę na „Kod”, a „Nazwa” na „Produkt” itp.

Następnie tworzony jest obiekt biznesowy Sprzedaż. Obiekt biznesowy to płaski stół, na podstawie którego tworzona jest wielowymiarowa kostka. Podczas tworzenia obiektu biznesowego tabele „Produkty” i „Transakcje” są łączone za pomocą pola „Kod” produktu. Ponieważ do wyświetlenia w raporcie nie są wymagane wszystkie pola tabeli, obiekt biznesowy wykorzystuje jedynie pola „Pozycja”, „Data” i „Kwota”.

W naszym przykładzie, w oparciu o obiekt biznesowy „Sprzedaż”, utworzono raport sprzedaży produktów w podziale na miesiące.

Podczas pracy z interaktywnym raportem użytkownik może ustawić warunki filtrowania i grupowania za pomocą tych samych prostych ruchów myszką. W tym momencie klient ROLAP uzyskuje dostęp do danych w pamięci podręcznej. Klient serwera OLAP generuje nowe zapytanie do wielowymiarowej bazy danych. Przykładowo stosując filtr po produkcie w raporcie sprzedaży, można otrzymać raport dotyczący sprzedaży interesujących nas produktów.

Wszystkie ustawienia aplikacji OLAP można przechowywać w dedykowanym repozytorium metadanych, w aplikacji lub w repozytorium systemu wielowymiarowej bazy danych.Implementacja zależy od konkretnego oprogramowania.

Wszystko, co zawiera te aplikacje, to standardowe spojrzenie na interfejs, predefiniowane funkcje i struktura oraz szybkie rozwiązania dla mniej lub bardziej standardowych sytuacji. Popularne są na przykład pakiety finansowe. Gotowe aplikacje finansowe umożliwiają profesjonalistom korzystanie ze znanych narzędzi finansowych bez konieczności projektowania struktury bazy danych lub konwencjonalnych formularzy i raportów.

Internet to nowa forma klienta. Ponadto nosi piętno nowych technologii; pęczek Rozwiązania internetowe różnią się znacznie pod względem możliwości w ogóle, a w szczególności jako rozwiązanie OLAP. Generowanie raportów OLAP przez Internet ma wiele zalet. Najważniejszym jest brak konieczności stosowania specjalistycznego oprogramowania umożliwiającego dostęp do informacji. Oszczędza to firmie mnóstwo czasu i pieniędzy.

6. Wybór architektury aplikacji OLAP.

Wdrażając system informacyjno-analityczny, ważne jest, aby nie popełnić błędu w wyborze architektury aplikacji OLAP. Dosłowne tłumaczenie terminu Proces Analityczny On-Line – „przetwarzanie analityczne online” – często jest rozumiane dosłownie w tym sensie, że dane wchodzące do systemu są szybko analizowane. Jest to błędne przekonanie – skuteczność analizy nie jest w żaden sposób powiązana z rzeczywistym czasem aktualizacji danych w systemie. Cecha ta odnosi się do czasu reakcji systemu OLAP na żądania użytkowników. Jednocześnie analizowane dane często stanowią migawkę informacji „z wczoraj”, jeśli np. dane w magazynach są aktualizowane raz dziennie.

W tym kontekście tłumaczenie OLAP jako „interaktywne przetwarzanie analityczne” jest dokładniejsze. To właśnie możliwość analizy danych w trybie interaktywnym odróżnia systemy OLAP od systemów przygotowywania raportów regulowanych.

Kolejną cechą przetwarzania interaktywnego w ujęciu założyciela OLAP E. Codda jest możliwość „łączenia, przeglądania i analizowania danych z punktu widzenia wielu wymiarów, czyli w sposób jak najbardziej zrozumiały dla analityków korporacyjnych”. Sam Codd używa terminu OLAP w odniesieniu wyłącznie do określonego sposobu prezentacji danych na poziomie koncepcyjnym – wielowymiarowym. Na poziomie fizycznym dane można przechowywać w relacyjnych bazach danych, ale w rzeczywistości narzędzia OLAP zazwyczaj współpracują z wielowymiarowymi bazami danych, w których dane są zorganizowane w hipersześcian (rysunek 1).

Obrazek 1. OLAP– sześcian (hipersześcian, metasześcian)

Co więcej, o przydatności tych danych decyduje moment zapełnienia hipersześcianu nowymi danymi.

Oczywiście czas potrzebny na utworzenie wielowymiarowej bazy danych zależy w dużej mierze od ilości załadowanych do niej danych, dlatego rozsądne jest ograniczenie tej objętości. Jak jednak uniknąć zawężenia możliwości analizy i pozbawienia użytkownika dostępu do wszystkich interesujących go informacji? Istnieją dwie alternatywne ścieżki: Analizuj, a następnie zapytaj i Zapytaj, a następnie analizuj.

Zwolennicy pierwszej ścieżki proponują ładowanie uogólnionych informacji do wielowymiarowej bazy danych, na przykład miesięcznych, kwartalnych i rocznych wyników działów. Natomiast w przypadku konieczności uszczegółowienia danych użytkownik proszony jest o wygenerowanie raportu z wykorzystaniem relacyjnej bazy danych zawierającej wymagany wybór np. według dnia dla danego działu lub według miesiąca i pracowników wybranego działu.

Zwolennicy drugiej ścieżki natomiast sugerują, aby to użytkownik przede wszystkim sam decydował, jakie dane będzie analizował, i ładował je do mikrokostki – małej wielowymiarowej bazy danych. Obydwa podejścia różnią się na poziomie koncepcyjnym i mają swoje zalety i wady.

Zaletami drugiego podejścia jest „świeżość” informacji, którą użytkownik otrzymuje w postaci wielowymiarowego raportu – „mikrosześcianu”. Mikrokostka tworzona jest na podstawie informacji żądanych z aktualnej relacyjnej bazy danych. Praca z mikrokostką odbywa się w trybie interaktywnym – pozyskiwanie wycinków informacji i ich uszczegółowienie wewnątrz mikrokostki odbywa się błyskawicznie. Kolejnym pozytywnym punktem jest to, że projektowanie konstrukcji i wypełnianie mikrokostki odbywa się przez użytkownika na bieżąco, bez udziału administratora bazy danych. Jednakże podejście to ma również poważne wady. Użytkownik nie widzi szerszego obrazu i musi z wyprzedzeniem zdecydować o kierunku swoich badań. W przeciwnym razie żądana mikrokostka może być za mała i nie zawierać wszystkich interesujących nas danych, a użytkownik będzie musiał zamówić nową mikrokostkę, potem nową, potem kolejną i kolejną. Podejście Query następnie analizuj implementuje narzędzie BusinessObjects firmy o tej samej nazwie oraz narzędzia firmowej platformy ContourIntersoft Laboratorium.

Przy podejściu Analizuj następnie zapytanie ilość danych ładowanych do wielowymiarowej bazy danych może być dość duża, wypełnianie musi odbywać się zgodnie z przepisami i może zająć sporo czasu. Jednak wszystkie te wady procentują później, gdy użytkownik ma dostęp do niemal wszystkich niezbędnych danych w dowolnej kombinacji. Dostęp do danych źródłowych w relacyjnej bazie danych następuje jedynie w ostateczności, gdy potrzebne są szczegółowe informacje np. na temat konkretnej faktury.

Na działanie pojedynczej wielowymiarowej bazy danych praktycznie nie ma wpływu liczba użytkowników uzyskujących do niej dostęp. Odczytują jedynie dostępne tam dane, w przeciwieństwie do podejścia Query następnie analizuj, w którym liczba mikrokostek w skrajnym przypadku może rosnąć w tym samym tempie, co liczba użytkowników.

Takie podejście zwiększa obciążenie usług IT, które oprócz relacyjnych, zmuszone są także do utrzymywania wielowymiarowych baz danych.To właśnie te usługi odpowiadają za terminową automatyczną aktualizację danych w wielowymiarowych bazach danych.

Najbardziej znanymi przedstawicielami podejścia „Analizuj, a następnie zapytaj” są narzędzia PowerPlay i Impromptu firmy Cognos.

Wybór zarówno podejścia, jak i narzędzia je realizującego zależy przede wszystkim od realizowanego celu: zawsze trzeba balansować pomiędzy oszczędnościami budżetowymi a poprawą jakości obsługi użytkowników końcowych. Należy wziąć pod uwagę, że w planie strategicznym tworzenie systemów informacyjno-analitycznych dąży do osiągnięcia przewagi konkurencyjnej, nie unikając kosztów automatyzacji. Przykładowo korporacyjny system informacyjno-analityczny może dostarczać niezbędnych, aktualnych i rzetelnych informacji o spółce, których publikacja dla potencjalnych inwestorów zapewni przejrzystość i przewidywalność spółki, co nieuchronnie stanie się warunkiem jej atrakcyjności inwestycyjnej.

7. Obszary zastosowań technologii OLAP.

OLAP ma zastosowanie wszędzie tam, gdzie istnieje zadanie analizy danych wielowymiarowych. Ogólnie rzecz biorąc, jeśli tabela danych zawiera co najmniej jedną kolumnę opisową (wymiar) i jedną kolumnę liczbową (miary lub fakty), narzędzie OLAP będzie zazwyczaj skutecznym narzędziem do analizy i raportowania.

Przyjrzyjmy się niektórym obszarom zastosowania technologii OLAP zaczerpniętym z prawdziwego życia.

1. Sprzedaż.

Na podstawie analizy struktury sprzedaży rozwiązywane są kwestie niezbędne do podejmowania decyzji zarządczych: o zmianie asortymentu, cen, zamykaniu i otwieraniu sklepów, oddziałów, rozwiązywaniu i podpisywaniu umów z dealerami, prowadzeniu lub zakończeniu kampanii reklamowych itp.

2. Zakupy.

Zadanie jest odwrotnością analizy sprzedaży. Wiele przedsiębiorstw kupuje komponenty i materiały od dostawców. Przedsiębiorstwa handlowe kupują towary w celu ich odsprzedaży. Istnieje wiele możliwych zadań podczas analizy zamówień, od planowania funduszy w oparciu o przeszłe doświadczenia, po kontrolę nad menadżerami, wybór dostawców.

3. Ceny.

Analiza cen rynkowych jest ściśle powiązana z analizą zakupów. Celem tej analizy jest optymalizacja kosztów i wybranie najbardziej opłacalnych ofert.

4. Marketing.

Przez analizę marketingową rozumiemy jedynie obszar analizy nabywców lub klientów-konsumentów usług. Celem tej analizy jest prawidłowe pozycjonowanie produktu, identyfikacja grup nabywców dla celów reklamy ukierunkowanej oraz optymalizacja asortymentu. Zadaniem OLAP-u w tym przypadku jest udostępnienie użytkownikowi narzędzia, dzięki któremu w szybki i szybki sposób uzyska odpowiedzi na pytania, które intuicyjnie pojawiają się podczas analizy danych.

5. Magazyn.

Analiza struktury sald magazynowych według rodzaju towarów, magazynów, analiza trwałości towarów, analiza przesyłek według odbiorców i wiele innych rodzajów analiz, które są ważne dla przedsiębiorstwa, są możliwe, jeśli organizacja posiada księgowość magazynową.

6. Przepływ środków pieniężnych.

To cały obszar analizy, który ma wiele szkół i metod. Technologia OLAP może służyć jako narzędzie do wdrażania lub ulepszania tych technik, ale nie może ich zastępować. Obrót gotówkowy środkami bezgotówkowymi i gotówkowymi analizowany jest pod kątem operacji biznesowych, kontrahentów, walut i czasu w celu optymalizacji przepływów, zapewnienia płynności itp. Skład pomiarów w dużym stopniu zależy od charakterystyki firmy, branży i metodologii.

7. Budżet.

Jeden z najżyźniejszych obszarów zastosowania technologii OLAP. Nie bez powodu żaden nowoczesny system budżetowania nie jest uważany za kompletny bez obecności narzędzi OLAP do analizy budżetu. Większość raportów budżetowych można łatwo zbudować w oparciu o systemy OLAP. Jednocześnie raporty odpowiadają na bardzo szeroki zakres pytań: analizę struktury wydatków i przychodów, porównanie wydatków na poszczególne pozycje w różnych działach, analizę dynamiki i trendów wydatków na poszczególne pozycje, analizę kosztów i zyski.

8. Konta.

Klasyczny bilans składający się z numeru rachunku i zawierający salda wpływy, obroty i salda rozchodów można doskonale przeanalizować w systemie OLAP. Ponadto system OLAP potrafi automatycznie i bardzo szybko wyliczać salda skonsolidowane organizacji wielooddziałowej, salda za miesiąc, kwartał i rok, salda zagregowane według hierarchii kont oraz salda analityczne w oparciu o charakterystyki analityczne.

9. Sprawozdawczość finansowa.

Technologicznie skonstruowany system raportowania to nic innego jak zestaw nazwanych wskaźników z wartościami dat, które należy pogrupować i podsumować w różnych sekcjach, aby uzyskać konkretne raporty. W takiej sytuacji wyświetlanie i drukowanie raportów najłatwiej i najtaniej można wdrożyć w systemach OLAP. W każdym razie wewnętrzny system raportowania przedsiębiorstwa nie jest tak konserwatywny i można go zrestrukturyzować, aby zaoszczędzić pieniądze na pracach technicznych związanych z tworzeniem raportów i uzyskać możliwości wielowymiarowej analizy operacyjnej.

10. Ruch w witrynie.

Plik dziennika serwera internetowego ma charakter wielowymiarowy, co oznacza, że ​​nadaje się do analizy OLAP. Faktami są: liczba odwiedzin, liczba trafień, czas spędzony na stronie i inne informacje dostępne w logu.

11. Wielkość produkcji.

To kolejny przykład analizy statystycznej. Dzięki temu możliwa jest analiza wielkości uprawy ziemniaków, wytopu stali i wyprodukowanych towarów.

12. Zużycie materiałów eksploatacyjnych.

Wyobraźmy sobie fabrykę składającą się z kilkudziesięciu warsztatów, w których zużywa się chłodziwa, płyny do płukania, oleje, szmaty, papier ścierny – setki rodzajów materiałów eksploatacyjnych. Do dokładnego planowania i optymalizacji kosztów wymagana jest dokładna analiza rzeczywistego zużycia materiałów eksploatacyjnych.

13. Korzystanie z lokalu.

Inny rodzaj analizy statystycznej. Przykłady: analiza obciążenia sal lekcyjnych, wynajmowanych budynków i lokali, wykorzystania sal konferencyjnych itp.

14. Rotacja personelu w przedsiębiorstwie.

Analiza rotacji personelu w przedsiębiorstwie według oddziałów, działów, zawodów, poziomu wykształcenia, płci, wieku, czasu pracy.

15. Przewóz osób.

Analiza liczby i ilości sprzedanych biletów według sezonu, kierunku, rodzaju przewozu (klasy), rodzaju pociągu (samolotu).

Lista ta nie ogranicza się do obszarów zastosowań OLAP - technologie. Weźmy na przykład pod uwagę technologię OLAP - analizy w zakresie sprzedaży.

8. Przykład zastosowania OLAP -technologie do analiz w obszarze sprzedaży.

Projektowanie wielowymiarowej reprezentacji danych dla OLAP -analiza rozpoczyna się od stworzenia mapy pomiarowej. Przykładowo przy analizie sprzedaży wskazane może być zidentyfikowanie poszczególnych części rynku (odbiorcy rozwijający się, stabilni, duzi i mali, prawdopodobieństwo pojawienia się nowych konsumentów itp.) i oszacowanie wielkości sprzedaży według produktu, terytorium, klienta, segmentu rynku , kanał sprzedaży i wielkość zamówień. Kierunki te tworzą siatkę współrzędnych wielowymiarowej reprezentacji sprzedaży – strukturę jej wymiarów.

Ponieważ działalność każdego przedsiębiorstwa ma charakter rozłożony w czasie, pierwszym pytaniem, które pojawia się w trakcie analizy, jest pytanie o dynamikę rozwoju przedsiębiorstwa. Prawidłowa organizacja osi czasu pozwoli nam jakościowo odpowiedzieć na to pytanie. Zazwyczaj oś czasu jest podzielona na lata, kwartały i miesiące. Możliwa jest jeszcze większa fragmentacja na tygodnie i dni. Struktura wymiaru czasu tworzona jest z uwzględnieniem częstotliwości otrzymywania danych; można również określić na podstawie częstotliwości żądań informacji.

Wymiar Grupy Produktów ma na celu jak najwierniejsze odzwierciedlenie struktury sprzedawanych produktów. Jednocześnie ważne jest zachowanie pewnego balansu, aby z jednej strony uniknąć nadmiernej szczegółowości (liczba grup powinna być widoczna), a z drugiej nie ominąć istotnego segmentu rynku.

Wymiar „Klienci” odzwierciedla strukturę sprzedaży według obszaru terytorialnego i geograficznego. Każdy wymiar może mieć swoje hierarchie, np. w tym wymiarze może to być struktura: Kraje – Regiony – Miasta – Klienci.

Aby analizować wydajność działów, należy stworzyć własny pomiar. Przykładowo możemy wyróżnić dwa poziomy hierarchii: działy i znajdujące się w nich działy, co powinno znaleźć swoje odzwierciedlenie w wymiarze „Piony”.

Tak naprawdę wymiary „Czas”, „Produkty”, „Klienci” w pełni definiują przestrzeń obszaru tematycznego.

Dodatkowo warto podzielić tę przestrzeń na obszary warunkowe, w oparciu o wyliczone charakterystyki, np. przedziały wolumenu transakcji pod względem wartości. Następnie całość biznesu można podzielić na szereg przedziałów kosztowych, w jakich jest prowadzona. W tym przykładzie możemy ograniczyć się do następujących wskaźników: wielkość sprzedaży towarów, liczba sprzedanych towarów, wysokość przychodów, liczba transakcji, liczba klientów, wielkość zakupów od producentów.

OLAP - kostka do analizy będzie wyglądać (rys. 2):


Rysunek 2.OLAP– kostka do analizy wielkości sprzedaży

To właśnie ta trójwymiarowa tablica nazywana jest kostką w terminologii OLAP. Tak naprawdę z punktu widzenia ścisłej matematyki taka tablica nie zawsze będzie sześcianem: prawdziwa sześcian musi mieć tę samą liczbę elementów we wszystkich wymiarach, ale kostki OLAP nie mają takiego ograniczenia. Kostka OLAP nie musi być trójwymiarowa. Może mieć ona charakter dwu- lub wielowymiarowy, w zależności od rozwiązywanego problemu. Poważne produkty OLAP są zaprojektowane dla około 20 wymiarów.Prostsze aplikacje desktopowe obsługują około 6 wymiarów.

Nie wszystkie elementy kostki muszą być wypełnione: jeśli w trzecim kwartale nie będzie informacji o sprzedaży Produktu 2 Klientowi 3, wartość w odpowiedniej komórce po prostu nie zostanie ustalona.

Jednak sama kostka nie nadaje się do analizy. Jeśli nadal można odpowiednio wyobrazić sobie lub przedstawić trójwymiarowy sześcian, to za pomocą sześcio- lub dziewiętnastowymiarowy sytuacja jest znacznie gorsza. Dlatego przed użyciem z wielowymiarowej kostki wyciągane są zwykłe dwuwymiarowe tabele. Ta operacja nazywa się „cięciem” sześcianu. Analityk niejako bierze i „tnie” wymiary sześcianu zgodnie z interesującymi go znakami. W ten sposób analityk otrzymuje dwuwymiarowy wycinek sześcianu (raport) i pracuje z nim. Strukturę raportu przedstawiono na rysunku 3.

Rysunek 3.Struktura raportu analitycznego

Wytnijmy naszą kostkę OLAP i otrzymajmy raport sprzedaży za trzeci kwartał, będzie to wyglądać tak (ryc. 4).

Rysunek 4.Raport sprzedaży za trzeci kwartał

Można przeciąć kostkę wzdłuż drugiej osi i otrzymać raport sprzedaży grupy produktów 2 w ciągu roku (rys. 5).

Rysunek 5.Kwartalny raport sprzedaży produktu 2

Podobnie możesz analizować relację z klientem 4, wycinanie kostki według znaku Klienta(ryc. 6)

Rysunek 6.Raport z dostaw towarów do klienta 4

Możesz uszczegółowić raport według miesiąca lub porozmawiać o dostawie towaru do konkretnego oddziału klienta.

Przetwarzanie analityczne online (OLAP) to skuteczna technologia przetwarzania danych, która generuje informacje zbiorcze na podstawie ogromnych ilości wszelkiego rodzaju danych. Jest to potężny produkt, który pomaga uzyskać dostęp do informacji na komputerze, odzyskiwać je i przeglądać, analizując je z różnych perspektyw.

OLAP to narzędzie, które zapewnia strategiczną pozycję na potrzeby planowania długoterminowego i analizuje podstawowe informacje zawarte w danych operacyjnych na przyszłość wynoszącą 5, 10 lub więcej lat. Dane przechowywane są w bazie danych o wymiarze, który jest ich atrybutem. Użytkownicy mogą przeglądać ten sam zestaw danych z różnymi atrybutami, w zależności od celu analizy.

Historia OLAP-u

OLAP nie jest koncepcją nową i jest stosowany od dziesięcioleci. Tak naprawdę początki tej technologii sięgają roku 1962. Jednak termin ten został ukuty dopiero w 1993 roku przez autora bazy danych Teda Coddoma, który ustalił również 12 zasad dotyczących produktu. Podobnie jak w przypadku wielu innych zastosowań, koncepcja ta przeszła kilka etapów ewolucji.

Historia samej technologii OLAP sięga roku 1970, kiedy to ukazały się zasoby informacyjne Express i pierwszy serwer Olap. Zostały one przejęte przez firmę Oracle w 1995 r., a następnie stały się podstawą do analitycznego przetwarzania online wielowymiarowego silnika obliczeniowego, który słynna marka komputerowa umieściła w swojej bazie danych. W 1992 r. firma Arbor Software (przejęta przez Oracle w 2007 r.) wypuściła inny dobrze znany produkt do przetwarzania analityki online, Essbase.

W 1998 roku firma Microsoft wypuściła serwer analitycznego przetwarzania danych online MS Analysis Services. Przyczyniło się to do popularności tej technologii i spowodowało rozwój innych produktów. Obecnie istnieje kilku światowej sławy dostawców oferujących aplikacje Olap, w tym IBM, SAS, SAP, Essbase, Microsoft, Oracle, IcCube.

Przetwarzanie analityczne online

OLAP to narzędzie, które pozwala podejmować decyzje dotyczące planowanych wydarzeń. Nietypowe obliczenie Olap może być bardziej złożone niż zwykłe agregowanie danych. Zapytania analityczne na minutę (AQM) służą jako standardowy punkt odniesienia do porównywania wydajności różnych narzędzi. Systemy te powinny w jak największym stopniu chronić użytkowników przed złożoną składnią zapytań i zapewniać każdemu stały czas odpowiedzi (bez względu na to, jak skomplikowany jest).

Istnieją następujące główne cechy OLAP:

  1. Wielowymiarowe reprezentacje danych.
  2. Obsługuje złożone obliczenia.
  3. Tymczasowy rekonesans.

Wielowymiarowy widok stanowi podstawę do przetwarzania analitycznego poprzez elastyczny dostęp do danych przedsiębiorstwa. Pozwala użytkownikom analizować dane w dowolnym wymiarze i na dowolnym poziomie agregacji.

Obsługa skomplikowanych obliczeń to rdzeń oprogramowania OLAP.

Analiza czasowa służy do oceny wydajności dowolnej aplikacji analitycznej w danym okresie czasu. Na przykład ten miesiąc w porównaniu z zeszłym miesiącem, ten miesiąc w porównaniu z tym samym miesiącem w zeszłym roku.

Wielowymiarowa struktura danych

Jedną z głównych cech przetwarzania analitycznego online jest wielowymiarowa struktura danych. Sześcian może mieć kilka wymiarów. Dzięki temu modelowi cały proces eksploracji OLAP jest prosty dla menedżerów i kadry kierowniczej, ponieważ obiekty reprezentowane w komórkach są obiektami biznesowymi ze świata rzeczywistego. Ponadto ten model danych pozwala użytkownikom przetwarzać nie tylko tablice strukturalne, ale także tablice nieustrukturyzowane i częściowo ustrukturyzowane. Wszystko to sprawia, że ​​są one szczególnie popularne w zastosowaniach związanych z analizą danych i BI.

Główne cechy systemów OLAP:

  1. Stosuj wielowymiarowe metody analizy danych.
  2. Zapewnij zaawansowaną obsługę baz danych.
  3. Twórz łatwe w użyciu interfejsy użytkownika końcowego.
  4. Obsługuje architekturę klient/serwer.

Jednym z głównych elementów koncepcji OLAP jest serwer po stronie klienta. Oprócz agregowania i wstępnego przetwarzania danych z relacyjnej bazy danych zapewnia zaawansowane opcje obliczeń i rejestrowania, dodatkowe funkcje, podstawowe zaawansowane możliwości zapytań i inne funkcje.

W zależności od wybranego przykładu aplikacji dostępnych jest wiele modeli danych i narzędzi, w tym alerty w czasie rzeczywistym, scenariusze „co by było, gdyby”, optymalizacja i zaawansowane raportowanie OLAP.

Kształt sześcienny

Koncepcja opiera się na sześciennym kształcie. Układ danych pokazuje, jak OLAP przestrzega zasady analizy wielowymiarowej, czego efektem jest struktura danych zaprojektowana do szybkiej i wydajnej analizy.

Kostka OLAP nazywana jest także „hipersześcianem”. Opisuje się go jako składający się z faktów liczbowych (miar) podzielonych na aspekty (wymiary). Wymiary odnoszą się do atrybutów definiujących problem biznesowy. Mówiąc najprościej, wymiar to etykieta opisująca miarę. Na przykład w raportach sprzedaży miarą będzie wielkość sprzedaży, a wymiary będą obejmować okres sprzedaży, sprzedawców, produkt lub usługę oraz region sprzedaży. W raportowaniu operacji produkcyjnych miarą mogą być całkowite koszty produkcji i jednostki produkcji. Wymiary będą obejmować datę lub godzinę produkcji, etap lub fazę produkcji, a nawet pracowników zaangażowanych w proces produkcyjny.

Kostka danych OLAP jest kamieniem węgielnym systemu. Dane w kostce są zorganizowane przy użyciu schematu gwiazdy lub płatka śniegu. W centrum znajduje się tabela faktów zawierająca agregaty (miary). Jest powiązany z szeregiem tabel wymiarów zawierających informacje o miarach. Wymiary opisują, w jaki sposób można analizować te miary. Jeśli sześcian zawiera więcej niż trzy wymiary, często nazywany jest hipersześcianem.

Jedną z głównych cech sześcianu jest jego statyczny charakter, co oznacza, że ​​sześcian nie może zostać zmieniony po jego rozwinięciu. Dlatego proces składania kostki i konfigurowania modelu danych jest krytycznym krokiem w stronę odpowiedniego przetwarzania danych w architekturze OLAP.

Łączenie danych

Stosowanie agregacji jest głównym powodem, dla którego zapytania są przetwarzane znacznie szybciej w narzędziach OLAP (w porównaniu do OLTP). Agregacje to podsumowania danych, które zostały wstępnie obliczone podczas przetwarzania. Wszystkie elementy przechowywane w tabelach wymiarów OLAP określają zapytania, które może otrzymywać kostka.

W kostce nagromadzenia informacji przechowywane są w komórkach, których współrzędne są określone przez określone wymiary. Liczba agregatów, które może zawierać kostka, zależy od wszystkich możliwych kombinacji elementów wymiaru. Dlatego typowa kostka w aplikacji może zawierać niezwykle dużą liczbę agregatów. Obliczenia wstępne zostaną wykonane tylko dla kluczowych agregatów rozproszonych po całej kostce analitycznej online. Znacząco skróci to czas potrzebny na zdefiniowanie ewentualnych agregacji podczas uruchamiania zapytania w modelu danych.

Istnieją również dwie opcje związane z agregacją, których można użyć w celu poprawy wydajności gotowej kostki: utwórz agregację pamięci podręcznej możliwości i użyj agregacji opartej na zapytaniach użytkownika.

Zasada działania

Zazwyczaj analizę informacji operacyjnych uzyskanych z transakcji można przeprowadzić za pomocą prostego arkusza kalkulacyjnego (wartości danych prezentowane są w wierszach i kolumnach). Jest to dobre rozwiązanie, biorąc pod uwagę dwuwymiarowy charakter danych. W przypadku OLAP-u występują różnice, które są związane z wielowymiarową tablicą danych. Ponieważ często pochodzą z różnych źródeł, arkusz kalkulacyjny nie zawsze może je efektywnie przetworzyć.

Kostka rozwiązuje ten problem, a także sprawia, że ​​hurtownia danych OLAP działa w sposób logiczny i uporządkowany. Firmy gromadzą dane z wielu źródeł i są dostępne w różnych formatach, takich jak pliki tekstowe, pliki multimedialne, arkusze kalkulacyjne Excel, bazy danych Access, a nawet bazy danych OLTP.

Wszystkie dane gromadzone są w magazynie wypełnianym bezpośrednio ze źródeł. W nim surowe informacje uzyskane z OLTP i innych źródeł zostaną oczyszczone z wszelkich błędnych, niekompletnych i niespójnych transakcji.

Po oczyszczeniu i przekształceniu informacje będą przechowywane w relacyjnej bazie danych. Następnie zostanie przesłany na wielowymiarowy serwer OLAP (lub kostkę Olap) w celu analizy. Użytkownicy końcowi odpowiedzialni za aplikacje biznesowe, eksplorację danych i inne operacje biznesowe będą mieli dostęp do potrzebnych im informacji z kostki Olap.

Zalety modelu tablicowego

OLAP to narzędzie zapewniające szybką realizację zapytań, co osiągane jest poprzez zoptymalizowane przechowywanie, wielowymiarowe indeksowanie i buforowanie, które należą do znaczących zalet systemu. Ponadto zalety to:

  1. Mniejszy rozmiar danych na dysku.
  2. Automatyczne obliczanie agregatów danych wyższego poziomu.
  3. Modele tablicowe zapewniają naturalne indeksowanie.
  4. Efektywną ekstrakcję danych osiąga się poprzez wstępną strukturę.
  5. Zwartość niskowymiarowych zbiorów danych.

Do wad OLAP należy fakt, że niektóre decyzje (etapy przetwarzania) mogą zająć dość dużo czasu, szczególnie w przypadku dużej ilości informacji. Zwykle można to skorygować, wykonując jedynie przetwarzanie przyrostowe (uczenie się na podstawie danych, które uległy zmianie).

Podstawowe operacje analityczne

Skręt(roll-up/drill-up) jest również znane jako „konsolidacja”. Zwijanie polega na pobraniu wszystkich danych, które można uzyskać, i obliczeniu wszystkiego w jednym lub kilku wymiarach. Najczęściej może to wymagać zastosowania wzoru matematycznego. Jako przykład OLAP możemy rozważyć sieć handlową posiadającą sklepy w różnych miastach. Aby zidentyfikować wzorce i przewidzieć przyszłe trendy sprzedaży, dane sprzedażowe ze wszystkich lokalizacji są „zbierane” do głównego działu sprzedaży firmy w celu konsolidacji i obliczeń.

Ujawnienie(drążyć). Jest to przeciwieństwo zwijania się. Proces rozpoczyna się od dużego zestawu danych, a następnie dzieli go na mniejsze części, umożliwiając użytkownikom przeglądanie szczegółów. W przykładzie sieci detalicznej analityk przeanalizuje dane dotyczące sprzedaży i przyjrzy się poszczególnym markom lub produktom, które są uważane za bestsellery w każdym punkcie sprzedaży w różnych miastach.

Sekcja(Pokrój i pokrój w kostkę). Jest to proces, w którym operacje analityczne obejmują dwa działania: wyodrębnienie określonego zestawu danych z kostki OLAP (aspekt „wycinania” analizy) oraz oglądanie go z różnych punktów widzenia i kątów. Może się to zdarzyć, gdy wszystkie dane dotyczące punktu sprzedaży zostaną odebrane i wprowadzone do hipersześcianu. Analityk wycina z kostki OLAP zbiór danych związanych ze sprzedażą. Następnie będzie można go obejrzeć analizując sprzedaż poszczególnych lokali w każdym regionie. W tym czasie pozostali użytkownicy mogą skupić się na ocenie opłacalności sprzedaży lub ocenie efektywności kampanii marketingowo-reklamowej.

Zakręt(Sworzeń). Obraca osie danych, aby zapewnić zastępczą reprezentację informacji.

Rodzaje baz danych

W zasadzie jest to typowa kostka OLAP, która realizuje analityczne przetwarzanie wielowymiarowych danych za pomocą OLAP Cube lub dowolnej kostki danych, dzięki czemu proces analityczny może dodawać wymiary według potrzeb. Wszelkie informacje załadowane do wielowymiarowej bazy danych zostaną zapisane lub zarchiwizowane i będzie można je przywołać w razie potrzeby.

Oznaczający

Relacyjny OLAP (ROLAP)

ROLAP to zaawansowany system DBMS wraz z wielowymiarowym mapowaniem danych umożliwiający wykonywanie standardowych operacji relacyjnych

Wielowymiarowy OLAP (MOLAP)

MOLAP - implementuje pracę na danych wielowymiarowych

Hybrydowe przetwarzanie analityczne online (HOLAP)

W podejściu HOLAP zagregowane sumy są przechowywane w wielowymiarowej bazie danych, a szczegółowe informacje są przechowywane w relacyjnej bazie danych. Zapewnia to zarówno efektywność modelu ROLAP, jak i wydajność modelu MOLAP

Pulpit OLAP (DOLAP)

W Desktop OLAP użytkownik pobiera fragment danych z bazy danych lokalnie lub na swój komputer i analizuje go. DOLAP jest stosunkowo tańszy we wdrożeniu, ponieważ oferuje bardzo małą funkcjonalność w porównaniu do innych systemów OLAP

Internetowy OLAP (WOLAP)

Web OLAP to system OLAP dostępny poprzez przeglądarkę internetową. WOLAP jest architekturą trójwarstwową. Składa się z trzech komponentów: klienta, oprogramowania pośredniego i serwera bazy danych

Mobilny OLAP

Mobilny OLAP pomaga użytkownikom uzyskiwać dostęp do danych OLAP i analizować je za pomocą urządzeń mobilnych

Przestrzenny OLAP

SOLAP powstał, aby ułatwić zarządzanie danymi przestrzennymi i nieprzestrzennymi w systemie informacji geograficznej (GIS)

Istnieją mniej znane systemy lub technologie OLAP, ale to są te główne, z których korzystają obecnie duże korporacje, przedsiębiorstwa, a nawet rządy.

Narzędzia OLAP

Narzędzia do analityki online są bardzo dobrze obecne w Internecie zarówno w wersji płatnej, jak i bezpłatnej.

Najpopularniejsze z nich:

  1. Dundas BI firmy Dundas Data Visualization to oparta na przeglądarce platforma do analizy biznesowej i wizualizacji danych, która obejmuje zintegrowane pulpity nawigacyjne, raportowanie OLAP i analizę danych.
  2. Yellowfin to platforma analityki biznesowej, która zapewnia jedno zintegrowane rozwiązanie przeznaczone dla firm z różnych branż i wielkości. System ten jest dostosowany do potrzeb przedsiębiorstw z branży księgowości, reklamy i rolnictwa.
  3. ClicData to rozwiązanie Business Intelligence (BI) przeznaczone do użytku głównie przez małe i średnie firmy. Narzędzie umożliwia użytkownikom końcowym tworzenie raportów i dashboardów. Board został zaprojektowany w celu integracji analityki biznesowej, zarządzania wydajnością korporacyjną i jest w pełni funkcjonalnym systemem obsługującym firmy średniej wielkości i duże korporacje.
  4. Domo to oparty na chmurze pakiet do zarządzania biznesem, który integruje się z wieloma źródłami danych, w tym z arkuszami kalkulacyjnymi, bazami danych, mediami społecznościowymi i dowolnym istniejącym oprogramowaniem chmurowym lub lokalnym.
  5. InetSoft Style Intelligence to platforma oprogramowania dla analityków biznesowych, która umożliwia użytkownikom tworzenie dashboardów, technologii wizualnej analizy OLAP i raportów przy użyciu silnika mashup.
  6. Birst firmy Infor to internetowe rozwiązanie do analityki biznesowej, które łączy spostrzeżenia różnych zespołów, aby pomóc Ci podejmować świadome decyzje. Narzędzie umożliwia zdecentralizowanym użytkownikom skalowanie modelu zespołu przedsiębiorstwa.
  7. Halo to kompleksowy system do zarządzania łańcuchem dostaw i analityki biznesowej, który pomaga w planowaniu biznesowym i prognozowaniu zapasów na potrzeby zarządzania łańcuchem dostaw. System wykorzystuje dane ze wszystkich źródeł – dużych, małych i pośrednich.
  8. Chartio to oparte na chmurze rozwiązanie do analityki biznesowej, które zapewnia założycielom, zespołom biznesowym, analitykom danych i zespołom produktowym narzędzia organizacyjne przydatne w ich codziennej pracy.
  9. Exago BI to rozwiązanie webowe przeznaczone do implementacji w aplikacjach webowych. Wdrożenie Exago BI umożliwia firmom każdej wielkości dostarczanie swoim klientom dostosowanych, terminowych i interaktywnych raportów.

Wpływ na biznes

Użytkownik znajdzie OLAP w większości aplikacji biznesowych w różnych branżach. Z analizy korzysta nie tylko biznes, ale także inne zainteresowane strony.

Niektóre z jego najczęstszych zastosowań obejmują:

  1. Analiza danych marketingowych OLAP.
  2. Sprawozdawczość finansowa, która obejmuje sprzedaż i wydatki, budżetowanie i planowanie finansowe.
  3. Zarządzanie procesami biznesowymi.
  4. Analiza sprzedaży.
  5. Marketing baz danych.

Branże stale się rozwijają, co oznacza, że ​​użytkownicy wkrótce zobaczą więcej aplikacji OLAP. Wielowymiarowe przetwarzanie adaptacyjne zapewnia bardziej dynamiczną analizę. Z tego powodu te systemy i technologie OLAP są wykorzystywane do oceny scenariuszy „co by było, gdyby” i alternatywnych scenariuszy biznesowych.

Główna różnica między faktami a informacjami polega na tym, że otrzymujemy i uwzględniamy dane oraz możemy je wykorzystać dla osiągnięcia korzyści. Z grubsza rzecz biorąc, informacje są analizowane i usystematyzowane. Dzięki otrzymanym na czas informacjom wielu firmom udaje się przetrwać zarówno kryzys finansowy, jak i najostrzejszą konkurencję. Nie wystarczy zebrać fakty i posiadać wszystkie niezbędne dane. Trzeba także umieć je analizować. Aby ułatwić osobom podejmującym ważne decyzje biznesowe, opracowano różne systemy wsparcia. Właśnie w tym celu opracowano różne złożone systemy, które pozwalają analizować duże ilości heterogenicznych danych i przekształcać je w informacje przydatne dla użytkownika biznesowego. Nowa dziedzina analityki biznesowej ma na celu poprawę kontroli procesów w systemach biznesowych poprzez wykorzystanie hurtowni danych i technologii.

Rynek systemów informacji biznesowej oferuje dziś różnorodny wybór rozwiązań, które pomagają przedsiębiorstwu zorganizować rachunkowość zarządczą, zapewnić operacyjne zarządzanie produkcją i sprzedażą oraz prowadzić efektywną interakcję z klientami i dostawcami.

Odrębną niszę na rynku systemów biznesowych zajmują produkty z zakresu oprogramowania analitycznego, których zadaniem jest wspomaganie podejmowania decyzji na strategicznym poziomie zarządzania przedsiębiorstwem. Zasadnicza różnica pomiędzy tego typu narzędziami a systemami zarządzania operacyjnego polega na tym, że te ostatnie zapewniają zarządzanie przedsiębiorstwem w „trybie funkcjonowania”, czyli realizację ściśle określonego programu produkcyjnego, natomiast systemy analityczne na poziomie strategicznym pomagają kierownictwu przedsiębiorstwa w podejmowaniu decyzji w „tryb rozwoju”.

Skala przeprowadzanych zmian może być różna, od głębokiej restrukturyzacji po częściową aktualizację technologii w poszczególnych zakładach produkcyjnych, jednak w każdym przypadku decydenci rozważają możliwości rozwoju, od których zależy los przedsiębiorstwa w dłuższej perspektywie.

Niezależnie od tego, jak potężny i rozwinięty jest system informacyjny przedsiębiorstwa, nie może on pomóc w rozwiązaniu tych problemów, po pierwsze dlatego, że jest skonfigurowany do stacjonarnych, ustalonych procesów biznesowych, a po drugie nie zawiera i nie może zawierać informacji umożliwiających podejmowanie decyzji dotyczących nowych obszarów funkcjonowania przedsiębiorstwa. biznes, nowe technologie, nowe decyzje organizacyjne.

Dzięki technologii przetwarzania i analizy danych OLAP (On-Line Analytical Processing) każda organizacja może niemal natychmiast (w ciągu pięciu sekund) uzyskać dane niezbędne do pracy. OLAP można krótko zdefiniować za pomocą pięciu słów kluczowych.

SZYBKO (Szybko) – oznacza to, że czas wyszukania i podania niezbędnych informacji zajmuje nie więcej niż pięć sekund. Najprostsze żądania są przetwarzane w ciągu sekundy, a kilka skomplikowanych żądań ma czas przetwarzania dłuższy niż dwadzieścia sekund. Aby osiągnąć taki wynik, stosuje się różne metody, od specjalnych form przechowywania danych po rozbudowane obliczenia wstępne. W ten sposób możesz otrzymać raport w ciągu minuty, którego przygotowanie wcześniej zajmowało kilka dni.

ANALIZA (Analiza) mówi, że system może wykonać dowolną analizę, zarówno statystyczną, jak i logiczną, a następnie zapisać ją w przystępnej formie.

UDOSTĘPNIONY oznacza, że ​​system zapewnia wymaganą prywatność aż do poziomu komórki

WIELOWYMIAROWY (Wielowymiarowy) to główna cecha charakterystyczna OLAP-u. System musi w pełni obsługiwać hierarchie i wiele hierarchii, ponieważ jest to najbardziej logiczny sposób analizy działań zarówno biznesowych, jak i organizacyjnych.

INFORMACJA. Właściwa informacja musi zostać dostarczona tam, gdzie jest potrzebna.

Kiedy organizacja działa, zawsze gromadzą się dane związane z obszarem jej działania, które czasami są przechowywane w zupełnie różnych miejscach, a ich zebranie jest zarówno trudne, jak i czasochłonne. To właśnie w celu przyspieszenia pozyskiwania danych w celu sprawdzenia pojawiających się hipotez biznesowych opracowano technologię interaktywnego analitycznego przetwarzania danych, czyli OLAP. Głównym celem takich systemów OLAP jest szybkie reagowanie na dowolne żądania użytkowników. Potrzeba ta często pojawia się podczas opracowywania ważnego projektu biznesowego, gdy deweloper potrzebuje powstałej hipotezy roboczej. Najczęściej informacje potrzebne użytkownikowi powinny być prezentowane w formie pewnego rodzaju zależności – np. jak wielkość sprzedaży zależy od kategorii produktu, regionu sprzedaży, pory roku i tak dalej. Dzięki OLAPowi jest w stanie od razu pozyskać potrzebne dane w pożądanym układzie za wybrany okres.

Interaktywna technologia OLAP pozwala przekształcić ogromne stosy raportów i góry danych w przydatne i dokładne informacje, które pomogą pracownikowi podjąć świadomą decyzję biznesową lub finansową we właściwym czasie.

Ponadto dzięki OLAP wzrasta wydajność przetwarzania, a użytkownik może niemal natychmiast otrzymać duże ilości posortowanych (zagregowanych) informacji. Dzięki OLAP użytkownik może wyraźnie zobaczyć, jak efektywnie działa jego organizacja, ma możliwość szybkiego i elastycznego reagowania na zmiany zewnętrzne oraz ma możliwość minimalizowania strat finansowych swojej organizacji. OLAP dostarcza dokładnych informacji, które poprawiają jakość podejmowanych decyzji.

Jedyną wadą systemów analizy biznesowej jest ich wysoki koszt. Stworzenie magazynu danych osobowych wymaga zarówno czasu, jak i dużych pieniędzy.

Zastosowanie technologii OLAP w biznesie pozwala na szybkie uzyskanie niezbędnych informacji, które na życzenie użytkownika mogą zostać przedstawione w zwykłej formie – raportów, wykresów czy tabel.

Procedury integracji systemów dla struktur biznesowych opierają się na wykorzystaniu wspólnych rozwiązań ERP, CRM i SCM. W wielu przypadkach systemy dostarczane są przez różnych producentów, a importowane dane muszą zostać poddane harmonizacji i zaprezentowane jako dane heterogeniczne. W środowisku biznesowym istnieje jednoznaczny wymóg – pełna analiza danych, która polega na oglądaniu skonsolidowanych raportów z różnych punktów widzenia.

Różni producenci mają różne mechanizmy raportowania danych. Procedura reprezentacji heterogenicznej obejmuje wyodrębnianie, przekształcanie i ładowanie (ETL). Przykładowo w Microsoft SQL Server 2005 Analysis Services problem konsolidacji danych realizowany jest za pomocą Data Source Views – typów źródeł danych opisujących analityczne modele prezentacji.

Aplikacje biznesowe oparte na technologiach OLAP, przykłady produktów. Najczęstsze zastosowania technologii OLAP to:

Analiza danych.

Zadanie, do którego pierwotnie i nadal służą najpopularniejsze narzędzia OLAP. Wielowymiarowy model danych, możliwość analizy znacznych ilości danych i szybka reakcja na zapytania sprawiają, że tego typu systemy są niezbędne do analizy działań sprzedażowych, marketingowych, dystrybucyjnych i innych zadań z dużą ilością danych źródłowych.

Przykładowe produkty: Microsoft Excel Pivot Tables, Microsoft Analysis Services, SAP BW, Oracle Essbase, Oracle OLAP, Cognos PowerPlay, MicroStrategy, Business Objects.

Planowanie finansowe-budżetowanie.

Model wielowymiarowy pozwala na jednoczesne wprowadzanie danych i łatwą ich analizę (np. analiza faktów planu). Dlatego wiele nowoczesnych produktów CPM (Corporate Performance Management) wykorzystuje modele OLAP%. Ważnym zadaniem jest wielowymiarowa kalkulacja odwrotna (backsolve, breakback, writeback), która pozwala obliczyć wymagane zmiany w szczegółowych komórkach w przypadku zmiany wartości zagregowanej. Jest to narzędzie do analizy typu „co jeśli”, czyli tzw. do odtwarzania różnych opcji wydarzeń podczas planowania.

Przykłady produktów: Microsoft PerformancePint, Oracle EPB, Oracle OFA, Oracle Hyperion Planning, SAP SEM, Cognos Enterprise Planning, Geac.

Konsolidacja finansowa.

Konsolidacja danych zgodnie z międzynarodowymi standardami rachunkowości, z uwzględnieniem udziałów własnościowych, różnych walut i obrotów wewnętrznych, jest pilnym zadaniem w związku z coraz bardziej rygorystycznymi wymaganiami organów kontrolnych (SOX, Basel II) i spółek wchodzących na giełdę. Technologie OLAP pozwalają przyspieszyć kalkulację skonsolidowanych raportów i zwiększyć przejrzystość całego procesu.

Przykłady produktów: Oracle FCH, Oracle Hyperion FM, Cognos Controller.

Technologie hurtowni danych i przetwarzania analitycznego on-line (OLAP).
są ważnymi elementami wspomagania decyzji biznesowych, które coraz częściej stają się integralną częścią każdej branży. Zastosowanie technologii OLAP jako narzędzia analityki biznesowej daje większą kontrolę i szybki dostęp do informacji strategicznych
informacji ułatwiających skuteczne podejmowanie decyzji.
Daje to możliwość symulacji prognoz z życia wziętych i efektywniejszego wykorzystania zasobów. OLAP pozwala organizacji szybciej reagować na potrzeby rynku.

Bibliografia:

1. Eryk Thomsen. Rozwiązania OLAP: Budowa wielowymiarowych systemów informatycznych Wydanie drugie. Wiley Computer Publishing John Wiley & Sons, Inc., 2002.

2. Biała księga Rady OLAP, http://www.olapcouncil.org/research/whtpaply.htm

3. Gerd Stumme i Bernhard Ganter. Formalna analiza pojęć _ Podstawy matematyczne.

Koncepcja wielowymiarowej analizy danych jest ściśle powiązana z analizą operacyjną, która realizowana jest z wykorzystaniem systemów OLAP.

OLAP (On-Line Analytical Processing) to technologia operacyjnego przetwarzania danych analitycznych, która wykorzystuje metody i narzędzia gromadzenia, przechowywania i analizowania danych wielowymiarowych w celu wspomagania procesów decyzyjnych.

Głównym zadaniem systemów OLAP jest wspieranie działań analitycznych i arbitralnych (często używany termin ad-hoc) żądań analityków użytkowników. Celem analizy OLAP jest testowanie pojawiających się hipotez.

Początków technologii OLAP należy do twórcy podejścia relacyjnego, E. Codda. W 1993 roku opublikował artykuł zatytułowany „OLAP dla analityków użytkowników: jaki powinien być”. W artykule przedstawiono podstawowe pojęcia związane z analityką online oraz wskazano 12 wymagań, jakie muszą spełniać produkty umożliwiające analitykę online. Tokmakov G.P. Baza danych. Koncepcja bazy danych, relacyjny model danych, języki SQL. s. 51

Poniżej wymieniono 12 zasad przedstawionych przez Codda, które definiują OLAP.

1. Wielowymiarowość – system OLAP na poziomie koncepcyjnym powinien prezentować dane w postaci wielowymiarowego modelu, co upraszcza procesy analizy i postrzegania informacji.

2. Przejrzystość – system OLAP musi ukrywać przed użytkownikiem rzeczywistą implementację modelu wielowymiarowego, sposób organizacji, źródła, sposoby przetwarzania i przechowywania.

3. Dostępność – System OLAP musi zapewniać użytkownikowi pojedynczy, spójny i całościowy model danych, zapewniający dostęp do danych niezależnie od sposobu i miejsca ich przechowywania.

4. Stała wydajność przy opracowywaniu raportów – wydajność systemów OLAP nie powinna znacząco spadać wraz ze wzrostem liczby wymiarów, na których przeprowadzana jest analiza.

5. Architektura klient-serwer – system OLAP musi mieć możliwość pracy w środowisku klient-serwer, ponieważ Większość danych, które dziś muszą zostać poddane operacyjnemu przetwarzaniu analitycznemu, jest przechowywana rozproszonie. Główną ideą jest tutaj to, aby komponent serwerowy narzędzia OLAP był wystarczająco inteligentny i umożliwiał budowę wspólnego schematu koncepcyjnego w oparciu o uogólnienie i konsolidację różnych schematów logicznych i fizycznych korporacyjnych baz danych, aby zapewnić efekt przejrzystości.

6. Równość wymiarowa – System OLAP musi obsługiwać model wielowymiarowy, w którym wszystkie wymiary są równe. Jeśli to konieczne, można nadać dodatkowe cechy poszczególnym wymiarom, ale możliwość ta musi być zapewniona dla dowolnego wymiaru.

7. Dynamiczne zarządzanie rzadkimi macierzami – system OLAP musi zapewniać optymalne przetwarzanie rzadkich macierzy. Szybkość dostępu musi być utrzymywana niezależnie od lokalizacji komórek danych i być stała dla modeli o różnej liczbie wymiarów i różnym stopniu rzadkości danych.

8. Obsługa trybu wielu użytkowników – system OLAP musi zapewniać możliwość wspólnej pracy kilku użytkowników nad jednym modelem analitycznym lub tworzenia dla nich różnych modeli z pojedynczych danych. Możliwy jest w tym przypadku zarówno odczyt, jak i zapis danych, dlatego system musi zapewniać ich integralność i bezpieczeństwo.

9. Nieograniczone operacje krzyżowe – system OLAP musi zapewniać zachowanie relacji funkcjonalnych opisanych przy użyciu określonego języka formalnego pomiędzy komórkami hipersześcianu podczas wykonywania jakichkolwiek operacji wycinania, obracania, konsolidacji lub drążenia. System powinien samodzielnie (automatycznie) dokonywać transformacji ustalonych relacji, nie wymagając od użytkownika ich przedefiniowania.

10. Intuicyjna manipulacja danymi — system OLAP musi umożliwiać wykonywanie operacji wycinania, obracania, konsolidowania i drążenia hipersześcianu bez konieczności wykonywania przez użytkownika wielu manipulacji interfejsem. Wymiary zdefiniowane w modelu analitycznym muszą zawierać wszystkie informacje niezbędne do wykonania powyższych operacji.

11. Elastyczne możliwości pozyskiwania raportów – system OLAP musi obsługiwać różne metody wizualizacji danych, tj. raporty należy przedstawiać w dowolnej możliwej orientacji. Narzędzia raportowania muszą prezentować syntetyczne dane lub informacje wynikające z modelu danych w dowolnej możliwej orientacji. Oznacza to, że wiersze, kolumny lub strony muszą wykazywać od 0 do N wymiarów jednocześnie, gdzie N jest liczbą wymiarów całego modelu analitycznego. Ponadto każdy wymiar treści pokazany w pojedynczym poście, kolumnie lub stronie musi umożliwiać pokazanie dowolnego podzbioru elementów (wartości) zawartych w wymiarze w dowolnej kolejności.

12. Nieograniczony wymiar i liczba poziomów agregacji - badania nad możliwą liczbą niezbędnych wymiarów wymaganych w modelu analitycznym wykazały, że jednocześnie można zastosować do 19 wymiarów. Dlatego zdecydowanie zaleca się, aby narzędzie analityczne umożliwiało wykonanie co najmniej 15, a najlepiej 20 pomiarów jednocześnie. Co więcej, każdy ze wspólnych wymiarów nie powinien być ograniczony liczbą poziomów agregacji i ścieżek konsolidacji zdefiniowanych przez użytkownika.

Dodatkowe zasady Codda.

Zbiór tych wymagań, który de facto posłużył za definicję OLAP-u, dość często powoduje różne skargi, np. zasady 1, 2, 3, 6 to wymagania, a zasady 10, 11 to niesformalizowane życzenia. Tokmakov G.P. Baza danych. Koncepcja bazy danych, relacyjny model danych, języki SQL. s. 68 Zatem wymienione przez Codda 12 wymagań nie pozwala nam dokładnie zdefiniować OLAP. W 1995 roku Codd dodał do powyższej listy sześć następujących zasad:

13. Pobieranie zbiorcze a interpretacja — System OLAP musi zapewniać równie skuteczny dostęp zarówno do danych własnych, jak i zewnętrznych.

14. Obsługa wszystkich modeli analizy OLAP — System OLAP musi obsługiwać wszystkie cztery modele analizy danych zdefiniowane przez Codda: kategoryczny, interpretacyjny, spekulacyjny i stereotypowy.

15. Przetwarzanie danych nieznormalizowanych – system OLAP musi być zintegrowany ze źródłami danych nieznormalizowanych. Modyfikacje danych dokonane w środowisku OLAP nie powinny powodować zmian w danych przechowywanych w oryginalnych systemach zewnętrznych.

16. Zapisywanie wyników OLAP: przechowywanie ich oddzielnie od danych źródłowych - system OLAP pracujący w trybie odczytu i zapisu musi oddzielnie zapisywać wyniki po modyfikacji danych źródłowych. Innymi słowy, zapewnione jest bezpieczeństwo oryginalnych danych.

17. Eliminacja brakujących wartości – System OLAP prezentując dane użytkownikowi, musi odrzucić wszystkie brakujące wartości. Innymi słowy, brakujące wartości muszą różnić się od wartości null.

18. Obsługa brakujących wartości – System OLAP musi ignorować wszystkie brakujące wartości bez względu na ich źródło. Ta cecha jest powiązana z 17. zasadą.

Ponadto Codd podzielił wszystkie 18 reguł na następujące cztery grupy, nazywając je funkcjami. Grupy te nazwano B, S, R i D.

Główne cechy (B) obejmują następujące zasady:

Wielowymiarowa koncepcyjna reprezentacja danych (zasada 1);

Intuicyjna manipulacja danymi (zasada 10);

Dostępność (zasada 3);

Ekstrakcja partii a interpretacja (zasada 13);

Wsparcie dla wszystkich modeli analizy OLAP (zasada 14);

Architektura klient-serwer (zasada 5);

Przejrzystość (zasada 2);

Obsługa wielu użytkowników (zasada 8)

Funkcje specjalne (S):

Przetwarzanie danych nieznormalizowanych (zasada 15);

Przechowywanie wyników OLAP: przechowywanie ich oddzielnie od danych źródłowych (zasada 16);

Eliminacja brakujących wartości (zasada 17);

Postępowanie z brakującymi wartościami (zasada 18). Funkcje raportowania (R):

Elastyczność raportowania (zasada 11);

Standardowe raportowanie (zasada 4);

Automatyczna konfiguracja warstwy fizycznej (zmodyfikowana oryginalna zasada 7).

Kontrola wymiarów (D):

Uniwersalność miar (zasada 6);

Nieograniczona liczba wymiarów i poziomów agregacji (zasada 12);

Nieograniczone operacje pomiędzy wymiarami (zasada 9).

Wyślij swoją dobrą pracę do bazy wiedzy jest prosta. Skorzystaj z poniższego formularza

Studenci, doktoranci, młodzi naukowcy, którzy wykorzystują bazę wiedzy w swoich studiach i pracy, będą Państwu bardzo wdzięczni.

Wysłany dnia http://www.allbest.ru/

Praca na kursie

dyscyplina: Bazy danych

Temat: TechnologiaOLAP

Zakończony:

Czyżykow Aleksander Aleksandrowicz

Wstęp

1. Klasyfikacja produktów OLAP

2. Klient OLAP - serwer OLAP: zalety i wady

3. Podstawowy system OLAP

3.1 Zasady projektowania

Wniosek

Lista wykorzystanych źródeł

Aplikacje

Wdyrygowanie

Trudno znaleźć w komputerowym świecie osobę, która przynajmniej na poziomie intuicyjnym nie rozumie, czym są bazy danych i do czego są potrzebne. W przeciwieństwie do tradycyjnych relacyjnych systemów DBMS, koncepcja OLAP nie jest tak powszechnie znana, choć niemal każdy słyszał zapewne tajemnicze określenie „kostki OLAP”. Co to jest przetwarzanie analityczne online?

OLAP nie jest odrębnym oprogramowaniem, językiem programowania ani nawet konkretną technologią. Jeśli spróbujemy objąć OLAP we wszystkich jego przejawach, będzie to zbiór koncepcji, zasad i wymagań leżących u podstaw oprogramowania, które ułatwia analitykom dostęp do danych. Choć nikt nie zgodzi się z taką definicją, wątpliwe jest, aby przybliżyła ona niespecjalistów choć na jotę do zrozumienia tematu. Dlatego też, chcąc zrozumieć OLAP, lepiej wybrać inną ścieżkę. Po pierwsze, musimy dowiedzieć się, dlaczego analitycy muszą w jakiś szczególny sposób ułatwiać dostęp do danych.

Faktem jest, że analitycy są szczególnymi konsumentami informacji korporacyjnych. Zadaniem analityka jest odnajdywanie wzorców w dużych ilościach danych. Dlatego analityk nie będzie zwracał uwagi na pojedynczy fakt, potrzebuje informacji o setkach i tysiącach zdarzeń. Nawiasem mówiąc, jednym z istotnych punktów, które doprowadziły do ​​​​powstania OLAP, jest produktywność i wydajność. Wyobraźmy sobie, co się dzieje, gdy analityk potrzebuje uzyskać informacje, a w przedsiębiorstwie nie ma narzędzi OLAP. Analityk samodzielnie (co jest mało prawdopodobne) lub przy pomocy programisty wykonuje odpowiednie zapytanie SQL i otrzymuje interesujące go dane w formie raportu lub eksportuje je do arkusza kalkulacyjnego. W tym przypadku pojawia się bardzo wiele problemów. Po pierwsze, analityk jest zmuszony robić coś innego niż jego praca (programowanie SQL) lub czekać, aż programiści wykonają za niego zadanie - wszystko to negatywnie wpływa na wydajność pracy, wzrasta częstość zawałów serca i udarów mózgu i tak dalej. Po drugie, pojedynczy raport lub tabela z reguły nie uratuje gigantów myśli i ojców rosyjskiej analizy - i całą procedurę trzeba będzie powtarzać. Po trzecie, jak już się przekonaliśmy, analitycy nie pytają o drobnostki - potrzebują wszystkiego na raz. Oznacza to (choć technologia postępuje skokowo), że korporacyjny relacyjny serwer DBMS, do którego ma dostęp analityk, może głęboko i długo myśleć, blokując inne transakcje.

Koncepcja OLAP zdawała się właśnie rozwiązywać takie problemy. Kostki OLAP to w istocie metaraporty. Dzieląc metaraporty (tj. kostki) wzdłuż wymiarów, analityk faktycznie otrzymuje „zwykłe” dwuwymiarowe raporty, które go interesują (niekoniecznie są to raporty w zwykłym tego słowa znaczeniu - mówimy o strukturach danych z te same funkcje). Zalety kostek są oczywiste – dane z relacyjnego systemu DBMS można zażądać tylko raz – podczas budowania kostki. Ponieważ analitycy z reguły nie pracują z informacjami, które są uzupełniane i zmieniane na bieżąco, wygenerowana kostka jest aktualna przez dość długi czas. Dzięki temu nie tylko eliminowane są przerwy w działaniu relacyjnego serwera DBMS (nie ma zapytań z tysiącami i milionami linii odpowiedzi), ale także gwałtownie wzrasta szybkość dostępu do danych dla samego analityka. Ponadto, jak już wspomniano, wydajność poprawia się również poprzez obliczanie podsum hierarchii i innych zagregowanych wartości w momencie budowania kostki.

Oczywiście, aby w ten sposób zwiększyć produktywność, trzeba zapłacić. Czasami mówi się, że struktura danych po prostu „eksploduje” – kostka OLAP może zająć dziesiątki, a nawet setki razy więcej miejsca niż oryginalne dane.

Teraz, gdy już trochę rozumiemy, jak działa OLAP i czemu służy, nadal warto sformalizować naszą wiedzę i podać kryteria OLAP bez jednoczesnego tłumaczenia na zwykły ludzki język. Kryteria te (w sumie 12) zostały sformułowane w 1993 roku przez E.F. Codd – twórca koncepcji relacyjnego systemu DBMS i jednocześnie OLAP-u. Nie będziemy ich bezpośrednio rozpatrywać, ponieważ zostały później przerobione na tzw. test FASMI, który określa wymagania dla produktów OLAP. FASMI to akronim nazwy każdego elementu testowego:

Szybko szybko). Ta właściwość oznacza, że ​​system musi udzielić odpowiedzi na żądanie użytkownika średnio w ciągu pięciu sekund; jednakże większość żądań jest przetwarzana w ciągu jednej sekundy, a najbardziej złożone żądania powinny być przetwarzane w ciągu dwudziestu sekund. Ostatnie badania wykazały, że użytkownik zaczyna wątpić w powodzenie żądania, jeśli zajmuje ono więcej niż trzydzieści sekund.

Analiza (analityczna). System musi być w stanie obsłużyć wszelkie analizy logiczne i statystyczne typowe dla aplikacji biznesowych oraz zapewnić przechowywanie wyników w formie dostępnej dla użytkownika końcowego. Narzędzia analityczne mogą obejmować procedury analizy szeregów czasowych, rozkładu kosztów, przeliczania walut, modelowania zmian w strukturach organizacyjnych i inne.

Wspólny. System powinien zapewniać szerokie możliwości ograniczania dostępu do danych i jednoczesnej pracy wielu użytkowników.

Wielowymiarowy (wielowymiarowy). System musi zapewniać koncepcyjnie wielowymiarowy widok danych, w tym pełną obsługę wielu hierarchii.

Informacja. Moc różnych produktów oprogramowania charakteryzuje się ilością przetwarzanych danych wejściowych. Różne systemy OLAP mają różne możliwości: zaawansowane rozwiązania OLAP są w stanie obsłużyć co najmniej tysiąc razy więcej danych niż te najmniej wydajne. Wybierając narzędzie OLAP, należy wziąć pod uwagę wiele czynników, w tym duplikację danych, wymagania dotyczące pamięci, wykorzystanie miejsca na dysku, wskaźniki wydajności, integrację z hurtowniami informacji i tak dalej.

1. Klasyfikacja produktów OLAP

Istotą OLAP-u jest więc to, że źródło informacji do analizy prezentowane jest w postaci wielowymiarowej kostki, którą można dowolnie manipulować i pozyskiwać niezbędne sekcje informacyjne – raporty. W tym przypadku użytkownik końcowy postrzega kostkę jako wielowymiarową dynamiczną tabelę, która automatycznie podsumowuje dane (fakty) w różnych sekcjach (wymiarach) i umożliwia interaktywne zarządzanie obliczeniami i formularzem raportu. Operacje te wykonywane są przez silnik OLAP (lub silnik obliczeniowy OLAP).

Obecnie na całym świecie opracowano wiele produktów, które wdrażają technologie OLAP. Aby ułatwić poruszanie się pomiędzy nimi, zastosowano klasyfikację produktów OLAP: według sposobu przechowywania danych do analizy oraz według lokalizacji maszyny OLAP. Przyjrzyjmy się bliżej każdej kategorii produktów OLAP.

Zacznę od klasyfikacji opartej na sposobie przechowywania danych. Przypomnę, że wielowymiarowe kostki budowane są w oparciu o dane źródłowe i zagregowane. Zarówno dane źródłowe, jak i zagregowane dla kostek można przechowywać zarówno w relacyjnych, jak i wielowymiarowych bazach danych. Dlatego obecnie stosowane są trzy metody przechowywania danych: MOLAP (Multiwymiarowy OLAP), ROLAP (Relational OLAP) i HOLAP (Hybrid OLAP). W związku z tym produkty OLAP dzielą się na trzy podobne kategorie ze względu na sposób przechowywania danych:

1. W przypadku MOLAP dane źródłowe i zagregowane przechowywane są w wielowymiarowej bazie danych lub w wielowymiarowej kostce lokalnej.

2. W produktach ROLAP dane źródłowe przechowywane są w relacyjnych bazach danych lub w płaskich tabelach lokalnych na serwerze plików. Dane zbiorcze można umieścić w tabelach usług w tej samej bazie danych. Konwersja danych z relacyjnej bazy danych na wielowymiarowe kostki następuje na żądanie narzędzia OLAP.

3. Przy zastosowaniu architektury HOLAP dane źródłowe pozostają w relacyjnej bazie danych, a agregaty umieszczane są w wielowymiarowej. Kostka OLAP budowana jest na zlecenie narzędzia OLAP w oparciu o dane relacyjne i wielowymiarowe.

Kolejna klasyfikacja opiera się na lokalizacji maszyny OLAP. W oparciu o tę funkcję produkty OLAP dzielą się na serwery OLAP i klientów OLAP:

W serwerowych narzędziach OLAP obliczenia i przechowywanie danych zagregowanych realizowane są przez odrębny proces – serwer. Aplikacja kliencka odbiera jedynie wyniki zapytań względem wielowymiarowych kostek, które są przechowywane na serwerze. Niektóre serwery OLAP obsługują przechowywanie danych tylko w relacyjnych bazach danych, inne tylko w wielowymiarowych. Wiele nowoczesnych serwerów OLAP obsługuje wszystkie trzy metody przechowywania danych: MOLAP, ROLAP i HOLAP.

Klient OLAP jest zaprojektowany inaczej. Konstrukcja wielowymiarowej kostki oraz obliczenia OLAP wykonywane są w pamięci komputera klienckiego. Klienci OLAP są również podzieleni na ROLAP i MOLAP. Niektóre mogą obsługiwać obie opcje dostępu do danych.

Każde z tych podejść ma swoje zalety i wady. Wbrew powszechnemu przekonaniu o przewadze narzędzi serwerowych nad narzędziami klienckimi, w wielu przypadkach korzystanie z klienta OLAP dla użytkowników może być bardziej efektywne i opłacalne niż korzystanie z serwera OLAP.

2. Klient OLAP - serwer OLAP: zalety i wady

Podczas budowania systemu informacyjnego funkcjonalność OLAP można wdrożyć przy użyciu zarówno serwerowych, jak i klienckich narzędzi OLAP. W praktyce wybór polega na kompromisie między wydajnością a kosztem oprogramowania.

Objętość danych wyznaczana jest poprzez kombinację następujących cech: liczba rekordów, liczba wymiarów, liczba elementów wymiarowych, długość wymiarów i liczba faktów. Wiadomo, że serwer OLAP może przetwarzać większe ilości danych niż klient OLAP przy tej samej mocy komputera. Dzieje się tak, ponieważ serwer OLAP przechowuje na dyskach twardych wielowymiarową bazę danych zawierającą wstępnie obliczone kostki.

Wykonując operacje OLAP, programy klienckie wykonują na niej zapytania w języku podobnym do SQL, otrzymując nie całą kostkę, ale jej wyświetlone fragmenty. Klient OLAP w momencie działania musi mieć całą kostkę w pamięci RAM. W przypadku architektury ROLAP należy najpierw załadować do pamięci całą tablicę danych wykorzystaną do obliczenia sześcianu. Ponadto wraz ze wzrostem liczby wymiarów, faktów lub elementów wymiaru liczba agregatów rośnie wykładniczo. Zatem ilość danych przetwarzanych przez klienta OLAP jest bezpośrednio zależna od ilości pamięci RAM na komputerze użytkownika.

Należy jednak pamiętać, że większość klientów OLAP zapewnia przetwarzanie rozproszone. Dlatego też przez liczbę przetwarzanych rekordów, ograniczającą pracę klienckiego narzędzia OLAP, rozumie się nie ilość danych pierwotnych znajdujących się w korporacyjnej bazie danych, ale wielkość pochodzącej z niej zagregowanej próbki. Klient OLAP generuje żądanie do DBMS, które opisuje warunki filtrowania i algorytm wstępnego grupowania danych pierwotnych. Serwer wyszukuje, grupuje rekordy i zwraca kompaktowy wybór do dalszych obliczeń OLAP. Rozmiar tej próbki może być dziesiątki lub setki razy mniejszy niż objętość pierwotnych, niezagregowanych rekordów. W rezultacie zapotrzebowanie na takiego klienta OLAP w zasobach komputera PC jest znacznie zmniejszone.

Ponadto liczba wymiarów podlega ograniczeniom w ludzkiej percepcji. Wiadomo, że przeciętny człowiek może jednocześnie operować 3-4, maksymalnie 8 wymiarami. Przy większej liczbie wymiarów w tabeli dynamicznej, postrzeganie informacji staje się znacznie trudniejsze. Czynnik ten należy wziąć pod uwagę przy wstępnym obliczaniu pamięci RAM, która może być wymagana przez klienta OLAP.

Długość wymiarów wpływa również na rozmiar przestrzeni adresowej silnika OLAP podczas obliczania kostki OLAP. Im dłuższe wymiary, tym więcej zasobów potrzeba do wstępnego posortowania tablicy wielowymiarowej i odwrotnie. Tylko krótkie pomiary w danych źródłowych to kolejny argument przemawiający za klientem OLAP.

O tej charakterystyce decydują dwa omówione powyżej czynniki: ilość przetwarzanych danych i moc komputerów. Wraz ze wzrostem liczby wymiarów wydajność wszystkich narzędzi OLAP maleje ze względu na znaczny wzrost liczby agregatów, ale tempo spadku jest inne. Pokażmy tę zależność na wykresie.

Schemat 1. Zależność wydajności klienckich i serwerowych narzędzi OLAP od wzrostu wolumenu danych

Charakterystyka szybkości serwera OLAP jest mniej wrażliwa na wzrost ilości danych. Wyjaśnia to różne technologie przetwarzania żądań użytkowników przez serwer OLAP i klienta OLAP. Na przykład podczas operacji drążenia serwer OLAP uzyskuje dostęp do przechowywanych danych i „pobiera” dane z tej „gałęzi”. Klient OLAP oblicza cały zestaw agregatów w momencie ładowania. Jednak do pewnej ilości danych wydajność narzędzi serwerowych i klienckich jest porównywalna. W przypadku klientów OLAP obsługujących przetwarzanie rozproszone zakres porównywalności wydajności może rozciągać się na woluminy danych pokrywające potrzeby ogromnej liczby użytkowników w zakresie analizy OLAP. Potwierdzają to wyniki wewnętrznych testów serwera MS OLAP i klienta OLAP „Kontur Standard”. Test przeprowadzono na komputerze IBM PC Pentium Celeron 400 MHz, 256 Mb dla próby 1 miliona unikalnych (tzn. zagregowanych) rekordów w 7 wymiarach zawierających od 10 do 70 elementów. Czas ładowania kostki w obu przypadkach nie przekracza 1 sekundy, a różne operacje OLAP (drążenie, drążenie, przesuwanie, filtrowanie itp.) wykonywane są w setnych części sekundy.

Gdy rozmiar próbki przekracza ilość pamięci RAM, rozpoczyna się zamiana dysku i wydajność klienta OLAP gwałtownie spada. Dopiero od tego momentu możemy mówić o przewadze serwera OLAP.

Należy pamiętać, że „punkt krytyczny” wyznacza granicę gwałtownego wzrostu kosztu rozwiązania OLAP. W przypadku zadań każdego konkretnego użytkownika punkt ten można łatwo określić na podstawie testów wydajności klienta OLAP. Takie testy można uzyskać od firmy deweloperskiej.

Ponadto koszt rozwiązania serwerowego OLAP wzrasta wraz ze wzrostem liczby użytkowników. Faktem jest, że serwer OLAP wykonuje obliczenia dla wszystkich użytkowników na jednym komputerze. Odpowiednio, im większa liczba użytkowników, tym więcej pamięci RAM i mocy obliczeniowej. Zatem jeśli wolumeny przetwarzanych danych mieszczą się w obszarze porównywalnej wydajności systemów serwerowych i klienckich, to przy innych czynnikach korzystanie z klienta OLAP będzie bardziej opłacalne.

Korzystanie z serwera OLAP w „klasycznej” ideologii polega na przesyłaniu relacyjnych danych DBMS do wielowymiarowej bazy danych. Przesyłanie odbywa się przez określony czas, więc dane serwera OLAP nie odzwierciedlają aktualnego stanu. Tylko te serwery OLAP, które obsługują tryb działania ROLAP, są wolne od tej wady.

Podobnie wielu klientów OLAP umożliwia wdrażanie architektur ROLAP i Desktop z bezpośrednim dostępem do bazy danych. Zapewnia to analizę on-line danych źródłowych.

Serwer OLAP stawia minimalne wymagania co do mocy terminali klienckich. Obiektywnie wymagania klienta OLAP są wyższe, bo... wykonuje obliczenia w pamięci RAM komputera użytkownika. Stan floty sprzętowej danej organizacji jest najważniejszym wskaźnikiem, który należy wziąć pod uwagę przy wyborze narzędzia OLAP. Ale są tu także „za” i „przeciw”. Serwer OLAP nie wykorzystuje ogromnej mocy obliczeniowej współczesnych komputerów osobistych. Jeśli organizacja posiada już flotę nowoczesnych komputerów PC, nieefektywne jest wykorzystywanie ich wyłącznie jako terminali wyświetlających i jednocześnie narażanie się na dodatkowe koszty dla serwera centralnego.

Jeżeli moc komputerów użytkowników „pozostawia wiele do życzenia”, klient OLAP będzie działał wolno lub w ogóle nie będzie mógł działać. Zakup jednego wydajnego serwera może być tańszy niż modernizacja wszystkich komputerów.

Tutaj przydatne jest uwzględnienie trendów w rozwoju sprzętu. Ponieważ ilość danych do analizy jest praktycznie stała, stały wzrost mocy komputerów PC będzie prowadził do poszerzania możliwości klientów OLAP i wypierania przez nich serwerów OLAP do segmentu bardzo dużych baz danych.

W przypadku korzystania z serwera OLAP przez sieć do komputera klienta przesyłane są tylko dane, które mają zostać wyświetlone, podczas gdy klient OLAP otrzymuje całą ilość danych pierwotnych.

Dlatego w przypadku korzystania z klienta OLAP ruch sieciowy będzie większy.

Jednak podczas korzystania z serwera OLAP operacje użytkownika, na przykład szczegółowe, generują nowe zapytania do wielowymiarowej bazy danych, a co za tym idzie, nowy transfer danych. Wykonywanie operacji OLAP przez klienta OLAP odbywa się w pamięci RAM i w związku z tym nie powoduje nowych przepływów danych w sieci.

Należy również zauważyć, że nowoczesny sprzęt sieciowy zapewnia wysoki poziom przepustowości.

Dlatego w zdecydowanej większości przypadków analiza „średniej” bazy danych za pomocą klienta OLAP nie spowolni pracy użytkownika.

Koszt serwera OLAP jest dość wysoki. Do tego należy doliczyć koszt dedykowanego komputera oraz bieżące koszty administrowania wielowymiarową bazą danych. Ponadto wdrożenie i utrzymanie serwera OLAP wymaga dość wysoko wykwalifikowanego personelu.

Koszt klienta OLAP jest o rząd wielkości niższy niż koszt serwera OLAP. Serwer nie wymaga administracji ani dodatkowego wyposażenia technicznego. Przy wdrażaniu klienta OLAP nie ma wysokich wymagań co do kwalifikacji personelu. Klienta OLAP można wdrożyć znacznie szybciej niż serwer OLAP.

Tworzenie aplikacji analitycznych z wykorzystaniem klienckich narzędzi OLAP jest procesem szybkim i nie wymagającym specjalnego przeszkolenia. Użytkownik znający fizyczną implementację bazy danych może samodzielnie opracować aplikację analityczną, bez udziału informatyka. Korzystając z serwera OLAP, musisz nauczyć się obsługi 2 różnych systemów, czasami od różnych dostawców - tworzenia kostek na serwerze i rozwijania aplikacji klienckiej. Klient OLAP zapewnia pojedynczy interfejs wizualny do opisywania kostek i konfigurowania dla nich interfejsów użytkownika.

Przejdźmy przez proces tworzenia aplikacji OLAP za pomocą narzędzia klienckiego.

Schemat 2. Tworzenie aplikacji OLAP z wykorzystaniem narzędzia klienta ROLAP

Zasadą działania klientów ROLAP jest wstępny opis warstwy semantycznej, za którą ukryta jest fizyczna struktura danych źródłowych. W tym przypadku źródłami danych mogą być: tabele lokalne, RDBMS. Lista obsługiwanych źródeł danych zależy od konkretnego oprogramowania. Następnie użytkownik może samodzielnie manipulować obiektami, które rozumie pod kątem tematyki, tworząc kostki i interfejsy analityczne.

Zasada działania klienta serwera OLAP jest inna. Na serwerze OLAP podczas tworzenia kostek użytkownik manipuluje fizycznymi opisami bazy danych.

Jednocześnie w samej kostce tworzone są niestandardowe opisy. Klient serwera OLAP jest skonfigurowany tylko dla kostki.

Wyjaśnijmy zasadę działania klienta ROLAP na przykładzie tworzenia dynamicznego raportu sprzedaży (patrz diagram 2). Niech początkowe dane do analizy zostaną zapisane w dwóch tabelach: Sales i Deal.

Podczas tworzenia warstwy semantycznej źródła danych – tabele Sales i Deal – są opisywane w sposób zrozumiały dla użytkownika końcowego i zamieniane w „Produkty” i „Oferty”. Pole „ID” w tabeli „Produkty” zmienia nazwę na „Kod”, a pole „Nazwa” na „Produkt” itd.

Następnie tworzony jest obiekt biznesowy Sprzedaż. Obiekt biznesowy to płaski stół, na podstawie którego tworzona jest wielowymiarowa kostka. Podczas tworzenia obiektu biznesowego tabele „Produkty” i „Transakcje” są łączone za pomocą pola „Kod” produktu. Ponieważ do wyświetlenia w raporcie nie są wymagane wszystkie pola tabeli, obiekt biznesowy wykorzystuje jedynie pola „Pozycja”, „Data” i „Kwota”.

Następnie na podstawie obiektu biznesowego tworzony jest raport OLAP. Użytkownik wybiera obiekt biznesowy i przeciąga jego atrybuty do obszarów kolumn lub wierszy tabeli raportu. W naszym przykładzie, w oparciu o obiekt biznesowy „Sprzedaż”, utworzono raport sprzedaży produktów w podziale na miesiące.

Podczas pracy z interaktywnym raportem użytkownik może ustawić warunki filtrowania i grupowania za pomocą tych samych prostych ruchów myszką. W tym momencie klient ROLAP uzyskuje dostęp do danych w pamięci podręcznej. Klient serwera OLAP generuje nowe zapytanie do wielowymiarowej bazy danych. Przykładowo stosując filtr po produkcie w raporcie sprzedaży, można otrzymać raport dotyczący sprzedaży interesujących nas produktów.

Wszystkie ustawienia aplikacji OLAP można przechowywać w dedykowanym repozytorium metadanych, w aplikacji lub w repozytorium systemu wielowymiarowej bazy danych. Implementacja zależy od konkretnego oprogramowania.

W jakich więc przypadkach korzystanie z klienta OLAP może być bardziej efektywne i opłacalne dla użytkowników niż korzystanie z serwera OLAP?

Ekonomiczna wykonalność korzystania z serwera OLAP pojawia się, gdy ilości danych są bardzo duże i przytłaczające dla klienta OLAP, w przeciwnym razie bardziej uzasadnione jest użycie tego ostatniego. W tym przypadku klient OLAP łączy w sobie wysoką wydajność i niski koszt.

Wydajne komputery PC dla analityków to kolejny argument przemawiający za klientami OLAP. W przypadku korzystania z serwera OLAP pojemności te nie są wykorzystywane. Wśród zalet klientów OLAP można wymienić:

Koszty wdrożenia i utrzymania klienta OLAP są znacznie niższe niż koszty serwera OLAP.

W przypadku korzystania z klienta OLAP z maszyną osadzoną dane są przesyłane jednorazowo przez sieć. Podczas wykonywania operacji OLAP nie są generowane żadne nowe strumienie danych.

Konfigurację klientów ROLAP upraszcza się poprzez wyeliminowanie etapu pośredniego – tworzenia wielowymiarowej bazy danych.

3. Podstawowy system OLAP

3.1 Zasady projektowania

Podstawowe dane klienta aplikacji

Z tego, co już zostało powiedziane jasno wynika, że ​​mechanizm OLAP jest dziś jedną z najpopularniejszych metod analizy danych. Istnieją dwa główne podejścia do rozwiązania tego problemu. Pierwsza z nich to Multiwymiarowy OLAP (MOLAP) – implementacja mechanizmu wykorzystującego wielowymiarową bazę danych po stronie serwera, natomiast druga Relational OLAP (ROLAP) – budowanie kostek w locie w oparciu o zapytania SQL do relacyjnego systemu DBMS. Każde z tych podejść ma swoje zalety i wady. Ich analiza porównawcza wykracza poza zakres tej pracy. W tym miejscu opisana zostanie jedynie podstawowa implementacja modułu ROLAP dla komputerów stacjonarnych.

Zadanie to powstało po zastosowaniu systemu ROLAP zbudowanego w oparciu o komponenty Decision Cube zawarte w Borland Delphi. Niestety użycie tego zestawu komponentów wykazało słabą wydajność w przypadku dużych ilości danych. Problem ten można złagodzić, próbując wyciąć jak najwięcej danych przed umieszczeniem ich w kostkach. Ale to nie zawsze wystarczy.

W Internecie i prasie można znaleźć wiele informacji na temat systemów OLAP, jednak prawie nigdzie nie ma informacji o tym, jak one działają od środka.

Schemat pracy:

Ogólny schemat działania stacjonarnego systemu OLAP można przedstawić w następujący sposób:

Schemat 3. Działanie desktopowego systemu OLAP

Algorytm działania jest następujący:

1. Uzyskanie danych w postaci płaskiej tabeli lub wyniku wykonania zapytania SQL.

2.Buforowanie danych i konwertowanie ich do wielowymiarowej kostki.

3.Wyświetlanie zbudowanej kostki za pomocą przestawki lub wykresu itp. Generalnie do jednej kostki można podłączyć dowolną liczbę widoków.

Zastanówmy się, jak taki system można zorganizować wewnętrznie. Zaczniemy od strony, którą można zobaczyć i dotknąć, czyli od wyświetlaczy. Wyświetlacze stosowane w systemach OLAP najczęściej występują w dwóch rodzajach – tabelach krzyżowych i wykresach. Przyjrzyjmy się tabeli przestawnej, która jest podstawowym i najczęstszym sposobem wyświetlania sześcianu.

Na poniższym rysunku wiersze i kolumny zawierające wyniki zagregowane są pokazane w kolorze żółtym, komórki zawierające fakty w kolorze jasnoszarym, a komórki zawierające dane wymiarowe w kolorze ciemnoszarym.

Tym samym tabelę można podzielić na następujące elementy, z którymi będziemy pracować w przyszłości:

Wypełniając matrycę faktami, musimy postępować w następujący sposób:

Na podstawie danych pomiarowych określ współrzędne elementu, który ma zostać dodany do macierzy.

Określ współrzędne kolumn i wierszy sum, na które ma wpływ dodany element.

Dodaj element do macierzy oraz odpowiednie kolumny i wiersze ogółem.

Należy zaznaczyć, że otrzymana macierz będzie bardzo rzadka, dlatego jej organizacja w postaci tablicy dwuwymiarowej (opcja leżąca na powierzchni) jest nie tylko nieracjonalna, ale najprawdopodobniej niemożliwa ze względu na dużą wymiar tej matrycy, do przechowywania której nie ma. Żadna ilość pamięci RAM nie jest wystarczająca. Przykładowo, jeśli nasza kostka zawiera informacje o sprzedaży za jeden rok i ma tylko 3 wymiary - Klienci (250), Produkty (500) i Data (365) to otrzymamy macierz faktów o wymiarach: liczba elementów = 250 x 500 x 365 = 45 625 000. I to pomimo tego, że w matrycy może znajdować się zaledwie kilka tysięcy wypełnionych elementów. Co więcej, im większa liczba wymiarów, tym rzadsza będzie macierz.

Dlatego do pracy z tą macierzą należy zastosować specjalne mechanizmy do pracy z rzadkimi macierzami. Możliwe są różne opcje organizacji macierzy rzadkiej. Są one dość dobrze opisane w literaturze programistycznej, na przykład w pierwszym tomie klasycznej książki „The Art of Programming” Donalda Knutha.

Zastanówmy się teraz, jak określić współrzędne faktu, znając odpowiadające mu wymiary. Aby to zrobić, przyjrzyjmy się bliżej strukturze nagłówka:

W takim przypadku można łatwo znaleźć sposób na określenie numerów odpowiednich komórek i sum, w których się one mieszczą. Można tu zaproponować kilka podejść. Jednym z nich jest użycie drzewa do znalezienia pasujących komórek. Drzewo to można skonstruować przechodząc przez zaznaczenie. Ponadto można łatwo zdefiniować analityczny wzór powtarzalności w celu obliczenia wymaganej współrzędnej.

Dane przechowywane w tabeli muszą zostać przekształcone, aby mogły zostać wykorzystane. Zatem, aby poprawić wydajność podczas budowania hipersześcianu, pożądane jest znalezienie unikalnych elementów przechowywanych w kolumnach odpowiadających wymiarom sześcianu. Ponadto można przeprowadzić wstępną agregację faktów dla rekordów mających te same wartości wymiarów. Jak wspomnieliśmy powyżej, ważne są dla nas unikalne wartości dostępne w polach pomiarowych. Następnie można zaproponować następującą strukturę ich przechowywania:

Schemat 4. Struktura przechowywania unikalnych wartości

Stosując tę ​​strukturę znacznie zmniejszamy zapotrzebowanie na pamięć. Co jest dość istotne, ponieważ... Aby zwiększyć szybkość działania, zaleca się przechowywanie danych w pamięci RAM. Ponadto możesz przechowywać tylko tablicę elementów i zrzucać ich wartości na dysk, ponieważ będziemy ich potrzebować tylko podczas wyświetlania karty krzyżowej.

Opisane powyżej pomysły stały się podstawą do stworzenia biblioteki komponentów CubeBase.

Schemat 5. Struktura biblioteki komponentów CubeBase

TСubeSource wykonuje buforowanie i konwersję danych do formatu wewnętrznego, a także wstępną agregację danych. Komponent TCubeEngine wykonuje za jego pomocą obliczenia i operacje na hipersześcianach. W rzeczywistości jest to silnik OLAP, który przekształca płaską tabelę w wielowymiarowy zbiór danych. Komponent TCubeGrid wyświetla tabelę przestawną i steruje wyświetlaniem hipersześcianu. TСubeChart pozwala zobaczyć hipersześcian w formie wykresów, a komponent TСubePivote kontroluje działanie rdzenia sześcianu.

Przyjrzałem się więc architekturze i interakcjom komponentów, które można wykorzystać do zbudowania maszyny OLAP. Przyjrzyjmy się teraz bliżej wewnętrznej strukturze komponentów.

Pierwszym etapem działania systemu będzie załadowanie danych i ich konwersja do formatu wewnętrznego. Logicznym pytaniem byłoby: dlaczego jest to konieczne, skoro możesz po prostu użyć danych z płaskiej tabeli, przeglądając je podczas konstruowania wycinka sześcianu. Aby odpowiedzieć na to pytanie, spójrzmy na strukturę tabeli z punktu widzenia maszyny OLAP. W systemach OLAP kolumny tabeli mogą zawierać fakty lub wymiary. Jednak logika pracy z tymi kolumnami będzie inna. W hipersześcianie wymiary są w rzeczywistości osiami, a wartościami wymiarów są współrzędne na tych osiach. W tym przypadku kostka zostanie wypełniona bardzo nierównomiernie - będą kombinacje współrzędnych, które nie będą odpowiadać żadnym rekordom i będą kombinacje, które odpowiadają kilku rekordom w oryginalnej tabeli, przy czym częściej spotykana jest pierwsza sytuacja, tj. , sześcian będzie podobny do wszechświata - pusta przestrzeń, w niektórych miejscach znajdują się skupiska punktów (fakty). Jeśli więc podczas wstępnego ładowania danych dokonamy preagregacji danych, czyli połączymy rekordy o tych samych wartościach pomiarowych, to przy obliczaniu wstępnych zagregowanych wartości faktów, to w przyszłości będziemy musieli pracować z mniejszą liczbą rekordów, co zwiększy szybkość pracy i zmniejszenie wymagań co do ilości pamięci RAM.

Do zbudowania wycinków hipersześcianu potrzebne są następujące możliwości - zdefiniowanie współrzędnych (właściwie wartości pomiarowych) dla rekordów tabeli, a także zdefiniowanie rekordów posiadających określone współrzędne (wartości pomiarowe). Zastanówmy się, jak można zrealizować te możliwości. Najłatwiejszym sposobem przechowywania hipersześcianu jest użycie bazy danych o własnym, wewnętrznym formacie.

Schematycznie transformacje można przedstawić w następujący sposób:

Rysunek 6: Konwersja bazy danych w formacie wewnętrznym na znormalizowaną bazę danych

Oznacza to, że zamiast jednej tabeli otrzymaliśmy znormalizowaną bazę danych. Tak naprawdę normalizacja zmniejsza prędkość systemu – mogą powiedzieć specjaliści od baz danych i w tym przypadku na pewno będą mieli rację w przypadku, gdy będziemy musieli uzyskać wartości dla elementów słownikowych (w naszym przypadku wartości pomiarowe). Rzecz jednak w tym, że na etapie konstruowania plasterka w ogóle nie potrzebujemy tych wartości. Jak wspomniano powyżej, interesują nas tylko współrzędne w naszym hipersześcianie, dlatego zdefiniujemy współrzędne dla wartości pomiarowych. Najłatwiej byłoby przenumerować wartości elementów. Aby numeracja była jednoznaczna w obrębie jednego wymiaru, najpierw sortujemy listy wartości wymiarów (słowniki, w terminologii bazodanowej) w kolejności alfabetycznej. Dodatkowo przenumerujemy fakty, a fakty zostaną wstępnie zagregowane. Otrzymujemy następujący diagram:

Schemat 7. Renumeracja znormalizowanej bazy danych w celu ustalenia współrzędnych wartości pomiarowych

Teraz pozostaje tylko połączyć ze sobą elementy różnych tabel. W teorii relacyjnych baz danych odbywa się to za pomocą specjalnych tabel pośrednich. Wystarczy, że każdy wpis w tabelach miar powiążemy z listą, której elementami będą numery faktów, przy tworzeniu których wykorzystano te pomiary (czyli wyznaczyć wszystkie fakty, które mają tę samą wartość współrzędna opisana przez ten pomiar). Dla faktów każdy rekord zostanie dopasowany do wartości współrzędnych, wzdłuż których się znajduje w hipersześcianie. W przyszłości współrzędne rekordu w hipersześcianie będą rozumiane jako numery odpowiednich rekordów w tabelach wartości pomiarowych. Następnie dla naszego hipotetycznego przykładu otrzymujemy następujący zbiór określający wewnętrzną reprezentację hipersześcianu:

Schemat 8. Wewnętrzna reprezentacja hipersześcianu

To będzie nasza wewnętrzna reprezentacja hipersześcianu. Ponieważ nie robimy tego dla relacyjnej bazy danych, po prostu używamy pól o zmiennej długości jako pól do łączenia wartości pomiarowych (w RDB nie bylibyśmy w stanie tego zrobić, ponieważ liczba kolumn tabeli jest tam z góry określona).

Moglibyśmy spróbować użyć zestawu tabel tymczasowych do implementacji hipersześcianu, ale ta metoda zapewni zbyt niską wydajność (na przykład zestaw komponentów Decision Cube), więc skorzystamy z własnych struktur przechowywania danych.

Aby zaimplementować hipersześcian, musimy zastosować struktury danych, które zapewnią maksymalną wydajność i minimalne zużycie pamięci RAM. Oczywiście nasze główne struktury będą służyć do przechowywania słowników i tabel faktów. Przyjrzyjmy się zadaniom, które słownik musi wykonać przy maksymalnej prędkości:

sprawdzenie obecności elementu w słowniku;

dodanie elementu do słownika;

wyszukaj numery rekordów, które mają określoną wartość współrzędnych;

wyszukiwanie współrzędnych według wartości pomiaru;

wyszukiwanie wartości pomiaru według jego współrzędnych.

Do realizacji tych wymagań można zastosować różne typy danych i struktury. Można na przykład użyć tablic struktur. W rzeczywistym przypadku tablice te wymagają dodatkowych mechanizmów indeksujących, które zwiększą szybkość ładowania danych i wyszukiwania informacji.

Aby zoptymalizować działanie hipersześcianu, należy określić, które zadania należy rozwiązać w pierwszej kolejności i według jakich kryteriów poprawić jakość pracy. Najważniejsze dla nas jest zwiększenie szybkości programu, chociaż pożądane jest, aby wymagana była niezbyt duża ilość pamięci RAM. Zwiększenie wydajności jest możliwe poprzez wprowadzenie dodatkowych mechanizmów dostępu do danych, na przykład wprowadzenie indeksowania. Niestety zwiększa to obciążenie pamięci RAM. Dlatego określimy, które operacje musimy wykonać przy najwyższej prędkości. Aby to zrobić, rozważ poszczególne komponenty implementujące hipersześcian. Komponenty te dzielą się na dwa główne typy – tabelę wymiarów i faktów. W przypadku pomiaru typowym zadaniem byłoby:

dodanie nowej wartości;

określenie współrzędnej na podstawie wartości pomiaru;

określenie wartości według współrzędnych.

Dodając nową wartość elementu musimy sprawdzić czy już taką wartość mamy, a jeśli tak to nie dodawajmy nowej, tylko wykorzystajmy istniejącą współrzędną, w innym przypadku musimy dodać nowy element i określić jego współrzędną. Aby to zrobić, potrzebujesz sposobu na szybkie znalezienie obecności pożądanego elementu (dodatkowo taki problem pojawia się przy określaniu współrzędnej na podstawie wartości elementu). W tym celu optymalne jest zastosowanie hashowania. W tym przypadku optymalną strukturą byłoby zastosowanie drzew haszujących, w których będziemy przechowywać referencje do elementów. W tym przypadku elementami będą linie słownika wymiarów. Następnie strukturę wartości pomiarowej można przedstawić w następujący sposób:

PFactLink = ^TFactLink;

TFactLink = rekord

Fakt nr: liczba całkowita; // indeks faktów w tabeli

TDimensionRecord = rekord

Wartość: ciąg; //wartość pomiaru

Indeks: liczba całkowita; // wartość współrzędnej

Link do faktów: PFactLink; // wskaźnik na początek listy elementów tabeli faktów

A w drzewie skrótów będziemy przechowywać linki do unikalnych elementów. Dodatkowo musimy rozwiązać problem transformacji odwrotnej – wykorzystując współrzędną do określenia wartości pomiaru. Aby zapewnić maksymalną wydajność, należy zastosować adresowanie bezpośrednie. Można zatem zastosować inną tablicę, której indeksem jest współrzędna wymiaru, a wartością jest link do odpowiedniego wpisu w słowniku. Można to jednak zrobić łatwiej (i zaoszczędzić na pamięci), jeśli odpowiednio ułożysz tablicę elementów tak, aby indeks elementu był jego współrzędną.

Zorganizowanie tablicy implementującej listę faktów nie nastręcza żadnych szczególnych problemów ze względu na prostą strukturę. Jedyna uwaga jest taka, że ​​wskazane jest obliczenie wszystkich metod agregacji, które mogą być potrzebne i które można obliczyć przyrostowo (np. suma).

Opisaliśmy więc metodę przechowywania danych w postaci hipersześcianu. Pozwala wygenerować zbiór punktów w przestrzeni wielowymiarowej na podstawie informacji znajdujących się w hurtowni danych. Aby dana osoba mogła pracować z tymi danymi, muszą być one przedstawione w formie dogodnej do przetwarzania. W tym przypadku jako główne typy prezentacji danych stosuje się tabelę przestawną i wykresy. Co więcej, obie te metody są w rzeczywistości rzutami hipersześcianu. Aby zapewnić maksymalną efektywność podczas konstruowania reprezentacji, zaczniemy od tego, co reprezentują te rzuty. Zacznijmy od tabeli przestawnej, jako najważniejszej przy analizie danych.

Znajdźmy sposoby na wdrożenie takiej struktury. Tabela przestawna składa się z trzech części: nagłówków wierszy, nagłówków kolumn i rzeczywistej tabeli zagregowanych wartości faktów. Najprostszym sposobem przedstawienia tabeli faktów jest użycie dwuwymiarowej tablicy, której wymiar można określić, konstruując nagłówki. Niestety najprostsza metoda będzie najbardziej nieefektywna, ponieważ tabela będzie bardzo rzadka, a pamięć zostanie wykorzystana wyjątkowo nieefektywnie, w wyniku czego możliwe będzie zbudowanie tylko bardzo małych kostek, bo inaczej może nie wystarczyć pamięć. Należy zatem wybrać taką strukturę danych do przechowywania informacji, która zapewni maksymalną szybkość wyszukiwania/dodawania nowego elementu i jednocześnie minimalne zużycie pamięci RAM. Strukturą tą będą tzw. macierze rzadkie, o których szerzej można przeczytać u Knutha. Istnieją różne sposoby organizacji macierzy. Aby wybrać odpowiednią dla nas opcję, najpierw rozważymy strukturę nagłówków tabeli.

Nagłówki mają przejrzystą strukturę hierarchiczną, dlatego naturalnym byłoby założenie wykorzystania drzewa do ich przechowywania. W tym przypadku strukturę węzła drzewa można schematycznie przedstawić w następujący sposób:

Dodatek C

W takim przypadku logiczne jest przechowywanie łącza do odpowiedniego elementu tabeli wymiarów wielowymiarowej kostki jako wartości wymiaru. Zmniejszy to koszty pamięci potrzebnej do przechowywania wycinka i przyspieszy pracę. Łącza są również używane jako węzły nadrzędne i podrzędne.

Aby dodać element do drzewa, musisz posiadać informację o jego położeniu w hipersześcianie. Jako taka informacja należy wykorzystać jej współrzędną, która jest przechowywana w słowniku wartości pomiarowych. Przyjrzyjmy się schematowi dodawania elementu do drzewa nagłówków tabeli przestawnej. W tym przypadku jako informację wyjściową wykorzystujemy wartości współrzędnych pomiaru. Kolejność wyświetlania tych wymiarów jest ustalana na podstawie żądanej metody agregacji i odpowiada poziomom hierarchii drzewa nagłówków. W wyniku pracy musisz uzyskać listę kolumn lub wierszy tabeli przestawnej, do której musisz dodać element.

AplikacjaD

Jako dane początkowe do określenia tej struktury wykorzystujemy współrzędne pomiarowe. Dodatkowo dla pewności założymy, że definiujemy w macierzy interesującą nas kolumnę (zastanowimy się, jak zdefiniować wiersz nieco później, ponieważ wygodniej jest tam zastosować inne struktury danych; powód ten wybór jest również patrz poniżej). Jako współrzędne przyjmujemy liczby całkowite – liczby wartości pomiarowych, które można wyznaczyć w sposób opisany powyżej.

Zatem po wykonaniu tej procedury otrzymamy tablicę odniesień do kolumn macierzy rzadkiej. Teraz musisz wykonać wszystkie niezbędne czynności za pomocą ciągów. Aby to zrobić, musisz znaleźć wymagany element w każdej kolumnie i dodać tam odpowiednią wartość. Dla każdego wymiaru w kolekcji musisz znać liczbę unikalnych wartości i rzeczywisty zestaw tych wartości.

Przyjrzyjmy się teraz formie, w jakiej należy przedstawić wartości w kolumnach - to znaczy, jak określić wymagany wiersz. Aby to osiągnąć, można zastosować kilka podejść. Najprościej byłoby przedstawić każdą kolumnę jako wektor, ale ponieważ będzie ona bardzo rzadka, pamięć będzie używana wyjątkowo nieefektywnie. Aby tego uniknąć, użyjemy struktur danych, które zapewnią większą wydajność w reprezentowaniu rzadkich jednowymiarowych tablic (wektorów). Najprostszą z nich byłaby zwykła lista, pojedynczo lub podwójnie powiązana, jednak jest to nieekonomiczne z punktu widzenia dostępu do elementów. Dlatego skorzystamy z drzewa, które zapewni szybszy dostęp do elementów.

Na przykład możesz użyć dokładnie tego samego drzewa co w przypadku kolumn, ale wtedy musiałbyś utworzyć własne drzewo dla każdej kolumny, co spowodowałoby znaczne obciążenie pamięci i czas przetwarzania. Zróbmy to trochę sprytniej - utworzymy jedno drzewo do przechowywania wszystkich kombinacji wymiarów używanych w ciągach znaków, które będzie identyczne z opisanym powyżej, ale jego elementy nie będą wskaźnikami do ciągów (które jako takie nie istnieją ), ale ich indeksy i wartości samych indeksów nie są dla nas interesujące i służą jedynie jako unikalne klucze. Następnie użyjemy tych klawiszy, aby znaleźć żądany element w kolumnie. Same kolumny najłatwiej jest przedstawić w postaci zwykłego drzewa binarnego. Graficznie powstałą strukturę można przedstawić w następujący sposób:

Diagram 9. Obraz tabeli przestawnej w postaci drzewa binarnego

Możesz użyć tej samej procedury, co procedura opisana powyżej, aby określić kolumny tabeli przestawnej w celu ustalenia odpowiednich numerów wierszy. W tym przypadku numery wierszy są unikalne w obrębie jednej tabeli przestawnej i identyfikują elementy w wektorach będących kolumnami tabeli przestawnej. Najprostszą opcją generowania tych liczb byłoby utrzymanie licznika i zwiększanie go o jeden podczas dodawania nowego elementu do drzewa nagłówków wierszy. Same wektory kolumnowe najłatwiej przechowywać w postaci drzew binarnych, gdzie jako klucz używana jest wartość numeru wiersza. Ponadto możliwe jest również użycie tabel skrótów. Ponieważ procedury pracy z tymi drzewami są szczegółowo omówione w innych źródłach, nie będziemy się nad tym rozwodzić i rozważymy ogólny schemat dodawania elementu do kolumny.

Ogólnie sekwencję działań związanych z dodawaniem elementu do macierzy można opisać w następujący sposób:

1. Określ numery linii, do których dodawane są elementy

2.Zdefiniuj zbiór kolumn, do których dodawane będą elementy

3. Dla wszystkich kolumn znajdź elementy o wymaganych numerach wierszy i dodaj do nich bieżący element (dodawanie obejmuje połączenie wymaganej liczby wartości faktów i obliczenie wartości zagregowanych, które można wyznaczać przyrostowo).

Po wykonaniu tego algorytmu otrzymamy macierz, czyli tabelę podsumowującą, którą musieliśmy zbudować.

Teraz kilka słów o filtrowaniu podczas konstruowania plasterka. Najłatwiej to zrobić na etapie konstruowania macierzy, ponieważ na tym etapie jest dostęp do wszystkich wymaganych pól, a dodatkowo przeprowadzana jest agregacja wartości. W tym przypadku podczas pobierania wpisu z pamięci podręcznej sprawdzana jest jego zgodność z warunkami filtrowania, a w przypadku ich niespełnienia wpis jest odrzucany.

Ponieważ opisana powyżej struktura w pełni opisuje tabelę przestawną, zadanie jej wizualizacji będzie banalne. W tym przypadku można skorzystać ze standardowych komponentów tabelarycznych, które są dostępne w niemal wszystkich narzędziach programistycznych dla systemu Windows.

Pierwszym produktem wykonującym zapytania OLAP był Express (IRI). Jednak sam termin OLAP został ukuty przez Edgara Codda, „ojca relacyjnych baz danych”. Praca Codda została sfinansowana przez Arbor, firmę, która rok wcześniej wypuściła własny produkt OLAP, Essbase (przejęty później przez Hyperion, a następnie przez Oracle w 2007 roku). Inne dobrze znane produkty OLAP obejmują Microsoft Analysis Services (dawniej zwane OLAP Services, część SQL Server), Oracle OLAP Option, IBM DB2 OLAP Server (zasadniczo EssBase z dodatkami IBM), SAP BW, produkty Brio, BusinessObjects, Cognos, MicroStrategy i inni producenci.

Z technicznego punktu widzenia produkty dostępne na rynku dzielą się na „fizyczne OLAP” i „wirtualne”. W pierwszym przypadku mamy do czynienia z programem, który dokonuje wstępnej kalkulacji agregatów, które następnie zapisywane są w specjalnej wielowymiarowej bazie danych, umożliwiającej szybkie ich wyszukanie. Przykładami takich produktów są Microsoft Analysis Services, Oracle OLAP Option, Oracle/Hyperion EssBase, Cognos PowerPlay. W drugim przypadku dane przechowywane są w relacyjnych systemach DBMS, a agregaty mogą w ogóle nie istnieć lub mogą zostać utworzone przy pierwszym żądaniu w DBMS lub pamięci podręcznej oprogramowania analitycznego. Przykładami takich produktów są SAP BW, BusinessObjects, Microstrategy. Systemy oparte na „fizycznym OLAP” zapewniają niezmiennie lepsze czasy reakcji na zapytania niż systemy „wirtualne OLAP”. Dostawcy wirtualnych rozwiązań OLAP twierdzą, że ich produkty są bardziej skalowalne i umożliwiają obsługę bardzo dużych ilości danych.

W tej pracy chciałbym przyjrzeć się bliżej produktowi BaseGroup Labs – Deductor.

Deductor to platforma analityczna, tj. podstawę do tworzenia kompletnych rozwiązań aplikacyjnych. Technologie zaimplementowane w Deductor pozwalają przejść wszystkie etapy budowy systemu analitycznego w oparciu o jedną architekturę: od stworzenia hurtowni danych po automatyczne wybieranie modeli i wizualizację uzyskanych wyników.

Skład systemu:

Deductor Studio to analityczny rdzeń platformy Deductor. Deductor Studio zawiera pełny zestaw mechanizmów, które pozwalają pozyskać informacje z dowolnego źródła danych, przeprowadzić cały cykl przetwarzania (czyszczenie, przekształcanie danych, budowanie modeli), wyświetlać wyniki w najwygodniejszy sposób (OLAP, tabele, wykresy , drzewa decyzyjne...) i wyniki eksportu.

Deductor Viewer to stacja robocza użytkownika końcowego. Program pozwala zminimalizować wymagania dotyczące personelu, ponieważ wszystkie wymagane operacje wykonywane są automatycznie przy użyciu wcześniej przygotowanych skryptów przetwarzających, nie ma potrzeby zastanawiania się nad sposobem pozyskania danych i mechanizmami ich przetwarzania. Użytkownik Dedustor Viewer musi jedynie wybrać interesujący raport.

Deductor Warehouse to wielowymiarowa, wieloplatformowa hurtownia danych gromadząca wszystkie informacje niezbędne do analizy obszaru tematycznego. Zastosowanie jednego repozytorium pozwala na wygodny dostęp, dużą prędkość przetwarzania, spójność informacji, scentralizowane przechowywanie i automatyczne wsparcie całego procesu analizy danych.

4. Klient-Serwer

Serwer Deductor przeznaczony jest do zdalnego przetwarzania analitycznego. Zapewnia możliwość zarówno automatycznego „uruchamiania” danych poprzez istniejące skrypty na serwerze, jak i przeszkolenia istniejących modeli. Korzystanie z Deductor Server pozwala na wdrożenie pełnoprawnej trójwarstwowej architektury, w której pełni on funkcję serwera aplikacji. Dostęp do serwera zapewniamy za pomocą Deductor Client.

Zasady pracy:

1. Importuj dane

Analizę wszelkich informacji w Deductorze rozpoczynamy od importu danych. W wyniku importu dane zostają doprowadzone do postaci odpowiedniej do późniejszej analizy z wykorzystaniem wszystkich mechanizmów dostępnych w programie. Charakter danych, format, DBMS itp. nie mają znaczenia, ponieważ mechanizmy pracy ze wszystkimi są ujednolicone.

2. Eksportuj dane

Obecność mechanizmów eksportu pozwala na przesłanie uzyskanych wyników do aplikacji zewnętrznych, np. przesłanie prognozy sprzedaży do systemu w celu wygenerowania zamówienia lub opublikowanie przygotowanego raportu na korporacyjnej stronie internetowej.

3. Przetwarzanie danych

Przetwarzanie w Deductorze oznacza dowolną czynność związaną z pewnego rodzaju transformacją danych, na przykład filtrowanie, budowanie modelu, czyszczenie itp. Właściwie w tym bloku wykonywane są najważniejsze czynności z punktu widzenia analizy. Najważniejszą cechą mechanizmów przetwarzania zaimplementowanych w Deductor jest to, że dane uzyskane w wyniku przetwarzania mogą zostać ponownie przetworzone dowolną z metod dostępnych w systemie. W ten sposób można budować dowolnie złożone scenariusze przetwarzania.

4. Wizualizacja

W Deductor Studio (Viewer) możesz wizualizować dane na każdym etapie przetwarzania. System samodzielnie określa, w jaki sposób może to zrobić, np. jeśli zostanie uczona sieć neuronowa, wówczas oprócz tabel i diagramów można wyświetlić wykres sieci neuronowej. Użytkownik musi wybrać żądaną opcję z listy i skonfigurować kilka parametrów.

5. Mechanizmy integracyjne

Deductor nie udostępnia narzędzi do wprowadzania danych – platforma nastawiona jest wyłącznie na przetwarzanie analityczne. Aby wykorzystać informacje przechowywane w systemach heterogenicznych, zapewnione są elastyczne mechanizmy importu i eksportu. Interakcję można zorganizować za pomocą wykonywania wsadowego, pracy w trybie serwera OLE i dostępu do serwera dedukcyjnego.

6.Replikacja wiedzy

Deductor pozwala na realizację jednej z najważniejszych funkcji każdego systemu analitycznego – wsparcia procesu replikacji wiedzy, tj. zapewnienie pracownikom, którzy nie rozumieją metod analizy i sposobów uzyskania konkretnego wyniku, szansy na otrzymanie odpowiedzi w oparciu o modele przygotowane przez eksperta.

Zwniosek

W artykule zbadano taki obszar nowoczesnych technologii informatycznych, jakim są systemy analizy danych. Analizie poddano główne narzędzie analitycznego przetwarzania informacji – OLAP. Szczegółowo przedstawiono istotę koncepcji OLAP oraz znaczenie systemów OLAP w nowoczesnym procesie biznesowym. Szczegółowo opisano strukturę i proces działania serwera ROLAP. Jako przykład wdrożenia technologii danych OLAP podano platformę analityczną Deductor. Przedłożona dokumentacja została opracowana i spełnia wymagania.

Technologie OLAP są potężnym narzędziem do przetwarzania danych w czasie rzeczywistym. Serwer OLAP umożliwia organizowanie i prezentację danych w różnych obszarach analitycznych oraz przekształca je w cenne informacje, które pomagają firmom podejmować bardziej świadome decyzje.

Stosowanie systemów OLAP zapewnia niezmiennie wysoki poziom wydajności i skalowalności, obsługując wielogigabajtowe wolumeny danych, do których mają dostęp tysiące użytkowników. Przy pomocy technologii OLAP dostęp do informacji odbywa się w czasie rzeczywistym, tj. Przetwarzanie zapytań nie spowalnia już procesu analizy, zapewniając jego szybkość i efektywność. Narzędzia do administracji wizualnej pozwalają na tworzenie i wdrażanie nawet najbardziej skomplikowanych aplikacji analitycznych, dzięki czemu proces jest prosty i szybki.

Podobne dokumenty

    Podstawą koncepcji OLAP (On-Line Analytical Processing) jest operacyjne przetwarzanie analityczne danych, cechy ich wykorzystania po stronie klienta i serwera. Ogólna charakterystyka podstawowych wymagań stawianych systemom OLAP oraz sposobów przechowywania w nich danych.

    streszczenie, dodano 12.10.2010

    OLAP: ogólna charakterystyka, cel, cele, cele. Klasyfikacja produktów OLAP. Zasady budowy systemu OLAP, biblioteka komponentów CubeBase. Zależność wydajności klienckich i serwerowych narzędzi OLAP od wzrostu wolumenu danych.

    praca na kursie, dodano 25.12.2013

    Wieczne przechowywanie danych. Istota i znaczenie narzędzia OLAP (On-line Analytical Processing). Bazy danych i hurtownie danych, ich charakterystyka. Struktura, architektura przechowywania danych, ich dostawcy. Kilka wskazówek dotyczących poprawy wydajności kostek OLAP.

    test, dodano 23.10.2010

    Budowa systemów analizy danych. Budowanie algorytmów projektowania kostki OLAP i tworzenia zapytań do skonstruowanej tabeli przestawnej. Technologia OLAP do wielowymiarowej analizy danych. Udostępnianie użytkownikom informacji umożliwiających podejmowanie decyzji zarządczych.

    praca na kursie, dodano 19.09.2008

    Podstawowe informacje o OLAP-ie. Operacyjne przetwarzanie danych analitycznych. Klasyfikacja produktów OLAP. Wymagania dotyczące internetowych narzędzi do przetwarzania analitycznego. Zastosowanie wielowymiarowych baz danych w operacyjnych systemach przetwarzania analitycznego, ich zalety.

    praca na kursie, dodano 06.10.2011

    Rozwój podsystemów analizy stron internetowych z wykorzystaniem technologii Microsoft Access i Olap. Teoretyczne aspekty budowy podsystemu analizy danych w systemie informatycznym portalu muzycznego. Technologie Olap w podsystemie analizy obiektu badawczego.

    praca na kursie, dodano 11.06.2009

    Uwzględnienie narzędzi OLAP: klasyfikacja witryn sklepowych i hurtowni informacji, koncepcja kostki danych. Architektura systemu wspomagania decyzji. Implementacja oprogramowania systemu „Abitura”. Tworzenie raportu internetowego przy użyciu technologii Reporting Services.

    praca na kursie, dodano 12.05.2012

    Przechowywanie danych, zasady organizacji. Procesy pracy z danymi. Struktura OLAP, techniczne aspekty wielowymiarowego przechowywania danych. Usługi integracyjne, zapełnianie hurtowni danych i hurtowni danych. Możliwości systemów wykorzystujących technologie Microsoft.

    praca na kursie, dodano 12.05.2012

    Budowa diagramu hurtowni danych dla przedsiębiorstwa handlowego. Opisy diagramów relacji przechowywania. Wyświetlanie informacji o produkcie. Utworzenie kostki OLAP do dalszej analizy informacji. Opracowanie zapytań do oceny efektywności supermarketu.

    test, dodano 19.12.2015

    Cel przechowywania danych. Architektura SAP BW. Budowa raportowania analitycznego w oparciu o kostki OLAP w systemie SAP BW. Kluczowe różnice między hurtownią danych a systemem OLTP. Przegląd obszarów funkcjonalnych BEx. Tworzenie zapytania w BEx Query Designer.