Menu
Jest wolny
rejestracja
Dom  /  Instalacja i konfiguracja / Podstawowe pojęcia stosowane w technologiach OLAP. Technologia OLAP

Podstawowe pojęcia stosowane w technologiach OLAP. Technologia OLAP

Warunki dużej konkurencji oraz rosnąca dynamika otoczenia zewnętrznego narzucają rosnące wymagania stawiane systemom zarządzania przedsiębiorstwem. Rozwojowi teorii i praktyki zarządzania towarzyszyło pojawienie się nowych metod, technologii i modeli mających na celu poprawę efektywności działań. Metody i modele z kolei przyczyniły się do powstania systemów analitycznych. Zapotrzebowanie na systemy analityczne w Rosji jest duże. Systemy te są najbardziej interesujące z punktu widzenia zastosowań w sektorze finansowym: bankach, ubezpieczeniach, firmach inwestycyjnych. Efekty pracy systemów analitycznych są niezbędne przede wszystkim osobom, od których decyzji zależy rozwój firmy: menedżerom, ekspertom, analitykom. Systemy analityczne pozwalają rozwiązywać problemy konsolidacji, raportowania, optymalizacji i prognozowania. Do tej pory ostateczna klasyfikacja systemów analitycznych nie została opracowana, ponieważ nie ma wspólny system definicje w terminach używanych w tym kierunku. Strukturę informacyjną przedsiębiorstwa można przedstawić za pomocą sekwencji poziomów, z których każdy charakteryzuje się własnym sposobem przetwarzania i zarządzania informacją oraz ma własną funkcję w procesie zarządzania. W ten sposób systemy analityczne będą rozmieszczone hierarchicznie na różnych poziomach tej infrastruktury.

Warstwa systemów transakcyjnych

Warstwa hurtowni danych

Warstwa zbiorczej bazy danych

Poziom OLAP - systemy

Warstwa aplikacji analitycznej

OLAP - systemy - (OnLine Analytical Processing, przetwarzanie analityczne w czasie rzeczywistym) - to technologia do złożonej wielowymiarowej analizy danych. OLAP - systemy znajdują zastosowanie tam, gdzie istnieje zadanie analizy danych wieloczynnikowych. Są skutecznym narzędziem do analiz i generowania raportów. Omówione powyżej hurtownie danych, składnice danych i systemy OLAP są klasyfikowane jako systemy Business Intelligence (Business Intelligence, BI).

Bardzo często systemy informacyjno-analityczne tworzone z myślą o bezpośrednim użyciu przez decydentów są niezwykle łatwe w obsłudze, ale mają bardzo ograniczoną funkcjonalność. Takie systemy statyczne nazywane są w literaturze wykonawczym systemem informacyjnym (EIS). Zawierają predefiniowane zestawy zapytań i jako wystarczające do codziennego przeglądu nie są w stanie odpowiedzieć na wszystkie pytania dotyczące dostępnych danych, które mogą pojawić się przy podejmowaniu decyzji. Efektem pracy takiego systemu z reguły są wielostronicowe raporty, po dokładnym przestudiowaniu, nad którymi pojawia się analityk nowa seria pytania. Jednak każde nowe żądanie, nieprzewidziane w konstrukcji takiego systemu, musi najpierw zostać formalnie opisane, zakodowane przez programistę, a dopiero potem wykonane. Czas oczekiwania w tym przypadku może wynosić godziny i dni, co nie zawsze jest akceptowalne. Tym samym zewnętrzna prostota statycznego DSS, o którą aktywnie walczy większość odbiorców systemów informacyjnych i analitycznych, zamienia się w katastrofalną utratę elastyczności.



Z drugiej strony Dynamic DSS koncentruje się na przetwarzaniu żądań danych analityków ad hoc. Wymagania dla takich systemów zostały rozważone najgłębiej przez E. F. Codda w artykule, który położył fundamenty pod koncepcję OLAP. Analitycy pracują z tymi systemami w interaktywnej sekwencji generowania zapytań i analizowania ich wyników.

Jednak dynamiczne DSS mogą działać nie tylko w dziedzinie przetwarzania analitycznego online (OLAP); Wsparcie przy podejmowaniu decyzji zarządczych na podstawie zgromadzonych danych może być realizowane w trzech podstawowych obszarach.

Szczegółowa sfera danych. Taki jest zakres większości systemów mających na celu wyszukiwanie informacji. W większości przypadków relacyjne systemy DBMS doskonale radzą sobie z zadaniami, które się tutaj pojawiają. Powszechnie przyjętym standardem języka manipulacji danymi relacyjnymi jest SQL. Systemy wyszukiwania informacji, które zapewniają interfejs użytkownika końcowego w zadaniach wyszukiwania szczegółowych informacji, mogą być wykorzystywane jako dodatki zarówno do pojedynczych baz danych systemów transakcyjnych, jak i do wspólnej hurtowni danych.

Sfera agregatów. Kompleksowe spojrzenie na informacje gromadzone w hurtowni danych, ich generalizacja i agregacja, reprezentacja hipersześcianu oraz analiza wielowymiarowa to zadania systemów online do analitycznego przetwarzania danych (OLAP). Tutaj możesz skupić się na specjalnym wielowymiarowym DBMS lub pozostać w ramach technologii relacyjnych. W drugim przypadku wstępnie zagregowane dane mogą być gromadzone w bazie danych w kształcie gwiazdy lub informacje mogą być agregowane w locie podczas skanowania szczegółowych tabel relacyjnej bazy danych.

Sfera prawidłowości. Intelektualne przetwarzanie odbywa się za pomocą metod eksploracji danych (IAD, Data Mining), których głównymi zadaniami są poszukiwanie funkcjonalnych i logicznych wzorców w zgromadzonych informacjach, budowa modeli i reguł wyjaśniających wykryte i / lub przewidywane anomalie rozwój niektórych procesów.

Szybkie przetwarzanie danych analitycznych

Koncepcja OLAP opiera się na zasadzie wielowymiarowej prezentacji danych. W artykule EF z 1993 roku Codd zbadał wady modelu relacyjnego, wskazując przede wszystkim na niemożność „łączenia, przeglądania i analizowania danych w kategoriach wielowymiarowych, czyli w sposób najbardziej zrozumiały dla analityków korporacyjnych” i zdefiniował ogólne wymagania dla systemów OLAP, które rozszerzają funkcjonalność relacyjnego DBMS i uwzględniają analizę wielowymiarową jako jedną z jego cech.

Klasyfikacja produktów OLAP ze względu na sposób prezentacji danych.

Obecnie na rynku jest wiele produktów, które w takim czy innym stopniu zapewniają funkcjonalność OLAP. Około 30 najbardziej znanych jest wymienionych na serwerze internetowym ankiet http://www.olapreport.com/. Zapewnienie wielowymiarowego koncepcyjnego widoku z zewnątrz interfejs użytkownika w źródłowej bazie danych wszystkie produkty OLAP są podzielone na trzy klasy w zależności od typu źródłowej bazy danych.

Najwcześniejsze analityczne systemy przetwarzania online (na przykład Essbase od Arbor Software, Oracle Express Server od Oracle) należały do \u200b\u200bklasy MOLAP, to znaczy mogły pracować tylko z własnymi wielowymiarowymi bazami danych. Oparte są na autorskich, wielowymiarowych technologiach DBMS i są najdroższe. Systemy te zapewniają pełny cykl przetwarzania OLAP. Oprócz komponentu serwera zawierają one własny zintegrowany interfejs klienta lub używają ich do komunikacji z użytkownikiem programy zewnętrzne pracować z arkuszami kalkulacyjnymi. Do utrzymania takich systemów wymagany jest specjalny personel pracowników, który instaluje, konserwuje system i tworzy reprezentacje danych dla użytkowników końcowych.

Systemy relacyjnego przetwarzania analitycznego online (ROLAP) umożliwiają reprezentowanie danych przechowywanych w relacyjnej bazie danych w wielowymiarowej formie, zapewniając transformację informacji do modelu wielowymiarowego za pośrednictwem pośredniej warstwy metadanych. Systemy ROLAP doskonale nadają się do pracy z dużymi magazynami. Podobnie jak systemy MOLAP, wymagają znacznej konserwacji IT i obsługują wielu użytkowników.

Wreszcie systemy hybrydowe (Hybrid OLAP, HOLAP) mają łączyć zalety i minimalizować wady związane z poprzednimi klasami. Ta klasa obejmuje oprogramowanie Speedware Media / MR. Zdaniem twórców łączy analityczną elastyczność i responsywność MOLAP-u ze stałym dostępem do rzeczywistych danych nieodłącznie związanych z ROLAP.

Wielowymiarowy OLAP (MOLAP)

W wyspecjalizowanych systemach DBMS opartych na wielowymiarowej reprezentacji danych dane są organizowane nie w postaci tabel relacyjnych, ale w postaci uporządkowanych tablic wielowymiarowych:

1) hipersześciany (wszystkie komórki przechowywane w bazie danych muszą mieć ten sam wymiar, czyli znajdować się w najpełniejszej podstawie pomiarów) lub

2) polycubes (każda zmienna jest przechowywana z własnym zestawem pomiarów, a wszystkie związane z tym trudności przetwarzania są przenoszone na wewnętrzne mechanizmy systemu).

Zastosowanie wielowymiarowych baz danych w analitycznych systemach przetwarzania on-line ma następujące zalety.

W przypadku korzystania z wielowymiarowego DBMS, wyszukiwanie i pobieranie danych jest znacznie szybsze niż w przypadku wielowymiarowego konceptualnego widoku relacyjnej bazy danych, ponieważ wielowymiarowa baza danych jest zdenormalizowana, zawiera wstępnie zagregowane wskaźniki i zapewnia zoptymalizowany dostęp do żądanych komórek.

Wielowymiarowy DBMS z łatwością radzi sobie z zadaniami włączenia do model informacji różne wbudowane funkcje przy obiektywnie istniejących ograniczeniach język SQL utrudniają, a czasem wręcz uniemożliwiają wykonanie tych zadań w oparciu o relacyjne DBMS.

Z drugiej strony istnieją znaczne ograniczenia.

Wielowymiarowe systemy DBMS nie pozwalają na pracę z dużymi bazami danych. Ponadto, ze względu na denormalizację i wcześniej wykonaną agregację, ilość danych w wielowymiarowej bazie danych z reguły odpowiada (według Codda) 2,5-100 razy mniej niż objętość oryginalnych danych szczegółowych.

Wielowymiarowe DBMS są bardzo nieefektywne w porównaniu z systemami relacyjnymi. pamięć zewnętrzna... W przeważającej większości przypadków hipersześcian informacji jest bardzo rzadki, a ponieważ dane są przechowywane w uporządkowanej formie, niezdefiniowane wartości można usunąć tylko poprzez wybranie optymalnej kolejności sortowania, która umożliwia uporządkowanie danych w największe, ciągłe grupy. Mimo to problem został rozwiązany tylko częściowo. Ponadto porządek sortowania, który jest optymalny do przechowywania rzadkich danych, prawdopodobnie nie będzie odpowiadał kolejności, która jest najczęściej używana w zapytaniach. Dlatego w rzeczywiste systemy musisz znaleźć kompromis między wydajnością a redundancją miejsca na dysku zajmowanego przez bazę danych.

