czwartek, 9 stycznia 2014

Technologia OLAP dla analityków (3)

Technologia OLAP – to takie proste

Powiedzieliśmy już, jaki CEL ma technologia OLAP. To technologia uzyskiwania danych w postaci najbardziej przydatnej do analizy biznesowej. 

Skrót OLAP oznacza OnLine Analitycal Processing, czyli, po prostu, przetwarzanie (danych dla celów) analizy na bieżąco.
Skrót ten powstał, jako odróżnienie od innego procesu, OnLine Transactional Processing (OLTP), czyli bieżącego przetwarzania transakcji. 

Przetwarzanie transakcji oznaczało systemy obsługi bieżącej działalności przedsiębiorstwa: wystawianie faktur, rejestrowanie płatności, ruchów w magazynie, księgowanie wszystkich zdarzeń gospodarczych. Na bieżąco.

Dodatek „na bieżąco” – to oczywiście chwyt marketingowy producentów tych systemów, a jednocześnie postulat funkcjonalny. Konkurencyjny biznes znajduje się pod presją czasu. Szybkość reagowania na zdarzenia jest krytyczna.

Dzisiaj termin ten, wobec wszechobecnej funkcjonalności „na bieżąco” ma już wyłącznie znaczenie historyczne. Podobnie z innymi wynalazkami. Skoro wszyscy mają komórki, nikt nie reklamuje „łatwej łączności na bieżąco”. Teraz ten środek łączności musi się odróżniać czymś innym. Na przykład – możliwością oglądania telewizji w autobusie, nie tyle na bieżąco, co na stojąco.

A w analizie biznesowej oczywiście taka presja też występuje. Stąd też ukuto analogiczny termin: OLAP. Ale co by nie powiedzieć, presja jest zdecydowanie mniejsza. Obliczenie KPI dla zestawu parametrów biznesowych, takich, jak produkt, najważniejsza grupa klientów, kwartał może być czasem sprawą gardłową. Ale chyba jednak rzadko. Najczęściej wykonanie tego zadania dopiero po wypiciu kawy będzie zupełnie wystarczające.

Systemy OLAP odróżniają się jednak od systemów OLTP również ważniejszymi cechami. Operują na danych w dużym zakresie czasu. W analizie nie tylko bieżące zdarzenia ale i historia jest ważna. Ponadto dane te powinny być dostosowane do szybkich odpowiedzi na różnorodne, często trudne do przewidzenia, pytania.

W systemach transakcyjnych (OLTP) transakcje są ściśle zdefiniowane już na etapie projektu. A więc sposób komunikacji z systemem jest wynikową tych definicji.

W systemach analitycznych (OLAP) – mamy chronologicznie gromadzone zasoby danych, które jeszcze nie są informacją przydatną do zarządzania. Projektant ma więc za zadanie stworzyć system, który efektywnie udostępni te dane. Co to znaczy – efektywnie? To znaczy – wygodnie i szybko. Tak, żeby zaspokoić potrzeby informacyjne kierownictwa nie wzbudzając ich zniecierpliwienia, ułatwiając im zarządzanie.

Jak to zrobić?
Punktem wyjścia jest … Tabela Przestawna. Mianowicie - trzeba te dane zorganizować w taki sposób, żeby mogły być szybko, najlepiej bezpośrednio, na bieżąco - wykorzystane przez Tabelę Przestawną. Pamiętacie? Miary i wymiary!

To rodzi potrzebę przetwarzania baz transakcyjnych do postaci bazy analitycznej, zwanej tradycyjnie Hurtownią Danych (HD) oraz do specjalnych obiektów analitycznych, zwanych kostkami OLAP. Niektórzy specjaliści BI rozdzielają te dwa obiekty (HD i kostki OLAP)na dwie warstwy danych analitycznych. My je będziemy traktowali, jako jedną warstwę danych analitycznych (WDA), składającą się z dwóch rodzajów obiektów: Hurtowni Danych (HD) i kostek OLAP.

Hurtownia Danych – to w naszym ujęciu - dane analityczne w formie relacyjnych baz danych. Bazy te są zorganizowane wokół tabel faktów, zawierających pola miar i pola identyfikatorów wymiarów. Za pośrednictwem tych identyfikatorów tabela faktów jest powiązana ze słownikami w strukturę gwiazdy (gdy każdy identyfikator wymiaru w tabeli faktów jest połączony ze słownikiem tego wymiaru) lub płatka śniegu (gdzie struktura tabel jest dużo bardziej swobodna).
To jest w istocie baza typu ROLAP czyli Relational OnLine Analitycal Processing.

