Jednym z wyróżników systemów klasy BI In-Memory jest fakt, iż tego typu oprogramowania nie potrzebuje hurtowni danych. Przyjrzyjmy się zatem, jak w praktyce wygląda logika tej koncepcji, bazując na przykładzie innowacyjnego systemu QlikView. Producent tego oprogramowania (firma QlikTech) podkreśla, że szybkość przetwarzania danych, wielość systemów i formatów danych źródłowych wcale nie wymaga architektury rodem z tradycyjnych systemów BI. Dlaczego? Odpowiedź znajdziemy poniżej:

Szybkość działania QlikView wynika z unikatowej technologii asocjacyjnych baz danych przechowujących szczegółowe dane, które są pobierane z systemów źródłowych i przeliczane w pamięci operacyjnej komputera (in-memory). Dzięki opatentowanej technologii AQL, za każdym razem, gdy użytkownik dokonuje selekcji danych poprzez interfejs graficzny (point-and-click), QlikView ustala schemat połączeń między danymi na zasadzie podobieństwa (model skojarzeniowy). Gdy jakaś wartość lub wartości zostaną zaznaczone, QlikView automatycznie rozróżnia dane, dla których istnieją i nie istnieją powiązania w bazie danych. Równocześnie, wykresy, tablice i inne kontrolki (zawierające różnorodne wartości kalkulowane) zostają natychmiast przeliczone, aby odzwierciedlać bieżącą selekcję.
Dzięki założeniu, że wszystkie obliczenia odbywają się w czasie rzeczywistym, analizy i raportowanie można prowadzić wyjątkowo szybko, elastycznie, bez ograniczeń co do liczby wymiarów. Korzystając z szerokiej gamy interaktywnych (graficznych) wskaźnikóww, trybie ad-hoc można łatwo i szybko definiować nowe miary biznesowe. Użytkownicy mogą zobaczyć i zrozumieć wydajność procesów poprzez interaktywną eksplorację danych pozbawioną jakichkolwiek limitów. Nawet jeśli liczba danych źródłowych mierzona jest w milionach, wystarczy typowy sprzęt serwerowy w architekturze 64-bitowej. Nie ma na świecie rozwiązań Business Intelligence, które stawiają równie niskie wymagania sprzętowe i dostarczają taką moc obliczeniową, co QlikView. To między innymi te cechy sprawiają, że narzędzia firmy QlikTech stanowią najbardziej efektywne pod względem kosztowym rozwiązania BI na rynku.
Dzięki wykorzystaniu technologii in-memory, system QlikView umożliwia prowadzenie analiz danych na poziomie zarówno zagregowanym jak i szczegółowym, bez konieczności budowania kosztownych „kostek” OLAP oraz Hurtowni Danych. Asocjacje pomiędzy danymi są automatycznie mapowane w QlikView i natychmiast odpowiadają na selekcje dokonywane przez samych użytkowników. Obliczenia nawet gigantycznych wolumenów danych mogą trwać sekundy – niezależnie od tego, czy obszar analizowany jest przez jednego czy wielu użytkowników jednocześnie.

Możliwości systemu QlikView

QlikView oferuje takie same funkcjonalności jak tradycyjne rozwiązania Business Intelligence, lecz w jednej architekturze. Posiada wbudowane funkcje ETL do wczytywania, przekształcania i ładowania danych z jednego lub wielu źródeł danych (np. SQL, plików tekstowych, dokumentów Excel i XML). Budowanie aplikacji jest realizowane poprzez rozbudowane, intuicyjne kreatory, dzięki czemu prace programistyczne są bardzo proste. W odróżnieniu jednak od technologii OLAP (która dla zwiększenia efektywności potrzebuje korzystać z preagregatów m.in.: Hurtowni Danych), analizy w QlikView nie są ograniczone żadną liczbą wymiarów. Dowolna wartość danego wymiaru lub miary może być punktem startowym analizy. Zmiany wymiarów lub dodanie nowej miary mogą być często wykonywane w kilka minut. Tymczasem w tradycyjnym modelu, korzystającym z Hurtowni Danych, dodanie nowego wymiaru w HD to proces programistyczny trwający od kilku godzin do kilku dni.