Dlatego stosowanie wielowymiarowego DBMS jest uzasadnione tylko pod następującymi warunkami.

Ilość danych wyjściowych do analizy nie jest zbyt duża (nie więcej niż kilka gigabajtów), to znaczy poziom agregacji danych jest dość wysoki.

Zbiór wymiarów informacyjnych jest stabilny (ponieważ każda zmiana ich struktury prawie zawsze wymaga całkowitej przebudowy hipersześcianu).

Czas odpowiedzi systemu na żądania ad hoc jest najważniejszym parametrem.

Do wykonywania wielowymiarowych obliczeń na komórkach hipersześcianu wymagane jest szerokie stosowanie złożonych funkcji wbudowanych, w tym możliwość pisania funkcji niestandardowych.

Relacyjny OLAP (ROLAP)

Bezpośrednie wykorzystanie relacyjnych baz danych w analitycznych systemach przetwarzania online ma następujące zalety.

W większości przypadków korporacyjne hurtownie danych są wdrażane przy użyciu relacyjnych narzędzi DBMS, a narzędzia ROLAP umożliwiają analizę bezpośrednio na nich. Jednocześnie wielkość pamięci nie jest tak krytycznym parametrem jak w przypadku MOLAP-u.

W przypadku zmiennego wymiaru problemu, gdy zmiany w strukturze pomiaru muszą być dokonywane dość często, R Systemy OLAP wymiary z dynamiczną reprezentacją są rozwiązaniem optymalnym, gdyż takie modyfikacje w nich nie wymagają fizycznej reorganizacji bazy danych.

Relacyjne DBMS zapewniają znacznie wyższy poziom ochrony danych i dobre możliwości zróżnicowanie praw dostępu.

Główną wadą ROLAP w porównaniu z wielowymiarowym DBMS jest niższa wydajność. Systemy relacyjne wymagają starannego dostrojenia schematu bazy danych i indeksowania, aby osiągnąć wydajność porównywalną z MOLAP, co oznacza duży wysiłek ze strony administratorów baz danych. Tylko dzięki zastosowaniu schematów gwiaździstych wydajność dobrze dostrojonych systemów relacyjnych może być zbliżona do wydajności wielowymiarowych systemów baz danych.

Koncepcja technologii OLAP została sformułowana przez Edgara Codda w 1993 roku.

Technologia ta opiera się na budowie wielowymiarowych zbiorów danych - tzw. Kostek OLAP (niekoniecznie trójwymiarowych, jak można by wywnioskować z definicji). Celem wykorzystania technologii OLAP jest analiza danych i przedstawienie tej analizy w formie dogodnej dla kadry zarządzającej do jej postrzegania i podejmowania na ich podstawie decyzji.

Kluczowe wymagania dla aplikacji do analizy wielowymiarowej:

  • - dostarczenie użytkownikowi wyników analizy w rozsądnym czasie (nie więcej niż 5 s.);
  • - dostęp do danych dla wielu użytkowników;
  • - wielowymiarowa prezentacja danych;
  • - możliwość dostępu do wszelkich informacji niezależnie od miejsca ich przechowywania i objętości.

Narzędzia systemów OLAP zapewniają możliwość sortowania i selekcji danych według określonych warunków. Można określić różne warunki jakościowe i ilościowe.

Główny model danych używany w wielu plikach przyboryah tworzenie i utrzymywanie baz danych - DBMS, to model relacyjny. Dane w nim prezentowane są w postaci zestawu dwuwymiarowych tabel zależności połączonych kluczowymi polami. Aby wyeliminować powielanie, niespójność i zmniejszyć koszty pracy związane z utrzymaniem baz danych, stosuje się formalne urządzenie do normalizacji tabel encji. Jednak jego użycie wiąże się z dodatkowym czasem spędzonym na generowaniu odpowiedzi na zapytania do baz danych, chociaż zasoby pamięci są oszczędzane.

Wielowymiarowy model danych przedstawia badany obiekt w postaci wielowymiarowej kostki, częściej stosuje się model trójwymiarowy. Wymiary lub atrybuty atrybutów są drukowane wzdłuż osi lub ścian sześcianu. Podstawowymi atrybutami są wypełnienie komórek kostki. Sześcian wielowymiarowy może być reprezentowany przez połączenie kostek trójwymiarowych w celu ułatwienia percepcji i prezentacji w tworzeniu dokumentów sprawozdawczych i analitycznych oraz prezentacji multimedialnych na podstawie materiałów pracy analitycznej w systemie wspomagania decyzji.

W ramach technologii OLAP, w oparciu o fakt, że wielowymiarową prezentację danych można zorganizować zarówno za pomocą relacyjnych DBMS, jak i wielowymiarowych narzędzi specjalistycznych, wyróżnia się trzy rodzaje wielowymiarowych systemów OLAP:

  • - wielowymiarowy OLAP-MOLAP;
  • - relacyjny (Relacja) OLAP-ROLAP;
  • - mieszany lub hybrydowy (Hibrid) OLAP-HOLAP.

W wielowymiarowych DBMS dane organizowane są nie w postaci tabel relacyjnych, ale w postaci uporządkowanych wielowymiarowych tablic w postaci hipersześcianek, gdzie wszystkie przechowywane dane muszą mieć ten sam wymiar, co oznacza konieczność stworzenia najpełniejszej podstawy pomiary. Dane mogą być zorganizowane w postaci wielopierścieniowych, w tej wersji wartości każdego wskaźnika są przechowywane z własnym zestawem pomiarów, przetwarzanie danych odbywa się za pomocą własnego narzędzia systemu. Struktura przechowywania jest w tym przypadku uproszczona, ponieważ nie ma potrzeby wielowymiarowego lub obiektowego magazynu. Ogromne koszty pracy związane z tworzeniem modeli i systemów do przekształcania danych z modelu relacyjnego do modelu obiektowego są zredukowane.

Zalety MOLAP to:

  • - szybsze niż w ROLAP otrzymywanie odpowiedzi na zapytania - czas spędzony jest o jeden do dwóch rzędów wielkości mniejszy;
  • - Wiele wbudowanych funkcji jest trudnych do zaimplementowania ze względu na ograniczenia języka SQL.

Ograniczenia MOLAP obejmują:

  • - stosunkowo mały rozmiar baz danych;
  • - ze względu na denormalizację i wstępną agregację tablice wielowymiarowe zużywają 2,5-100 razy więcej pamięci niż dane pierwotne (zużycie pamięci rośnie wykładniczo wraz ze wzrostem liczby pomiarów);
  • - nie ma standardów dotyczących interfejsu i narzędzi do manipulacji danymi;
  • - istnieją ograniczenia podczas ładowania danych.

Wysiłek wymagany do tworzenia danych wielowymiarowych dramatycznie wzrasta. W tej sytuacji praktycznie nie ma wyspecjalizowanych środków obiektywizacji relacyjnego modelu danych zawartego w magazynie informacji. Czas odpowiedzi na zapytania często nie spełnia wymagań dla systemów OLAP.

Zalety systemów ROLAP to:

  • - możliwość analizy online danych zawartych bezpośrednio w hurtowni danych, od większość źródłowych baz danych jest relacyjna;
  • - ze zmiennym wymiarem problemu, wygrywa RO-LAP, bo nie jest wymagana fizyczna reorganizacja bazy danych;
  • - Systemy ROLAP mogą korzystać z mniej wydajnych stacji klienckich i serwerów, a to serwery ponoszą główny ciężar przetwarzania złożonych zapytań SQL;
  • - poziom ochrony informacji i zróżnicowania praw dostępu w relacyjnym DBMS jest nieporównywalnie wyższy niż w wielowymiarowym.

Wadami systemów ROLAP są niższa wydajność, potrzeba dokładnego opracowania schematów baz danych, specjalnego strojenia indeksów, analiza statystyk zapytań i uwzględnienie wyników analizy podczas aktualizacji schematów baz danych, co prowadzi do znacznych dodatkowych kosztów pracy.

Spełnienie tych warunków pozwala przy stosowaniu systemów ROLAP na osiągnięcie wskaźników podobnych do systemów MOLAP w odniesieniu do czasu dostępu, jak również przewyższenie oszczędności pamięci.

Hybrydowe systemy OLAP to połączenie narzędzi, które implementują relacyjny i wielowymiarowy model danych. Pozwala to radykalnie obniżyć koszt zasobów związanych z tworzeniem i utrzymaniem takiego modelu, czas odpowiedzi na żądania.

Podejście to wykorzystuje zalety dwóch pierwszych podejść i kompensuje ich wady. Zasada ta jest implementowana w większości opracowanych do tego celu programów.

Zastosowanie architektury hybrydowej w systemach OLAP jest najwłaściwszym sposobem rozwiązania problemów związanych z wykorzystaniem narzędzi programowych w analizie wielowymiarowej.

Tryb wykrywania wzorców oparty jest na inteligentnym przetwarzaniu danych. Głównym zadaniem jest tutaj identyfikacja wzorców w badanych procesach, współzależności i interakcji różnych czynników, poszukiwanie dużych „nietypowych” odchyleń, prognozowanie przebiegu różnych istotnych procesów. Ten obszar należy do eksploracji danych.

Wysyłanie dobrej pracy do bazy wiedzy jest proste. Skorzystaj z poniższego formularza

Studenci, doktoranci, młodzi naukowcy korzystający z bazy wiedzy w swoich studiach i pracy będą Ci bardzo wdzięczni.

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

Praca na kursie

według dyscypliny: Bazy danych

Przedmiot: TechnologiaOLAP

Zakończony:

Chizhikov Alexander Alexandrovich

Wprowadzenie

1. Klasyfikacja produktów OLAP

2. Klient OLAP - serwer OLAP: wady i zalety

3. Rdzeń systemu OLAP

3.1 Zasady konstrukcji

Wniosek

Lista wykorzystanych źródeł

Aplikacje

Wprowadzenie

Trudno znaleźć w świecie komputerów osobę, która przynajmniej na poziomie intuicyjnym nie rozumiałaby, czym są bazy danych i dlaczego są potrzebne. W przeciwieństwie do tradycyjnych relacyjnych systemów DBMS, koncepcja OLAP nie jest tak szeroko znana, chociaż prawie każdy słyszał tajemniczy termin „kostki OLAP”. Co to jest przetwarzanie analityczne OnLine?

OLAP nie jest pojedynczym produktem oprogramowania, językiem programowania ani nawet określoną technologią. Jeśli spróbujesz objąć OLAP we wszystkich jego przejawach, to jest to zbiór koncepcji, zasad i wymagań, które leżą u podstaw oprogramowania, które ułatwiają analitykom dostęp do danych. Mimo, że mało kto nie zgodzi się z taką definicją, wątpliwe jest, aby przybliżyła ona niespecjalistów choćby o jotę do zrozumienia tematu. Dlatego w dążeniu do nauki OLAP lepiej jest pójść w drugą stronę. Najpierw musisz dowiedzieć się, dlaczego analitycy muszą w jakiś sposób ułatwić dostęp do danych.