Kostki OLAP – to coś w rodzaju konstrukcji przestrzennej, bardziej zwartej niż HD, a więc bardziej efektywnej, którą tworzy się właśnie z „szerokiej” tabeli (patrz tekst: Kłótnia….), utworzonej z kolei z tabeli faktów powiązanej ze słownikami.

Dlaczego kostka? Ponieważ można ją opisać, ograniczając się do przykładu trójwymiarowego, właśnie, jako kostkę albo układ sześcianów z podziałką. Wyobraźmy sobie przestrzenny obszar, którego trzy, wzajemnie prostopadłe wymiary,  są opisane np. kolejno - przez miasta, lata i produkty, tworząc podziałki miast, lat i produktów.

W jednym kierunku odznaczyliśmy: Warszawa, Wrocław, Opole; w drugim lata 2011,2012,2013, w trzecim Monitor X2011, Monitor X2012, Monitor X2013. Utworzyliśmy trójwymiarowy układ współrzędnych. Każdy punkt tej przestrzeni może być opisany przez ciąg wartości atrybutów: {Warszawa, 2011, Monitor X2011}, {Wrocław, 2012, Monitor X2013}, {Opole, 2013, Monitor X2012}….itd.

Powiedzmy, że każdy punkt powstały z przecięcia linii podziałek będziemy nazywać ciągiem. Ciąg – to po prostu lista trzech wartości trzech wymiarów: np. Warszawa, rok 2013 i monitor X2013.
Czy to już jest kostka OLAP? Jeszcze nie. Aby kostka OLAP była kompletna, potrzebne jest coś jeszcze. Jak pamiętamy - tabela faktów zawiera miarę. Każdej trójce wartości wymiarów przypisana jest jedna wartość miary.

Mamy więc ciąg i wartość miary dla tego ciągu. Czyli jeden element kostki OLAP.

Skończony zbiór wszystkich takich elementów, ciągów (list wartości wymiarów) oraz wartości miary dla danego ciągu – to właśnie kostka OLAP.

Taki obiekt – to zbiór uporządkowanych danych – a więc to chyba … baza danych? Tak, oczywiście,  jest to jest właśnie baza danych. Typu MOLAP czyli Multidimensional Analitical Processing.

Powiedzmy jeszcze, że kostki OLAP (a także bazy ROLAP) mogą oczywiście zawierać więcej, o wiele więcej, niż trzy wymiary. Np. …64 wymiary. Oznacza to, że szeroka tabela ma wówczas 64 pola wymiarów, a kostka ma punkty opisane ciągiem 64 wartości wymiarów.

Technologia OLAP może być opisana, jako zespół dwóch komponentów: (1)aparat zasilający  warstwę danych analitycznych WDA i (2) platforma analizy danych z warstwy DA.

Najbardziej zaawansowaną i wszechstronną platformą analizy danych jest właśnie Tabela Przestawna, stanowiąca specjalny obiekt Excela, tej najbardziej zaawansowanej, najbardziej efektywnej i najbardziej popularnej platformy analizy danych.

Podsumowując: technologia OLAP jest więc zestawem metod i technik analizy danych, podporządkowanym celowi – efektywnej analizie danych dostarczającej informacji potrzebnej do zarządzania.


czwarta część cyklu o technologii OLAP

1 komentarz:

  1. W sobotę 8-mego marca uczestniczyłem w obronie prac dyplomowych naszych absolwentów z edycji II.
    Kilka prac zostało już zastosowanych w ich firmach, z dobrymi efektami.
    Być może napiszę ogólne omówienie tych prac. To naprawdę fascynujące doświadczenie.

    Taki dialog.
    Członek komisji:
    Wdrożył pan swoje rozwiązanie w swojej firmie?
    Autor pracy:
    Tak, wszystko działa.
    (A sprawa dotyczy rozwiązania o wszelkich cechach SOA: Maile zasilają hurtownię danych zbudowaną na platformie MySQL, raporty w Excelu)
    Członek komisji:
    I co pan teraz robi w dziedzinie, której rozwiązanie dotyczy?
    Jeśli chodzi o obsługę techniczna, właściwie nic. Kliknę parę razy.
    Skupiam się na analizie raportów.
    -----------------------------------------------------
    Architektonicznie bezbłędna aplikacja rozproszona, wykonana samodzielnie przez czlowieka, który wcześniej znał nieźle Excela.
    Były, zaawansowany użytkownik.
    Obecnie - profesjonalny analityk, który nie boi się zbudować sobie DMA.

    Ale to oczywiście o niczym nie świadczy.
    Ot, taki case....

    OdpowiedzUsuń

 Wydawnictwo Helion - pliki przykładów z wydanych książek informatycznych, jak ściągnąć? Wpis nie sponsorowany Helion wydaje ważne dla mnie ...