W QlikView analitycy mogą budować miary, wykresy, porównania i trendy w taki sposób, który odpowiada ich biznesowym potrzebom. Bogata biblioteka funkcji QlikView pomaga projektantowi w tworzeniu zarówno najprostszych obliczeń, poprzez statystyczne i finansowe trendy, aż po analizy porównawcze. Funkcja Set Analysis wbudowana w QlikView zapewnia możliwość elastycznego i dynamicznego definiowania analiz porównawczych bez konieczności podążania ściśle zdefiniowaną ścieżką. Końcowi użytkownicy mogą korzystać także z innych możliwości.

Korzyści dla użytkownika QlikView

Korzyści z takiego podejścia są wielorakie. Poczynając od etapu wdrożenia, gdzie często zmienia się koncepcja budowy raportów (np. dodatkowe pole oznaczające numer kasy bądź stawkę VAT). W przypadku QlikView jedyne co musimy zrobić, to dołożyć jedno pole w zapytaniu wczytującym dane do aplikacji. W przypadku hurtowni danych musielibyśmy najpierw przekonfigurować daną kostkę (w najlepszym przypadku tylko jedną, w najgorszym wszystkie, w których taki wymiar bądź miara się znajduje a może być ich bardzo wiele). Następnie musielibyśmy przeładować zawartość całej kostki bądź kostek jeśli dane w nich uzupełnianie są przyrostowo. Oczywiście w samym QV w niektórych, nielicznych przypadkach, również może istnieć konieczność odświeżenia danych w plikach danych, jednak czas jaki jest do tego potrzebny jest zdecydowanie krótszy, niż w przypadku klasycznej hurtowni danych (nie są one agregowane).

Kolejny aspekt to utrzymanie środowiska. W przypadku korzystania z hurtowni danych dla jakiegokolwiek systemu analitycznego mamy tak naprawdę wiele różnych źródeł danych. Dodatkowo, dane te są wstępnie wyliczane (za każdym razem w innej kostce). W związku z tym istnieje ryzyko, iż pewne wartości pobierane do jednego raportu z jednej kostki nie będą pokrywały się z wartościami wyliczonymi w innej kostce i pobieranymi do innego raportu. Sytuacja taka może mieć miejsce np. w momencie zmiany algorytmu wyliczania określonego wskaźnika, który został zmodyfikowany tylko w jednej z kostek. W przypadku QV dane wyliczane są w samej aplikacji na podstawie „jedynie słusznych” informacji pobranych np. z systemu ERP.

Następny problem, jaki spotka nas podczas korzystania z rozwiązania opartego na kostkach to dostęp do danych w nich zawartych. Idea działania polega na umieszczeniu określonych wymiarów i miar w jednej „paczce” zwanej właśnie kostką. Taki zestaw następnie ładowany jest do aplikacji raportującej i wyświetlany w postaci czytelnej dla użytkownika. Niestety, do jednego raportu wczytamy albo jedną kostkę i ograniczymy sobie zakres jaki analizujemy (np. do sprzedaży na poziomie sklepów), albo wczytamy dane np. z wielu kostek uzyskując informację np. o sprzedaży poszczególnych towarów. Następnie powiążemy je w aplikacji (wczytując całą masę danych nadmiarowych niepotrzebnie zajmujących czas i pamięć). Możemy też oczywiście wczytać tylko wybrane pola z każdej kostki a następnie zrobić określone wyliczenia lub agregacje w samej aplikacji… oczywiście QlikView nam w tym pomoże. Tylko, po co nam wtedy hurtowania danych, skoro mamy dane źródłowe w postaci bazy systemu transakcyjnego ? Można naturalnie stworzyć jedną „superkostkę”, która będzie zawierała wszystkie możliwe dane zagregowane na wszystkie możliwe sposoby. Jednak ze względów wydajnościowych oraz czas potrzebny na odświeżenie takiego zestawu danych jest to rozwiązanie stosowane bardzo rzadko.
Podsumowując. Rozwiązanie jakie oferują nam mechanizmy QlikView stanowi bardzo wyważony kompromis między elastycznością (coraz częściej wymaganą przez świadomych użytkowników), wydajnością oraz łatwością dalszej rozbudowy. Dzięki temu, że dane nie są wstępnie agregowane, analizy mogą być prowadzone od ogólnego do najbardziej szczegółowego poziomu.

Autor: Borys Pastuszek, Konsultant QlikView