Chodzi o to, że analitycy są szczególnymi konsumentami informacji korporacyjnych. Zadaniem analityka jest znalezienie wzorców w dużych zbiorach danych. Dlatego analityk nie zwróci uwagi na ani jeden fakt, potrzebuje informacji o setkach i tysiącach zdarzeń. Nawiasem mówiąc, jednym z kluczowych punktów, które doprowadziły do \u200b\u200bpojawienia się OLAP, jest wydajność i wydajność. Wyobraź sobie, co się dzieje, gdy analityk potrzebuje informacji, a w przedsiębiorstwie nie ma OLAP. Analityk samodzielnie (co jest mało prawdopodobne) lub przy pomocy programisty dokonuje odpowiedniego zapytania SQL i odbiera interesujące dane w postaci raportu lub eksportuje je do arkusza kalkulacyjnego. W tym przypadku pojawia się bardzo wiele problemów. Najpierw analityk jest zmuszony zrobić coś innego niż własną pracę (programowanie SQL) lub czekać, aż programiści wykonają za niego zadanie - wszystko to ma negatywny wpływ na produktywność pracy, wzrasta częstość zawałów i udarów, a także wkrótce. Po drugie, jeden raport czy tabela z reguły nie ratuje gigantów myśli i ojców rosyjskiej analizy - a całą procedurę trzeba będzie powtarzać w kółko. Po trzecie, jak już się dowiedzieliśmy, analitycy nie pytają o drobiazgi - potrzebują wszystkiego na raz. Oznacza to (chociaż technika posuwa się skokowo naprzód), że serwer korporacyjnego relacyjnego DBMS, do którego zwraca się analityk, może myśleć głęboko i przez długi czas, blokując pozostałe transakcje.

Koncepcja OLAP narodziła się właśnie po to, aby rozwiązać takie problemy. Kostki OLAP to zasadniczo meta-raporty. Przecinając meta-raporty (czyli kostki) według wymiarów, analityk otrzymuje w rzeczywistości „zwykłe” dwuwymiarowe raporty, które go interesują (niekoniecznie są to raporty w zwykłym znaczeniu tego terminu - mówimy struktury danych o takich samych funkcjach). Zalety kostek są oczywiste - dane należy zażądać z relacyjnego DBMS tylko raz - podczas budowania kostki. Ponieważ analitycy z reguły nie pracują z informacjami, które są uzupełniane i zmieniane „w locie”, wygenerowana kostka ma znaczenie przez dość długi czas. Dzięki temu wykluczone są nie tylko przerwy w pracy relacyjnego serwera DBMS (nie ma zapytań z tysiącami i milionami linii odpowiedzi), ale również gwałtownie wzrasta szybkość dostępu do danych dla samego analityka. Ponadto, jak zauważono, wydajność jest również zwiększana dzięki obliczaniu sum pośrednich hierarchii i innych zagregowanych wartości w czasie budowania kostki.

Oczywiście za zwiększenie produktywności w ten sposób 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.

Skoro już trochę zorientowaliśmy się, jak działa OLAP i do czego służy, warto jednak nieco sformalizować naszą wiedzę i podać kryteria OLAP już 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. Coddom jest twórcą koncepcji relacyjnego DBMS i jednocześnie OLAP. Nie będziemy ich rozważać bezpośrednio, ponieważ zostały one później przerobione na tak zwany test FASMI, który określa wymagania dla produktów OLAP. FASMI to skrót nazwy każdej pozycji testowej:

Szybko szybko). Ta właściwość oznacza, że \u200b\u200bsystem powinien odpowiadać na żądanie użytkownika średnio w ciągu pięciu sekund; jednak większość żądań jest przetwarzanych w ciągu jednej sekundy, a najbardziej złożone żądania powinny zostać przetworzone w ciągu dwudziestu sekund. Ostatnie badania wykazały, że użytkownik zaczyna wątpić w powodzenie żądania, jeśli trwa to dłużej niż trzydzieści sekund.

Analiza (analityczna). System musi obsługiwać wszelkie analizy logiczne i statystyczne specyficzne dla aplikacji biznesowych oraz zapewniać zapisywanie wyników w formie dostępnej dla użytkownika końcowego. Narzędzia analityczne mogą obejmować procedury analizy szeregów czasowych, alokacji kosztów, przeliczania walut, modelowania zmian w strukturach organizacyjnych i kilka innych.

Udostępnione (udostępnione). System powinien zapewniać szerokie możliwości różnicowania dostępu do danych i jednoczesnej pracy wielu użytkowników.

Wielowymiarowy (wielowymiarowy). System powinien zapewniać koncepcyjnie wielowymiarową reprezentację danych, w tym pełne wsparcie wiele hierarchii.

Informacja. Moc różnych produktów oprogramowania charakteryzuje się ilością przetwarzanych danych wejściowych. Różne systemy OLAP mają różne pojemności: zaawansowane rozwiązania OLAP mogą obsłużyć co najmniej tysiąc razy więcej danych niż najmniej wydajne. Przy wyborze narzędzia OLAP należy wziąć pod uwagę wiele czynników, w tym duplikację danych, wymaganą pamięć RAM, wykorzystanie miejsca na dysku, wydajność, integrację hurtowni danych itp.

1. Klasyfikacja produktów OLAP

Istota OLAP polega więc na tym, że wstępne informacje do analizy prezentowane są w postaci wielowymiarowej kostki, a także możliwość dowolnego manipulowania nią i uzyskiwania niezbędnych sekcji informacyjnych - raportów. W takim przypadku użytkownik końcowy widzi kostkę jako wielowymiarową dynamiczną tabelę, która automatycznie podsumowuje dane (fakty) w różnych sekcjach (wymiarach) i pozwala na interaktywną kontrolę obliczeń i formularza raportu. Te operacje są wykonywane przez maszynę OLAP (lub maszynę obliczeniową OLAP).

Obecnie na świecie opracowano wiele produktów, które wdrażają technologie OLAP. Aby ułatwić poruszanie się po nich, stosowane są klasyfikacje 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 według przechowywania danych. Przypomnę, że kostki wielowymiarowe budowane są na podstawie danych początkowych i zbiorczych. Zarówno surowe, jak i zagregowane dane dotyczące kostek mogą być przechowywane zarówno w relacyjnych, jak i wielowymiarowych bazach danych. Dlatego obecnie istnieją trzy sposoby przechowywania danych: MOLAP (Multidimensional OLAP), ROLAP (Relational OLAP) i HOLAP (Hybrid OLAP). W związku z tym produkty OLAP są podzielone na trzy podobne kategorie pod względem sposobu przechowywania danych:

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

2. W produktach ROLAP dane źródłowe są przechowywane w relacyjnych bazach danych lub płaskich tabelach lokalnych na serwerze plików. Zagregowane dane można umieścić w tabelach usług w tej samej bazie danych. Konwersja danych z relacyjnej bazy danych do wielowymiarowych kostek odbywa się na żądanie narzędzia OLAP.

3. W przypadku korzystania z architektury HOLAP oryginalne dane pozostają w relacyjnej bazie danych, a agregaty są umieszczane w wielowymiarowej. Kostka OLAP jest budowana na żądanie przez narzędzie OLAP na podstawie danych relacyjnych i wielowymiarowych.

Następna klasyfikacja jest oparta na lokalizacji maszyny OLAP. Na tej podstawie produkty OLAP dzielimy na serwery OLAP i klientów OLAP:

W narzędziach serwerowych OLAP obliczenia i przechowywanie danych zagregowanych są wykonywane przez oddzielny proces - serwer. Aplikacja kliencka otrzymuje tylko wyniki zapytań dotyczących wielowymiarowych kostek przechowywanych 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: MOLAP, ROLAP i HOLAP.

Klient OLAP działa inaczej. Budowanie wielowymiarowej kostki i obliczenia OLAP są wykonywane w pamięci komputera klienckiego. Klienci OLAP są również podzieleni na ROLAP i MOLAP. Niektóre mogą obsługiwać oba typy dostępu do danych.

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

2. Klient OLAP - serwer OLAP: wady i zalety

Podczas budowania system informacyjny Funkcjonalność OLAP może być implementowana zarówno przez serwerowe, jak i klienckie narzędzia OLAP. W praktyce wybór jest wynikiem kompromisu między wydajnością a kosztem oprogramowania.

Ilość danych jest określana przez kombinację następujących cech: liczba rekordów, liczba wymiarów, liczba elementów wymiarów, długość wymiarów i liczba faktów. Wiadomo, że serwer OLAP może obsługiwać większe ilości danych niż klient OLAP przy takiej samej mocy komputera. Dzieje się tak, ponieważ serwer OLAP przechowuje pliki dyski twarde wielowymiarowa baza danych zawierająca wstępnie obliczone kostki.

Programy klienckie w momencie wykonywania operacji OLAP wykonują względem niego zapytania w języku podobnym do SQL, otrzymując nie całą kostkę, ale jej wyświetlane fragmenty. Klient OLAP w czasie pracy musi mieć rozszerzenie pamięć o dostępie swobodnym cała kostka. W przypadku architektury ROLAP konieczne jest wstępne załadowanie do pamięci całej tablicy danych użytej do obliczenia kostki. Ponadto wraz ze wzrostem liczby wymiarów, faktów lub elementów wymiarów liczba agregatów rośnie wykładniczo. Zatem ilość danych przetwarzanych przez klienta OLAP jest wprost proporcjonalna do ilości pamięci RAM na komputerze użytkownika.

Należy jednak pamiętać, że większość klientów OLAP zapewnia przetwarzanie rozproszone. W związku z tym liczba przetwarzanych rekordów, która ogranicza działanie narzędzia klienta OLAP, nie oznacza objętości danych pierwotnych z korporacyjnej bazy danych, ale wielkość próbki zagregowanej z niej. Klient OLAP generuje zapytanie do DBMS, które opisuje warunki filtrowania i algorytm wstępnego grupowania danych pierwotnych. Serwer wyszukuje, grupuje rekordy i zwraca zwarty wybór do dalszych obliczeń OLAP. Rozmiar tej próbki może być dziesiątki lub setki razy mniejszy niż wolumen pierwotnych, niezagregowanych rekordów. W rezultacie zapotrzebowanie na takiego klienta OLAP dla zasobów komputera jest znacznie zmniejszone.

Ponadto liczba wymiarów narzuca ograniczenia zdolności ludzkiej percepcji. Wiadomo, że przeciętny człowiek może jednocześnie obsługiwać 3-4, maksymalnie 8 wymiarów. Przy większej liczbie wymiarów w tabeli dynamicznej postrzeganie informacji staje się znacznie trudniejsze. Ten czynnik należy wziąć pod uwagę podczas obliczania pamięci RAM, której może potrzebować klient OLAP.

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

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

