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.
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.
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.
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.
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
W sobotę 8-mego marca uczestniczyłem w obronie prac dyplomowych naszych absolwentów z edycji II.
OdpowiedzUsuń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....