Rysunek 1. Zależność wydajności narzędzi OLAP typu klient i serwer od wzrostu ilości danych

Szybkość serwera OLAP jest mniej wrażliwa na wzrost ilości danych. Wynika to z różnych technologii używanych przez serwer OLAP i klienta OLAP do przetwarzania żądań użytkowników. 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 określonej ilości danych wydajność serwera i narzędzi klienta jest porównywalna. W przypadku klientów OLAP, którzy obsługują Grid Computing, zakres porównywalności wydajności może obejmować ilość danych, które obejmują potrzeby analizy OLAP ogromne ilości użytkowników. Potwierdzają to wyniki wewnętrznych testów serwera MS OLAP i klienta OLAP „Kontur Standard”. Test został przeprowadzony na komputerze PC IBM PC Pentium Celeron 400 MHz, 256 Mb dla próbki 1 miliona unikatowych (tj. 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 wykonywanie różnych operacji OLAP (drążenie w górę, drążenie w dół, przenoszenie, filtrowanie itp.) Odbywa się w setnych częściach sekundy.

Gdy rozmiar próbki przekracza ilość pamięci RAM, rozpoczyna się wymiana z dyskiem, a wydajność klienta OLAP gwałtownie spada. Dopiero od tego momentu możemy mówić o zaletach serwera OLAP.

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

Ponadto koszt rozwiązania serwera OLAP rośnie wraz ze wzrostem liczby użytkowników. Chodzi o to, że serwer OLAP wykonuje obliczenia dla wszystkich użytkowników na jednym komputerze. W związku z tym 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 rzeczach równych, korzystanie z klienta OLAP będzie bardziej opłacalne.

Zastosowanie serwera OLAP w ideologii „klasycznej” umożliwia wyładowanie danych z relacyjnych DBMS do wielowymiarowej bazy danych. Przesyłanie jest wykonywane 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ą pozbawione tej wady.

Podobnie różnorodni klienci OLAP umożliwiają architekturę ROLAP i Desktop z bezpośrednim dostępem do bazy danych. Zapewnia to analizę surowych danych on-line.

Serwer OLAP ma minimalne wymagania dotyczące mocy terminali klienckich. Obiektywnie wymagania klienta OLAP są wyższe, ponieważ wykonuje obliczenia w pamięci RAM komputera użytkownika. Stan parku sprzętowego danej organizacji jest najważniejszym wskaźnikiem, który należy wziąć pod uwagę przy wyborze narzędzia OLAP. Ale tutaj też są plusy i minusy. Serwer OLAP nie wykorzystuje ogromnej mocy obliczeniowej współczesnych komputery osobiste... Jeśli organizacja ma już flotę nowoczesnych komputerów PC, nieefektywne jest używanie ich tylko jako terminali wyświetlających i jednocześnie generowanie dodatkowych kosztów dla centralnego serwera.

Jeśli moc komputerów użytkowników jest „słaba”, klient OLAP będzie działał wolno lub w ogóle nie będzie działał. Zakup jednego potężnego serwera może być tańszy niż modernizacja wszystkich komputerów.

Warto tutaj wziąć pod uwagę trendy w rozwoju sprzętu. Ponieważ ilość danych do analizy jest praktycznie stała, stały wzrost mocy komputerów PC doprowadzi do rozszerzenia możliwości klientów OLAP i zastąpienia ich serwerów OLAP w segmencie bardzo dużych baz danych.

Podczas korzystania z serwera OLAP tylko dane do wyświetlenia są przesyłane do komputera klienckiego przez sieć, podczas gdy klient OLAP otrzymuje całą ilość podstawowych danych przykładowych.

Dlatego tam, gdzie jest używany klient OLAP, ruch sieciowy będzie większy.

Ale podczas korzystania z serwera OLAP operacje użytkownika, na przykład drążenie, generują nowe zapytania do wielowymiarowej bazy danych, a tym samym nowy transfer danych. Wykonywanie operacji OLAP przez klienta OLAP odbywa się w pamięci RAM, a zatem nie powoduje powstawania nowych strumieni danych w sieci.

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

Dlatego w przeważającej 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 trzeba doliczyć koszt dedykowanego komputera i stałe koszty administrowania wielowymiarową bazą danych. Ponadto wdrożenie i utrzymanie serwera OLAP wymaga wysoko wykwalifikowanego personelu.

Koszt klienta OLAP jest o rząd wielkości niższy niż koszt serwera OLAP. Administracja i dodatkowe wyposażenie techniczne serwera nie jest wymagane. 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 narzędzi klienckich OLAP jest procesem szybkim i nie wymaga specjalnego szkolenia od wykonawcy. Użytkownik znający fizyczną implementację bazy danych może samodzielnie opracować aplikację analityczną, bez udziału informatyka. Korzystając z serwera OLAP, dowiedz się 2 różne systemy, czasami od różnych dostawców, do tworzenia kostek na serwerze i do tworzenia aplikacji klienckich. Klient OLAP zapewnia jeden interfejs wizualny do opisywania kostek i dostosowywania ich interfejsów użytkownika.

Przyjrzyjmy się procesowi tworzenia aplikacji OLAP za pomocą narzędzia po stronie klienta.

Rysunek 2. Tworzenie aplikacji OLAP przy użyciu narzędzia klienta ROLAP

Zasada działania klientów ROLAP to wstępny opis warstwy semantycznej, za którą ukryta jest fizyczna struktura początkowych danych. W tym przypadku źródłami danych mogą być: tabele lokalne, RDBMS. Lista obsługiwanych źródeł danych jest specyficzna dla produktu. Następnie użytkownik może samodzielnie manipulować obiektami, które rozumie pod względem obszaru tematycznego, tworząc kostki i interfejsy analityczne.

Klient serwera OLAP działa inaczej. Na serwerze OLAP podczas tworzenia kostek użytkownik manipuluje fizycznymi opisami bazy danych.

Spowoduje to utworzenie niestandardowych opisów w samej kostce. Klient serwera OLAP jest skonfigurowany tylko dla modułu.

Wyjaśnijmy zasadę działania klienta ROLAP na przykładzie tworzenia dynamicznego raportu sprzedaży (patrz diagram 2). Niech początkowe dane do analizy będą przechowywane 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 stają się „Produktami” i „Okazjami”. Nazwa pola „ID” z tabeli „Produkty” została zmieniona na „Kod”, a „Nazwa” na „Produkt” itd.

Następnie tworzony jest obiekt biznesowy Sprzedaż. Obiekt biznesowy to płaska tabela, z której tworzona jest wielowymiarowa kostka. Podczas tworzenia obiektu biznesowego tabele „Produkty” i „Umowy” są łączone za pomocą pola „Kod” elementu. Ponieważ w raporcie nie jest wymagane wyświetlenie wszystkich pól tabeli, obiekt biznesowy używa tylko pól „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 obszaru kolumn lub wierszy tabeli raportu. W naszym przykładzie na podstawie obiektu biznesowego Sprzedaż tworzony jest raport sprzedaży towarów według miesiąca.

Podczas pracy z interaktywnym raportem użytkownik może ustawiać warunki filtrowania i grupowania za pomocą tych samych prostych ruchów myszy. W tym momencie klient ROLAP uzyskuje dostęp do danych w pamięci podręcznej. Klient serwera OLAP generuje nowe zapytanie względem wielowymiarowej bazy danych. Na przykład, stosując filtr według produktów w raporcie sprzedaży, możesz uzyskać raport o sprzedaży interesujących nas produktów.

Wszystkie ustawienia aplikacji OLAP mogą być przechowywane w dedykowanym repozytorium metadanych, w aplikacji lub w wielowymiarowym repozytorium systemu bazy danych. Implementacja zależy od konkretnego oprogramowania.

Zatem w jakich przypadkach korzystanie z klienta OLAP może być bardziej wydajne i opłacalne dla użytkowników niż korzystanie z serwera OLAP?

Ekonomiczna wykonalność korzystania z serwera OLAP pojawia się, gdy ilość danych jest bardzo duża i nie do zniesienia dla klienta OLAP, w przeciwnym razie użycie tego drugiego jest bardziej uzasadnione. W tym przypadku klient OLAP łączy w sobie wysoką wydajność z niskim kosztem.

Wydajne komputery analityczne to kolejny powód, dla którego warto używać klientów OLAP. Podczas korzystania z serwera OLAP te pojemności nie są używane. Wśród zalet klientów OLAP są:

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 przez sieć jeden raz. Podczas wykonywania operacji OLAP nie są generowane żadne nowe przepływy danych.

Konfigurowanie klientów ROLAP jest uproszczone poprzez wyeliminowanie łącza pośredniego - tworzenie wielowymiarowej bazy danych.

3. Rdzeń systemu OLAP

3.1 Zasady konstrukcji

podstawowe dane klienta aplikacji

Z tego, co zostało powiedziane, jasno wynika, że \u200b\u200bsilnik OLAP jest obecnie jedną z najpopularniejszych metod analizy danych. Istnieją dwa główne podejścia do rozwiązania tego problemu. Pierwsza to Multidimensional OLAP (MOLAP), która implementuje mechanizm wykorzystując wielowymiarową bazę danych po stronie serwera, a druga, Relational OLAP (ROLAP), buduje kostki „w locie” w oparciu o Zapytania SQL do relacyjnego DBMS. Każde z tych podejść ma swoje wady i zalety. Ich analiza porównawcza wykracza poza zakres niniejszej pracy. W tym miejscu zostanie opisana tylko podstawowa implementacja modułu ROLAP dla komputerów stacjonarnych.

Problem ten powstał 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. Ten problem można złagodzić, próbując przyciąć jak najwięcej danych przed umieszczeniem ich w kostkach. Ale to nie zawsze wystarcza.

W Internecie i prasie można znaleźć wiele informacji o systemach OLAP, ale prawie nigdzie nie jest powiedziane o tym, jak to działa wewnętrznie.

Schemat pracy:

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

Schemat 3. Działanie systemu OLAP na pulpicie

Algorytm pracy jest następujący:

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

2. Buforowanie danych i przekształcanie ich w wielowymiarową kostkę.

3. Wyświetlanie zbudowanej kostki za pomocą tabeli przestawnej lub diagramu itp. Ogólnie do jednej kostki można podłączyć dowolną liczbę wyświetlaczy.

Zastanów się, jak to zrobić podobny system można ustawić wewnątrz. Zaczniemy od strony, którą można obejrzeć i dotknąć, czyli od mapowań. Wyświetlacze używane w systemach OLAP są najczęściej dwojakiego rodzaju - tabele przestawne i wykresy. Rozważ tabelę przestawną, która jest podstawowym i najpowszechniejszym sposobem wyświetlania kostki.

Na poniższym rysunku wiersze i kolumny zawierające zagregowane wyniki są pokazane na żółto, komórki zawierające fakty są jasnoszare, a komórki zawierające dane wymiarów są podświetlone na ciemnoszaro.

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, należy postępować w następujący sposób:

Na podstawie danych pomiarowych określ współrzędne dodanego elementu w macierzy.

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

Dodaj element do macierzy oraz odpowiadające mu kolumny i wiersze sum.

Należy zaznaczyć, że otrzymana macierz będzie bardzo rzadka, dlatego jej organizacja w postaci dwuwymiarowej tablicy (wariantu leżącego na powierzchni) jest nie tylko nieracjonalna, ale najprawdopodobniej niemożliwa ze względu na wymiarów tej macierzy, której nie można przechowywać, nie wystarczy ilość pamięci RAM. Przykładowo, jeśli nasza kostka zawiera informacje o sprzedaży za rok, a są w niej tylko 3 wymiary - Klienci (250), Produkty (500) i Data (365), to otrzymamy macierz faktów o następujących wymiarach : liczba elementów \u003d 250 x 500 x 365 \u003d 45 625 000. I to pomimo tego, że wypełnionych elementów w macierzy może być tylko kilka tysięcy. Co więcej, im większa liczba pomiarów, tym rzadsza będzie matryca.

Dlatego, aby pracować z tą macierzą, musisz użyć specjalnych mechanizmów do pracy z rzadkimi macierzami. Możliwe są różne opcje organizowania rzadkiej macierzy. Są dość dobrze udokumentowane w literaturze programistycznej, takiej jak pierwszy tom klasycznej sztuki Donalda Knutha The Art of Programming.

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

Jednocześnie możesz łatwo znaleźć sposób na określenie numerów odpowiedniej komórki i sum, w których się ona znajduje. Można tu zaproponować kilka podejść. Jednym z nich jest użycie drzewa, aby znaleźć pasujące komórki. To drzewo można zbudować przez iterację po zaznaczeniu. Ponadto można łatwo zdefiniować analityczną formułę powtarzania w celu obliczenia wymaganej współrzędnej.

Dane przechowywane w tabeli muszą zostać przekonwertowane, aby z nich skorzystać. Tak więc, aby poprawić wydajność podczas budowania hipersześcianu, pożądane jest znalezienie unikatowych elementów przechowywanych w kolumnach, które są wymiarami sześcianu. Ponadto można przeprowadzić wstępną agregację faktów dla rekordów, które mają te same wartości wymiarów. Jak wspomniano powyżej, unikalne wartości w polach pomiarowych są dla nas ważne. Następnie można zaproponować następującą strukturę ich przechowywania:

Schemat 4. Struktura przechowywania unikatowych wartości

Korzystając z tej struktury, znacznie zmniejszamy zapotrzebowanie na pamięć. Co jest dość istotne, ponieważ aby zwiększyć szybkość pracy, pożądane jest przechowywanie danych w pamięci RAM. Ponadto można przechowywać tylko tablicę elementów, a ich wartości można zrzucić na dysk, ponieważ będziemy ich potrzebować tylko podczas wyświetlania tabeli przestawnej.

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

Schemat 5. Struktura biblioteki komponentów CubeBase

TСubeSource wykonuje buforowanie i transformację danych do formatu wewnętrznego, a także wstępną agregację danych. Składnik TСubeEngine oblicza hipersześcian i wykonuje na nim operacje. W rzeczywistości jest to maszyna OLAP, która przekształca płaską tabelę w wielowymiarowy zestaw danych. Komponent TCubeGrid obsługuje wyświetlanie tabeli przestawnej i steruje wyświetlaniem hipersześcianu. TСubeChart pozwala zobaczyć hipersześcian w postaci wykresów, a komponent TCubePivote kontroluje pracę rdzenia kostki.

Dlatego zbadałem architekturę i interakcję komponentów, które można wykorzystać do zbudowania maszyny OLAP. Przyjrzyjmy się teraz bliżej wewnętrznej strukturze komponentów.

Pierwszym etapem systemu będzie ładowanie danych i konwertowanie ich do formatu wewnętrznego. Logicznym pytaniem będzie - dlaczego jest to konieczne, ponieważ można po prostu użyć danych z płaskiego stołu, przeglądając je podczas budowania wycinka sześcianu. Aby odpowiedzieć na to pytanie, rozważ konstrukcję tabeli z punktu widzenia maszyny OLAP. W przypadku systemów OLAP kolumny tabeli mogą być faktami lub wymiarami. W takim przypadku logika pracy z tymi kolumnami będzie inna. W hipersześcianie wymiary są w rzeczywistości osiami, a wartości wymiarów są współrzędnymi na tych osiach. W takim przypadku kostka zostanie wypełniona bardzo nierównomiernie - będą kombinacje współrzędnych, które nie będą odpowiadały żadnym rekordom i będą kombinacje odpowiadające kilku rekordom w oryginalnej tabeli, a pierwsza sytuacja jest bardziej powszechna, to znaczy sześcian będzie wyglądał jak wszechświat - pusta przestrzeń, w której w niektórych miejscach znajdują się skupiska punktów (fakty). Zatem jeśli wstępnie agregujemy dane podczas wstępnego ładowania danych, czyli łączymy rekordy, które mają te same wartości wymiarów, 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 zmniejszy wymagania co do ilości pamięci RAM.

Aby skonstruować wycinki hipersześcianu, potrzebujemy następujących możliwości - definiowania współrzędnych (a właściwie wartości pomiarów) dla rekordów tabelarycznych, a także definiowania rekordów o określonych współrzędnych (wartościach pomiarów). Zastanówmy się, jak możesz wdrożyć te możliwości. Najłatwiejszym sposobem przechowywania hipersześcianu jest użycie bazy danych we własnym formacie.

Transformacje można schematycznie przedstawić w następujący sposób:

Schemat 6. Konwersja bazy danych formatu wewnętrznego do znormalizowanej bazy danych

Oznacza to, że zamiast jednej tabeli otrzymaliśmy znormalizowaną bazę danych. Generalnie normalizacja spowalnia działanie systemu - mogą powiedzieć specjaliści od baz danych i na pewno w tym przypadku będą mieli rację w przypadku, gdy będziemy potrzebowali uzyskać wartości dla elementów słownika (w naszym przypadku wartości wymiarów). Ale chodzi o to, że w ogóle nie potrzebujemy tych wartości na etapie tworzenia wycinka. Jak wspomniano powyżej, interesują nas tylko współrzędne w naszym hipersześcianie, więc zdefiniujemy współrzędne dla wartości pomiaru. Najprościej jest przenumerować wartości elementów. Aby numeracja była jednoznaczna w ramach jednego wymiaru, najpierw posortujmy listy wartości pomiarowych (słowniki, w odniesieniu do bazy danych) w kolejności alfabetycznej. Ponadto zmieńmy numerację faktów, a fakty są z góry agregowane. Otrzymujemy następujący schemat:

Schemat 7. Renumeracja znormalizowanej bazy danych w celu określenia 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 rekord w tabelach wymiarów przypiszemy do listy, której elementami będą liczby faktów, przy tworzeniu których te wymiary zostały wykorzystane (czyli do określenia wszystkich faktów, które mają tę samą wartość współrzędnych opisanych przez ten wymiar). W przypadku faktów, odpowiednio, dla każdego rekordu przypiszemy wartości współrzędnych, wzdłuż których znajduje się on w hipersześcianie. W dalszej części wszędzie pod współrzędnymi rekordu w hipersześcianie mamy na myśli liczby odpowiednich rekordów w tabelach wartości wymiarów. Następnie, dla naszego hipotetycznego przykładu, otrzymujemy następujący zbiór definiujący wewnętrzną reprezentację hipersześcianu:

Diagram 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 komunikacyjnych wartości wymiarów (nie moglibyśmy tego zrobić w RDB, ponieważ liczba kolumn tabeli jest predefiniowana).

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

Aby zaimplementować hipersześcian, musimy użyć struktur danych, które zapewnią maksymalną wydajność i minimalne zużycie pamięci. Oczywiście będziemy mieć główne struktury do przechowywania słowników i tabeli faktów. Rozważ zadania, które słownik powinien wykonywać z maksymalną prędkością:

sprawdzenie, czy element jest w słowniku;

dodanie pozycji do słownika;

szukać numerów rekordów o określonej wartości współrzędnych;

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

wyszukaj wartość pomiaru według jej współrzędnej.

Aby wdrożyć te wymagania, możesz użyć różne rodzaje i struktury danych. Na przykład możesz użyć tablic struktur. W rzeczywistości do tych tablic potrzebne są dodatkowe mechanizmy indeksujące, które zwiększą prędkość ładowania danych i wyszukiwania informacji.

Aby zoptymalizować pracę hipersześcianu, konieczne jest określenie, jakie zadania należy rozwiązać w pierwszej kolejności i według jakich kryteriów potrzebujemy poprawić jakość pracy. Najważniejsze dla nas jest zwiększenie szybkości programu, podczas gdy pożądane jest, aby nie była wymagana bardzo duża ilość pamięci RAM. Poprawa wydajności jest możliwa dzięki wprowadzeniu dodatkowych mechanizmów dostępu do danych, np. Wprowadzenie indeksowania. Niestety zwiększa to obciążenie pamięci RAM. Dlatego określimy, jakie operacje musimy wykonać z największą szybkością. Aby to zrobić, rozważ poszczególne komponenty implementujące hipersześcian. Te komponenty są dwojakiego rodzaju - wymiar i tabela faktów. W przypadku pomiaru typowym zadaniem byłoby:

dodanie nowej wartości;

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

określenie wartości za pomocą współrzędnych.

Dodając nową wartość elementu musimy sprawdzić, czy już taką mamy już posiadamy, a jeśli tak, to nie dodawać nowej, tylko skorzystać z istniejącej współrzędnej, w przeciwnym razie musimy dodać nowy element i określić jego współrzędne. To wymaga sposobu szybkie wyszukiwanie obecność wymaganego elementu (dodatkowo taki problem pojawia się przy określaniu współrzędnej przez wartość elementu). W tym celu najlepszym sposobem jest użycie haszowania. W tym przypadku optymalną strukturą będzie wykorzystanie drzew haszujących, w których będziemy przechowywać odniesienia do elementów. Elementy będą wierszami słownika wymiarów. Wówczas strukturę wartości wymiaru można przedstawić następująco:

PFactLink \u003d ^ TFactLink;

TFactLink \u003d rekord

FactNo: liczba całkowita; // indeks faktu w tabeli

TDimensionRecord \u003d rekord

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

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

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

W drzewie skrótów będziemy przechowywać linki do unikalnych elementów. Dodatkowo musimy rozwiązać problem transformacji odwrotnej - po współrzędnej określić wartość pomiaru. Aby zapewnić maksymalna wydajność musisz skorzystać z bezpośredniego adresowania. Dlatego możesz użyć innej tablicy, w której indeks jest współrzędną wymiaru, a wartość jest odniesieniem do odpowiedniego wpisu w słowniku. Jednak łatwiej to zrobić (i zaoszczędzić na pamięci), jeśli odpowiednio ułożysz tablicę elementów tak, aby indeks elementu był jego współrzędną.

Organizacja tablicy, która implementuje listę faktów, ze względu na prostą strukturę nie nastręcza szczególnych problemów. Jedyną uwagą będzie to, że pożądane jest obliczenie wszystkich metod agregacji, które mogą być potrzebne i które można obliczyć przyrostowo (na przykład sumę).

Tak więc opisaliśmy sposób przechowywania danych w postaci hipersześcianu. Pozwala na utworzenie zbioru punktów w wielowymiarowej przestrzeni na podstawie informacji z hurtowni danych. Aby osoba mogła pracować z tymi danymi, należy je przedstawić w formie dogodnej do przetwarzania. W tym przypadku tabela przestawna i wykresy są używane jako główne typy prezentacji danych. Co więcej, obie te metody są w rzeczywistości rzutami hipersześcianu. Aby zapewnić maksymalną wydajność podczas konstruowania reprezentacji, zaczniemy od tego, co przedstawiają te rzuty. Zacznijmy od tabeli przestawnej jako najważniejszej do analizy danych.

Poszukajmy sposobów na zaimplementowanie takiej struktury. Tabela przestawna składa się z trzech części: są to nagłówki wierszy, nagłówki kolumn i rzeczywista zagregowana tabela faktów. Najbardziej w prosty sposób Widoki tabeli faktów będą korzystały z 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ęć będzie wykorzystywana wyjątkowo nieefektywnie, w wyniku czego możliwe będzie zbudowanie tylko bardzo małych kostek, w przeciwnym razie może zabraknąć pamięci . Musimy więc dobrać taką strukturę danych do przechowywania informacji, która zapewni maksymalną prędkość wyszukiwania / dodawania nowego elementu i jednocześnie minimalne zużycie pamięci RAM. Strukturą tą będą tak zwane macierze rzadkie, o których można przeczytać bardziej szczegółowo w Knutha. Możliwe są różne sposoby organizacji macierzy. Aby wybrać odpowiednią dla nas opcję, rozważmy najpierw strukturę nagłówków tabeli.

Nagłówki mają przejrzystą strukturę hierarchiczną, więc naturalne byłoby przyjęcie 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 tym przypadku logiczne jest zapisanie odniesienia do odpowiedniego elementu tabeli wymiarów wielowymiarowej kostki jako wartości wymiaru. Zmniejszy to obciążenie pamięci związane z przechowywaniem plasterka i przyspieszy pracę. Linki są również używane jako węzły nadrzędne i podrzędne.

Aby dodać element do drzewa, musisz mieć informacje o jego położeniu w hipersześcianie. Jako takie informacje musisz użyć jego współrzędnej, która jest przechowywana w słowniku wartości wymiarów. Rozważmy schemat dodawania elementu do drzewa nagłówka tabeli przestawnej. W tym przypadku jako informacji początkowej używamy wartości współrzędnych pomiaru. Kolejność, w jakiej wymienione są te wymiary, jest określona przez żądaną metodę agregacji i jest taka sama, jak poziomy hierarchii w drzewie nagłówka. W wyniku pracy musisz uzyskać listę kolumn lub wierszy tabeli przestawnej, do której chcesz dodać element.

podaniere

Używamy współrzędnych pomiarowych jako danych początkowych do określenia tej struktury. Dodatkowo dla uściślenia przyjmiemy, że definiujemy interesującą nas kolumnę w macierzy (rozważymy, jak zdefiniujemy wiersz nieco później, ponieważ wygodniej jest tam używać innych struktur danych, patrz powód do tego wyboru, jak również poniżej). Jako współrzędne bierzemy liczby całkowite - liczby wartości pomiarowych, które można określić w sposób opisany powyżej.

Tak więc po wykonaniu tej procedury otrzymujemy tablicę odwołań do kolumn rzadkiej macierzy. Teraz musisz wykonać wszystkie niezbędne czynności za pomocą linii. Aby to zrobić, w każdej kolumnie musisz znaleźć żądany element i dodać tam odpowiednią wartość. Dla każdego wymiaru w kolekcji musisz znać liczbę unikatowych wartości i rzeczywisty zestaw tych wartości.

Zastanówmy się teraz, w jakiej formie należy przedstawić wartości w kolumnach - czyli jak określić wymagany wiersz. Można w tym celu zastosować kilka podejść. Najprościej byłoby przedstawić każdą kolumnę jako wektor, ale ponieważ będzie on bardzo rzadki, pamięć będzie wyjątkowo nieefektywna. Aby tego uniknąć, użyjemy struktur danych, które zapewnią bardziej wydajną reprezentację rzadkich jednowymiarowych tablic (wektorów). Najprostszym z nich będzie regularna lista, pojedynczo lub podwójnie połączona, ale jest to nieekonomiczne pod względem dostępu do elementów. Dlatego użyjemy drzewa, które dostarczy więcej szybki dostęp do żywiołó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 przetwarzania. Zróbmy trochę trudniej - dostaniemy jedno drzewo do przechowywania wszystkich kombinacji wymiarów użytych w łańcuchach, które będą identyczne z opisanymi powyżej, ale jego elementy nie będą wskaźnikami do łańcuchó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żywane tylko jako unikalne klucze. Następnie użyjemy tych kluczy, aby znaleźć żądaną pozycję w kolumnie. Same kolumny można najłatwiej przedstawić jako zwykłe drzewo binarne. Wynikową strukturę można przedstawić w następujący sposób:

Rysunek 9. Obraz tabeli przestawnej jako drzewa binarnego

Możesz użyć tej samej procedury, aby określić odpowiednie numery wierszy, jak w procedurze określania kolumn tabeli przestawnej powyżej. Jednak numery wierszy są unikatowe w ramach pojedynczej tabeli przestawnej i identyfikują elementy w wektorach, które są kolumnami tabeli przestawnej. Najprostszym sposobem wygenerowania tych liczb jest utrzymanie licznika i zwiększenie go o jeden, gdy nowy element jest dodawany do drzewa nagłówka wiersza. Same te wektory kolumnowe są najłatwiejsze do przechowywania jako drzewa binarne, w których wartość numeru wiersza jest używana jako klucz. 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żać ogólny schemat dodanie pozycji do kolumny.

Uogólniając, sekwencję działań w celu dodania elementu do macierzy można opisać następująco:

1. Zdefiniuj numery wierszy, do których dodawane są pozycje

2. Zdefiniuj zestaw kolumn, do których chcesz dodać elementy

3. Dla wszystkich kolumn znajdź elementy z niezbędne liczby wiersze i dodać do nich bieżący element (dodanie obejmuje połączenie wymaganej liczby wartości faktów i obliczenie wartości zagregowanych, które można określić przyrostowo).

Po wykonaniu tego algorytmu otrzymujemy macierz będącą tabelą przestawną, którą musieliśmy zbudować.

Teraz kilka słów o filtrowaniu podczas budowania plasterka. Najłatwiej jest to zaimplementować dopiero na etapie budowy macierzy, ponieważ na tym etapie mamy dostęp do wszystkich wymaganych pól, a dodatkowo wartości są agregowane. Jednocześnie podczas pobierania rekordu z pamięci podręcznej sprawdzana jest jego zgodność z warunkami filtrowania, aw przypadku niezgodności rekord jest odrzucany.

Ponieważ opisana powyżej struktura w pełni opisuje tabelę przestawną, zadanie jej wizualizacji będzie banalne. W takim przypadku można użyć standardowych składników tabeli, które są dostępne w prawie wszystkich narzędziach programistycznych dla systemu Windows.

Pierwszym produktem do wykonywania zapytań OLAP był Express (firma IRI). Jednak sam termin OLAP został wymyślony przez Edgara Codda, „ojca relacyjnych baz danych”. A praca Codda została sfinansowana przez Arbor, firmę, która wydała swój własny produkt OLAP, Essbase (później przejęty przez Hyperion, który został przejęty przez Oracle w 2007 roku) - rok wcześniej. Inne dobrze znane produkty OLAP to Microsoft Analysis Services (dawniej OLAP Services, część SQL Server), Oracle OLAP Option, IBM DB2 OLAP Server (właściwie EssBase z dodatkami IBM), SAP BW, produkty Brio, BusinessObjects, Cognos, MicroStrategy i inni producenci.

Z technicznego punktu widzenia produkty na rynku dzieli się na „fizyczny OLAP” i „wirtualny”. W pierwszym przypadku jest to program, który dokonuje wstępnych obliczeń agregatów, które następnie są przechowywane w specjalnej wielowymiarowej bazie danych, co zapewnia szybką ekstrakcję. Przykładami takich produktów są Microsoft Analysis Services, Oracle OLAP Option, Oracle / Hyperion EssBase, Cognos PowerPlay. W drugim przypadku dane są przechowywane w relacyjnym DBMS, a agregaty mogą w ogóle nie istnieć lub mogą zostać utworzone na pierwsze żądanie w DBMS lub w pamięci podręcznej oprogramowania analitycznego. Przykładami takich produktów są SAP BW, BusinessObjects, Microstrategy. Stabilność zapewniają systemy oparte na „fizycznym OLAP” najlepszy czas odpowiedzi na zapytania niż „wirtualne systemy OLAP”. Dostawcy wirtualnego OLAP twierdzą, że są bardziej skalowalni, aby obsługiwać bardzo duże ilości danych.

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

Deductor to platforma analityczna, tj. podstawa do stworzenia kompletnego zastosowane rozwiązania... Technologie wdrożone w Deductor pozwalają w oparciu o zunifikowaną architekturę przejść przez wszystkie etapy budowy systemu analitycznego: od stworzenia hurtowni danych po automatyczny dobór modeli i wizualizację uzyskanych wyników.

Skład systemu:

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

Deductor Viewer to stacja robocza użytkownika końcowego. Program pozwala zminimalizować wymagania dotyczące personelu, ponieważ wszystkie wymagane operacje wykonywane są automatycznie z wykorzystaniem przygotowanych wcześniej skryptów przetwarzających, nie ma potrzeby zastanawiania się nad sposobem pozyskiwania danych i mechanizmami ich przetwarzania. Użytkownik Deduсtor Viewer musi tylko wybrać raport, który go interesuje.

Hurtownia Deductor to wielowymiarowa wieloplatformowa hurtownia danych, która gromadzi wszystkie informacje niezbędne do analizy obszaru tematycznego. Zastosowanie jednego repozytorium pozwala na wygodny dostęp, dużą szybkość przetwarzania, spójność informacji, scentralizowane przechowywanie i automatyczną obsługę całego procesu analizy danych.

4. Klient-serwer

Serwer Deductor jest przeznaczony do zdalnego przetwarzania analitycznego. Zapewnia możliwość zarówno automatycznego „uruchamiania” danych za pośrednictwem istniejących skryptów na serwerze, jak i ponownego uczenia istniejących modeli. Korzystanie z serwera Deductor pozwala na wdrożenie pełnej architektury trójwarstwowej, w której pełni on rolę serwera aplikacji. Dostęp do serwera jest zapewniany za pomocą klienta Deductor.

Zasady pracy:

1. Import danych

Analiza wszelkich informacji w Deductor rozpoczyna się od importu danych. W wyniku importu dane doprowadzane są do postaci nadającej się 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. Eksport danych

Dostępność mechanizmów eksportu pozwala na przesłanie uzyskanych wyników do aplikacji firm trzecich, np. Przekazanie prognozy sprzedaży do systemu w celu wygenerowania zamówienia czy opublikowanie przygotowanego raportu na firmowej stronie internetowej.

3. Przetwarzanie danych

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

4. Wizualizacja

Możesz wizualizować dane w Deductor Studio (Viewer) na dowolnym etapie przetwarzania. System samodzielnie określa, w jaki sposób może to zrobić, na przykład jeśli jest przeszkolony sieć neuronowa, następnie oprócz tabel i diagramów, możesz wyświetlić wykres sieci neuronowej. Użytkownik musi dokonać wyboru żądana opcja z listy i skonfiguruj kilka parametrów.

5. Mechanizmy integracji

Deductor nie zapewnia narzędzi do wprowadzania danych - platforma nastawiona jest wyłącznie na przetwarzanie analityczne. Aby korzystać z informacji przechowywanych w heterogenicznych systemach, zapewniono elastyczne mechanizmy importu i eksportu. Interakcję można zorganizować za pomocą wykonywania wsadowego, pracy w trybie serwera OLE i wywoływania serwera Deductor.

6 replikacja wiedzy

Deductor umożliwia zaimplementowanie jednej z najważniejszych funkcji dowolnego systemu analitycznego - wsparcie procesu replikacji wiedzy, tj. zapewnienie pracownikom niezaznajomionym z metodami analizy i metodami uzyskania określonego wyniku uzyskania odpowiedzi na podstawie modeli przygotowanych przez eksperta.

Zzakończenie

W obecnej pracy taki obszar nowoczesnych technologie informacyjnejako system analizy danych. Analizowane jest główne narzędzie analitycznego przetwarzania informacji - OLAP - technologie. Szczegółowo ujawniono istotę koncepcji OLAP oraz znaczenie systemów OLAP w nowoczesnym procesie biznesowym. Szczegółowo opisano strukturę i działanie serwera ROLAP. Jako przykład implementacji danych OLAP zaprezentowano platformę analityczną Deductor. Przedłożona dokumentacja jest opracowana i spełnia wymagania.

Technologia OLAP to potężne narzędzie do przetwarzania danych w czasie rzeczywistym. Serwer OLAP pozwala organizować i prezentować dane w kontekście różnych kierunków analitycznych oraz zamienia dane na pliki cenne informacjektóry pomaga firmom podejmować lepsze decyzje.

Systemy OLAP zapewniają niezmiennie wysoki poziom wydajności i skalowalności, obsługując kilka gigabajtów danych, do których mogą uzyskać dostęp tysiące użytkowników. Za pomocą technologii OLAP dostęp do informacji odbywa się w czasie rzeczywistym, tj. przetwarzanie zgłoszeń nie spowalnia teraz procesu analizy, zapewniając jej sprawność i efektywność. Narzędzia do wizualnej administracji pozwalają na tworzenie i wdrażanie nawet najbardziej złożonych aplikacji analitycznych, dzięki czemu proces jest prosty i szybki.

Podobne dokumenty

    Podstawą koncepcji OLAP (On-Line Analytical Processing) jest operacyjne analityczne przetwarzanie danych, cechy ich wykorzystania po stronie klienta i na serwerze. Ogólna charakterystyka podstawowych wymagań stawianych systemom OLAP, a także sposoby przechowywania w nich danych.

    streszczenie, dodano 10.12.2010

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

    praca semestralna, dodano 25.12.2013

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

    test, dodano 23.10.2010

    Budowa systemów analizy danych. Budowanie algorytmów do projektowania kostki OLAP i tworzenia zapytań do skonstruowanej tabeli przestawnej. Technologia OLAP do wielowymiarowej analizy danych. Dostarczanie użytkownikom informacji do podejmowania decyzji zarządczych.

    praca semestralna dodano 19.09.2008

    Podstawowe informacje o OLAP. Szybkie przetwarzanie danych analitycznych. Klasyfikacja produktów OLAP. Wymagania dotyczące narzędzi do przetwarzania analitycznego on-line. Zastosowanie wielowymiarowych baz danych w analitycznych systemach przetwarzania online, ich zalety.

    praca semestralna, dodano 06/10/2011

    Rozwój podsystemów analizy stron internetowych z z Microsoft Technologie Access i Olap. Teoretyczne aspekty rozwoju podsystemu analizy danych w systemie informacyjnym portalu muzycznego. Technologie Olap w podsystemie analizy obiektów badawczych.

    praca semestralna, dodano 11/06/2009

    Uwzględnienie narzędzi OLAP: klasyfikacja baz danych i magazynów informacji, koncepcja kostki danych. Architektura systemu wspomagania decyzji. Wdrożenie oprogramowania systemu „Abitura”. Generowanie raportu internetowego przy użyciu technologii usług Reporting Services.

    praca semestralna dodana 12.05.2012

    Hurtownia danych, zasady organizacji. Procesy przetwarzania danych. Struktura OLAP, techniczne aspekty wielowymiarowego przechowywania danych. Usługi integracyjne, wypełnianie magazynów i zbiorników danych. Możliwości systemów wykorzystujących technologie Microsoft.

    praca semestralna dodana 12.05.2012

    Budowa schematu hurtowni danych dla przedsiębiorstwa handlowego. Przechowuj opisy schematów relacji. Wyświetla informacje o produkcie. Stworzenie 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.

Cel praca semestralna jest studium technologii OLAP, koncepcji jej implementacji i struktury.

W nowoczesny świat sieć komputerowa a systemy komputerowe umożliwiają analizę i przetwarzanie dużych ilości danych.

Duża ilość informacji znacznie komplikuje poszukiwanie rozwiązań, ale pozwala uzyskać dużo dokładniejsze obliczenia i analizy. Aby rozwiązać ten problem, istnieje cała klasa systemów informatycznych, które wykonują analizę. Takie systemy nazywane są systemami wspomagania decyzji (DSS) (DSS, Decision Support System).

Aby przeprowadzić analizę, DSS musi gromadzić informacje, dysponując środkami ich wprowadzania i przechowywania. W sumie w DSS rozwiązano trzy główne zadania:

· wprowadzanie danych;

· Przechowywanie danych;

· analiza danych.

Wprowadzanie danych do DSS odbywa się automatycznie z czujników charakteryzujących stan środowiska lub procesu lub przez człowieka.

Jeśli dane są wprowadzane automatycznie z czujników, to dane są gromadzone przez sygnał gotowości, który pojawia się, gdy pojawiają się informacje, lub przez cykliczne odpytywanie. Jeśli dane wejściowe są dokonywane przez osobę, powinny zapewnić użytkownikom wygodne środki do wprowadzania danych, sprawdzania ich pod kątem poprawności wprowadzenia, a także wykonywania niezbędnych obliczeń.

Przy jednoczesnym wprowadzaniu danych przez kilku operatorów konieczne jest rozwiązanie problemu modyfikacji i równoległego dostępu do tych samych danych.

DSS dostarcza analitykom dane w postaci raportów, tabel, wykresów do badań i analiz, dlatego takie systemy pełnią funkcje wspomagające podejmowanie decyzji.

W podsystemach wprowadzania danych zwanych OLTP (przetwarzanie transakcji online) realizowane jest przetwarzanie danych operacyjnych. Do ich realizacji wykorzystywane są konwencjonalne systemy zarządzania bazami danych (DBMS).

Podsystem analizy można zbudować w oparciu o:

· Podsystemy analizy wyszukiwania informacji w oparciu o relacyjny DBMS i statyczne zapytania z wykorzystaniem języka SQL;

· Podsystemy analizy operacyjnej. Do realizacji takich podsystemów wykorzystywana jest technologia analitycznego przetwarzania danych online OLAP, wykorzystująca koncepcję wielowymiarowej prezentacji danych;

· Podsystemy analizy intelektualnej. Ten podsystem implementuje metody i algorytmy DataMining.

Z punktu widzenia użytkownika systemy OLAP zapewniają elastyczny przegląd informacji w różnych sekcjach, automatyczny odbiór dane zagregowane, wykonanie analitycznych operacji splotu, uszczegółowienie, porównanie w czasie. Dzięki temu systemy OLAP są rozwiązaniem o ogromnych zaletach w zakresie przygotowania danych do wszelkiego rodzaju raportowania biznesowego, polegającego na prezentacji danych w różnych sekcjach i na różnych poziomach hierarchii, takich jak raporty sprzedaży, różne formy budżetów, i inni. Systemy OLAP mają ogromne zalety takiej prezentacji w innych formach analizy danych, w tym prognozowaniu.

1.2 Definicja OLAP-systemy

Technologia złożonej wielowymiarowej analizy danych nosi nazwę OLAP. OLAP jest kluczowym elementem organizacji HD.

Funkcjonalność OLAP może być implementowana na różne sposoby, zarówno najprostszy, jak analiza danych w aplikacjach biurowych, jak i bardziej złożone - rozproszone systemy analityczne oparte na produktach serwerowych.

OLAP (On-LineAnalyticalProcessing) to technologia do analitycznego przetwarzania danych on-line z wykorzystaniem narzędzi i metod do gromadzenia, przechowywania i analizy danych wielowymiarowych oraz wspomagania procesów decyzyjnych.

Głównym celem systemów OLAP jest wsparcie działań analitycznych, dowolnych żądań użytkowników analityków. Celem analizy OLAP jest sprawdzenie pojawiających się hipotez.

W 1993 roku twórca relacyjnego podejścia do budowania baz danych, Edgar Codd i partnerzy (Edgar Codd, matematyk i IBM Fellow), opublikowali artykuł zainicjowany przez Arbor Software (dziś jest to słynna firma „Hyperion Solutions”), zatytułowany „Providing OLAP (operacyjne przetwarzanie analityczne) dla analityków użytkowników ”, który formułuje 12 cech technologii OLAP, które zostały później uzupełnione o sześć kolejnych. Postanowienia te stały się główną treścią nowej i bardzo obiecującej technologii.

Główne cechy technologii OLAP (podstawowy):

  • wielowymiarowa koncepcyjna reprezentacja danych;
  • intuicyjna manipulacja danymi;
  • dostępność i szczegółowość danych;
  • partia ekstrakcja danych przeciwko interpretacji;
  • Modele analityczne OLAP;
  • architektura klient-serwer (OLAP jest dostępny z pulpitu);
  • przejrzystość (przejrzysty dostęp do danych zewnętrznych);
  • wsparcie dla wielu graczy.

Cechy szczególne (Specjalny):

  • przetwarzanie niesformalizowanych danych;
  • zapisywanie wyników OLAP: przechowywanie ich oddzielnie od oryginalnych danych;
  • eliminacja brakujących wartości;
  • obsługa brakujących wartości.

Funkcje raportowania (Raport):

  • elastyczność w generowaniu raportów;
  • standardowa wydajność raportowania;
  • automatyczna konfiguracja fizycznej warstwy ekstrakcji danych.

Zarządzanie pomiarami (Wymiar):

  • uniwersalność pomiarów;
  • nieograniczona liczba wymiarów i poziomów agregacji;
  • nieograniczona liczba operacji między wymiarami.

Historycznie, dziś termin „OLAP” oznacza nie tylko wielowymiarowy widok danych od użytkownika końcowego, ale także wielowymiarowy widok danych w docelowej bazie danych. To z tym wiąże się pojawienie się jako niezależnych terminów „Relacyjny OLAP” (ROLAP) i „Wielowymiarowy OLAP” (MOLAP).

Usługa OLAP to narzędzie do analizy dużych ilości danych w czasie rzeczywistym. Poprzez interakcję z systemem OLAP, użytkownik będzie mógł elastycznie przeglądać informacje, uzyskiwać dowolne wycinki danych i wykonywać operacje analityczne w zakresie detalowania, splatania, dystrybucji od końca do końca, porównywania w czasie wielu parametrów jednocześnie. Cała praca z systemem OLAP odbywa się merytorycznie i pozwala na budowanie rzetelnych statystycznie modeli sytuacji biznesowej.

Oprogramowanie OLAP - jest to narzędzie do analizy danych onlinezawarte w sklepie. Główną cechą jest to, że z narzędzi tych ma korzystać nie specjalista z zakresu informatyki, nie ekspert-statystyka, ale specjalista w stosowanej dziedzinie zarządzania - kierownik działu, działu, kierownictwa. i wreszcie reżyser. Narzędzia służą do komunikacji analityka z problemem, a nie z komputerem... Na rys. 6.14 przedstawia elementarną kostkę OLAP, która umożliwia ocenę danych w trzech wymiarach.

Wielowymiarowa kostka OLAP i system odpowiednich algorytmów matematycznych do przetwarzania statystycznego pozwala na analizę danych o dowolnej złożoności w dowolnych odstępach czasu.


Postać: 6.14.

Dysponując elastycznymi mechanizmami manipulacji danymi i ich wizualizacją (Rys. 6.15, Rys. 6.16), menedżer najpierw patrzy na dane z różnych perspektyw, które mogą, ale nie muszą, być związane z rozwiązywanym problemem.

Następnie porównuje ze sobą różne wskaźniki biznesowe, próbując ujawnić ukryte relacje; może przyjrzeć się danym bliżej, wyszczególniając je, na przykład rozkładając je na komponenty według czasu, regionu lub klienta, lub odwrotnie, jeszcze bardziej uogólniać prezentację informacji, aby usunąć rozpraszające szczegóły. Następnie za pomocą modułu estymacja i symulacja statystyczna budowanych jest kilka opcji rozwoju wydarzeń, z których wybierana jest opcja najbardziej akceptowalna.


Postać: 6.15.

Na przykład menedżer firmy może postawić hipotezę, że rozkład wzrostu aktywów w różnych branżach przedsiębiorstwa zależy od proporcji specjalistów z wykształceniem technicznym i ekonomicznym. Aby przetestować tę hipotezę, menedżer może zapytać z magazynu i wyświetlić na wykresie wskaźnik zainteresowania dla tych oddziałów, których wzrost aktywów w bieżącym kwartale spadł o ponad 10% w porównaniu z rokiem poprzednim oraz dla tych, których aktywa wzrosły o więcej niż 25%. Powinien umieć skorzystać z prostego wyboru z oferowanego menu. Jeżeli uzyskane wyniki istotnie mieszczą się w dwóch odpowiadających sobie grupach, to powinno to stymulować dalsze testowanie postawionej hipotezy.

Obecnie szybki rozwój otrzymał kierunek zwany dynamiczne modelowanie (Symulacja dynamiczna), która w pełni realizuje powyższą zasadę FASMI.

Korzystając z modelowania dynamicznego, analityk buduje model sytuacji biznesowej ewoluującej w czasie, zgodnie z określonym scenariuszem. Jednocześnie wynikiem takiego modelowania może być kilka nowych sytuacji biznesowych, które generują drzewo możliwe rozwiązania z oceną prawdopodobieństwa i perspektyw każdego z nich.


Postać: 6.16.

Tabela 6.3 pokazuje cechy porównawcze analiza statyczna i dynamiczna.

Tabela 6.3.
Charakterystyka Analiza statyczna Analiza dynamiczna
Rodzaje pytań WHO! Co? Ile? W jaki sposób? Kiedy? Gdzie? Dlaczego? Co jeśli ...? Co jeśli…?
Czas odpowiedzi Nieregulowany sekundy
Typowe operacje na danych Raport regulowany, wykres, tabela, rysunek Sekwencja interaktywnych raportów, diagramów, formularzy ekranowych. Dynamicznie zmieniające się poziomy agregacji i wycinki danych
Poziom wymagań analitycznych Średni Wysoki
Typ formularza ekranu W większości z góry określony, regulowany Zdefiniowany przez użytkownika, konfigurowalny
Poziom agregacji danych Szczegółowe i podsumowanie Określony przez użytkownika
„Wiek” danych Historyczne i aktualne Historyczne, aktualne i przewidywane
Rodzaje wniosków W większości przewidywalne Nieprzewidywalne - od przypadku do przypadku
Spotkanie Regulowane przetwarzanie analityczne Analiza, modelowanie i prognozowanie wieloprzebiegowe

Niemal zawsze zadaniem budowania systemu analitycznego do wielowymiarowej analizy danych jest budowanie jednolity, konsekwentnie funkcjonujący system informacyjny oparty na heterogeniczności narzędzia programowe i decyzje... A sam wybór środków do realizacji IP staje się niezwykle trudnym zadaniem. Należy wziąć pod uwagę wiele czynników, w tym wzajemną kompatybilność różnych komponenty oprogramowania łatwość ich rozwoju, użytkowania i integracji, sprawność funkcjonowania, stabilność, a nawet formy, poziom i potencjalne perspektywy relacji między różnymi firmami produkcyjnymi.

OLAP ma zastosowanie wszędzie tam, gdzie istnieje zadanie wieloczynnikowej analizy danych. Ogólnie rzecz biorąc, jeśli istnieje tabela z danymi, w której znajduje się co najmniej jedna kolumna opisowa i jedna kolumna z liczbami, narzędzie OLAP skuteczny środek zaradczy analiza i generowanie raportów. Jako przykład wykorzystania technologii OLAP rozważ badanie wyników procesu sprzedaży.

Kluczowe pytania „Ile sprzedano?”, „Ile sprzedano?” rozwija się w miarę, jak biznes staje się bardziej złożony, a dane historyczne gromadzą się w wielu czynnikach lub sekcjach: „… w Sankt Petersburgu, Moskwie, Uralu, Syberii…”, „… w ostatnim kwartale w porównaniu z obecny, „.. od dostawcy A kontra dostawca B…” itp.

Odpowiedzi na takie pytania są niezbędne przy podejmowaniu decyzji zarządczych: o zmianie asortymentu, cenach, zamykaniu i otwieraniu sklepów, oddziałów, wypowiadaniu i podpisywaniu umów z dealerami, prowadzeniu lub wstrzymywaniu kampanii reklamowych itp.

Jeśli spróbujesz podkreślić główne liczby (fakty) i sekcje (argumenty pomiarowe), którymi manipuluje analityk, próbując rozszerzyć lub zoptymalizować biznes firmy, otrzymasz tabelę odpowiednią do analizy sprzedaży jako rodzaj szablonu, który wymaga odpowiednich korekt dla każdego konkretnego przedsiębiorstwa.

Czas... Z reguły jest to kilka okresów: rok, kwartał, miesiąc, dekada, tydzień, dzień. Wiele narzędzi OLAP automatycznie oblicza główne okresy od daty i oblicza dla nich sumy.

Kategoria produktu... Może być kilka kategorii, różnią się one w zależności od rodzaju działalności: różnorodność, model, rodzaj opakowania itp. Jeśli sprzedawany jest tylko jeden produkt lub asortyment jest bardzo mały, kategoria nie jest potrzebna.

Produkt... Czasami używana jest nazwa produktu (lub usługi), jego kod lub artykuł. W przypadkach, gdy asortyment jest bardzo duży (a niektóre przedsiębiorstwa mają w swoim cenniku dziesiątki tysięcy pozycji), wstępna analiza dla wszystkich rodzajów towarów może nie zostać przeprowadzona, ale uogólniona na pewne uzgodnione kategorie.

Region... W zależności od globalnego charakteru działalności można rozumieć jako kontynent, grupę krajów, kraj, terytorium, miasto, dzielnicę, ulicę, fragment ulicy. Oczywiście, jeśli jest tylko jeden punkt sprzedaży, to tego wymiaru brakuje.

Sprzedawca... Wymiar ten zależy również od struktury i wielkości firmy. Może to być: oddział, sklep, dealer, kierownik sprzedaży. W niektórych przypadkach nie ma wymiaru, na przykład gdy sprzedawca nie wpływa na sprzedaż, jest tylko jeden sklep i tak dalej.

Kupujący... W niektórych przypadkach, na przykład w handlu detalicznym, klient jest bezosobowy i nie ma pomiaru, w innych jest informacja o kliencie i jest to ważne dla sprzedaży. Wymiar ten może zawierać nazwę firmy kupującej lub wiele grup i cech klientów: branża, grupa przedsiębiorstw, właściciel itd. Analiza struktury sprzedaży w celu zidentyfikowania najważniejszych komponentów w kontekście zainteresowania. W tym celu wygodnie jest użyć na przykład diagramu typu „Pie” w trudnych przypadkach, gdy badane są jednocześnie 3 wymiary - „Kolumny”. Na przykład w sklepie „Sprzęt komputerowy” za kwartał sprzedaż komputerów wyniosła 100 000 USD, sprzętu fotograficznego - 10 000 USD, materiałów eksploatacyjnych - 4500 USD. Wniosek: obroty sklepu zależą w dużej mierze od sprzedaży komputerów (w rzeczywistości może do sprzedaży komputerów potrzebne są materiały eksploatacyjne, ale jest to analiza zależności wewnętrznych).

Analiza dynamiki ( analiza regresji - identyfikacja trendów). Identyfikacja trendów, wahania sezonowe. Wykres typu „Line” wyraźnie pokazuje dynamikę. Na przykład sprzedaż produktów Intela spadła w ciągu roku, podczas gdy sprzedaż Microsoftu wzrosła. Być może poprawiło się samopoczucie przeciętnego klienta lub zmienił się wizerunek sklepu, a wraz z nim skład klientów. Chcesz dopasować asortyment. Inny przykład: od 3 lat zimą sprzedaż kamer wideo spada.

Analiza zależności (analiza korelacyjna). Porównanie wielkości sprzedaży różnych towarów w czasie w celu określenia wymaganego asortymentu - „koszyk”. W tym celu wygodnie jest również użyć wykresu typu „Liniowy”. Na przykład, kiedy drukarki zostały usunięte z asortymentu w ciągu pierwszych dwóch miesięcy, sprzedaż wkładów proszkowych spadła.