Wprowadzenie do Qlik Sense ODAG: On-Demand App Generation 

Michał Ogonowski | Smart Data | 13.09.2023

W świecie Big Data, gdzie zbiory danych rosną w zastraszającym tempie, narzędzia do analizy danych muszą radzić sobie z wyzwaniami związanymi z przetwarzaniem ogromnych ilości informacji. Qlik Sense, aby sprostać tym wyzwaniom, już w wersji September 2017 wprowadził funkcjonalność On-Demand App Generation (ODAG). Od tego czasu liczba danych generowanych rocznie wzrosła niemal czterokrotnie, a w 2023 ma osiągnąć zawrotny rozmiar 120 zettabajtów danych! Jak skutecznie analizować takie ogromne zbiory z pomocą dostępnych narzędzi? W dzisiejszym artykule sprawdzamy, jakie możliwości daje Qlik Sense.

Big Data – o jakich danych mowa?

Współczesny świat jest zdominowany przez Big Data, ogromne ilości danych generowane w różnych sektorach, takich jak e-commerce, opieka zdrowotna, nauka, media społecznościowe i wiele innych. Wyzwanie, przed jakim stoi większość firm, brzmi: przekształcić te surowe dane w wartościowe informacje i analizować je możliwie jak najbardziej efektywnie. Ale o jakich danych mowa? Poniżej zebrałem kilka informacji, które działają na wyobraźnię.  

  • Każdego dnia powstaje około 328,77 milionów terabajtów danych 
  • W 2023 roku wygenerowanych zostanie około 120 zettabajtów danych 
  • W 2025 roku zostanie wygenerowanych 181 zettabajtów danych 
  •  Za ponad połowę danych przetwarzanych na świecie odpowiadają filmy 

Jak wykorzystać maksymalnie potencjał Qlik Sense w analizie Big Data?

W każdej branży mamy do czynienia z danymi, które można określić jako Big Data i które można poddawać głębszej analizie z pomocą takich narzędzi jak Qlik Sense. Przykładów zbiorów Big Data jest mnóstwo. Mogą to być wspomniane już dane z mediów społecznościowych takie jak posty, zdjęcia, dane o preferencjach użytkowników, zachowaniach czy też relacjach. Dane z obszaru e-commerce, takie jak dane zakupowe, recenzje, wyszukiwania czy zachowania klientów na stronie. 

Oto, jakie kroki warto podjąć, aby maksymalnie wykorzystać potencjał Qlik Sense w zakresie analizy takich danych. Poniższa checklista przyda się każdemu developerowi BI, ale myślę, że będzie pomocna też przedstawicielom biznesu przy planowaniu prac (choćby po to, by lepiej zaznajomić się z procesem): 

  • Upewnij się, że zgromadziłeś wszystkie potrzebne dane z różnych źródeł. 
  • Wykorzystaj oferowane przez narzędzie konektory dla platform Big Data, takich jak Hadoop czy Spark. 
  • Zaprojektuj swoje aplikacje Qlik Sense z myślą o ODAG (On-Demand App Generator, szczegółowo omówię ten temat w dalszej części artykułu). Obejmuje to identyfikację kluczowych wymiarów, które użytkownicy będą chcieli analizować, i stworzenie odpowiednich mechanizmów wczytywania danych na żądanie. 
  • Przemyśl, jakie tabele i pola są rzeczywiście potrzebne. Unikaj zbyt skomplikowanych modeli danych, które mogą spowolnić wydajność (staraj się stworzyć model gwiazdy lub płatka śniegu). Zadbaj o to, by tabele faktów były jak najmniej złożone, a szczegółowe informacje przenoś do tabel wymiarów. 
  • Monitoruj wydajność i dostosuj architekturę pod kątem zwiększania się wolumenu danych. Może to obejmować dodatkowe zasoby serwerowe, zoptymalizowane modele danych lub stosowanie najlepszych praktyk projektowania aplikacji. 
  • Zadbaj o właściwą konfigurację QS pod kątem bezpieczeństwa. Zdefiniuj niezbędne poziomy uprawnień, by zapewnić ochronę wartościowych i wrażliwych zbiorów Big Data. 
  • Wykorzystaj dodatkowe rozszerzenia dostępne w ekosystemie Qlik. Możesz skorzystać z rozszerzeń tworzonych przez społeczność lub bardziej profesjonalnych, takich jak na przykład biblioteki rozszerzeń Vizlib. Oferują one dodatkowe funkcje czy integracje, które pomogą ci maksymalnie wykorzystać możliwości platformy. 
  • Technologie i potrzeby biznesowe ciągle się zmieniają. Regularnie aktualizuj swoje aplikacje Qlik Sense, biorąc pod uwagę nowe funkcje, dane i wymagania użytkowników. 
  • Nie zapominaj o szkoleniach. Użytkownicy powinni wiedzieć, jak korzystać z narzędzia, jak interpretować wizualizacje i jak korzystać z funkcji ODAG. 

Przeczytaj także: Migracja z QlikView do Qlik Sense – po co i czy warto?

Czym jest ODAG?

Co zrobić, gdy pracujemy z ogromnymi zbiorami danych, które są zbyt duże, aby można je ładować w całości do pamięci? Dla przykładu: chcemy analizować tylko jeden dzień sprzedaży detalicznej sieci hipermarketów? Z pomocą przychodzi wspomniana we wstępie funkcjonalność ODAG. 

ODAG to technika umożliwiająca dynamiczne tworzenie aplikacji Qlik na podstawie wyborów użytkownika. Dzięki niej można ładować i analizować jedynie te fragmenty danych, które są w danym momencie potrzebne. I tak, zamiast ładować całą bazę danych, użytkownik może wybrać pewne kryteria lub filtry, które określą interesujący go fragment danych. Następnie, opierając się na tych wyborach, Qlik Sense generuje nową aplikację zawierającą tylko te dane, które spełniają wybrane kryteria. 

Z czego składa się ODAG?

ODAG opiera się na trzech głównych komponentach: 

  • Aplikacja macierzysta (Parent App): jest to główna aplikacja Qlik, która zawiera wszystkie dostępne dane lub, najczęściej, reprezentatywny podzbiór danych. Użytkownik dokonuje w niej wstępnych wyborów, określając, jakie dane będą potrzebne w generowanej aplikacji. 
  • Filtry On-Demand: to zestaw ustawień określających, jakie dane mają zostać załadowane do nowej aplikacji na podstawie wyborów użytkownika. 
  • Aplikacja na żądanie (On-Demand App): jest to aplikacja generowana dynamicznie na podstawie wyborów użytkownika w aplikacji macierzystej i filtrów. Zawiera ona jedynie te dane, które zostały określone przez użytkownika. 

Jak stworzyć On-Demand Applications (ODAG)?

Stworzenie aplikacji ODAG nie jest trudne, wymaga od developera jedynie kilku kroków. 

  1. Stworzenie aplikacji macierzystej (Parent App/ Selection App). Jest to aplikacja zazwyczaj zawierająca filtry, poprzez które użytkownik będzie mógł zawęzić dane oraz zagregowane wartości z głównego zestawu danych. 
Big data
  1. Stworzenie aplikacji będącej szablonem (Template App), który zostanie uzupełniony danymi po zastosowaniu selekcji z aplikacji macierzystej. Aplikacja ta powinna zawierać wizualizacje, jakich oczekują użytkownicy. 
  1. W aplikacji macierzystej należy stworzyć łącze aplikacji On-Demand, którego rolą jest wygenerowanie aplikacji dla użytkownika na podstawie aplikacji szablonu (Template App) oraz danych zawężonych o selekcje z aplikacji macierzystej. 
Big data
  1. Ostatnim krokiem jest wygenerowanie aplikacji poprzez przycisk “Wygeneruj nową aplikację”. 
Big data

Przykłady użycia ODAG

Dzięki wykorzystaniu aplikacji typu ODAG użytkownicy mogą skupić się na konkretnych fragmentach ogromnych zbiorów danych, zamiast przeszukiwać całą bazę. Poniżej przedstawiam cztery przykłady użycia ODAG w Qlik Sense w różnych branżach. 

Sektory detaliczne i analiza sprzedaży 

Firma detaliczna posiada wieloletnie dane sprzedażowe ze wszystkich swoich sklepów na świecie. Zamiast analizować całą bazę danych, menedżerowie chcą skupić się na danych z konkretnego regionu i okresu. Używając ODAG, menedżer wybiera interesujący go region i zakres dat. Następnie, na podstawie tych kryteriów, generowana jest aplikacja Qlik Sense, która prezentuje tylko te dane, które są istotne dla wybranej analizy. 

Analiza medyczna i badania kliniczne 

Szpital chce przeanalizować dane pacjentów w celu identyfikacji wzorców w pewnych schorzeniach. Lekarze mogą używać ODAG do wygenerowania raportów na temat konkretnego schorzenia, w oparciu o wybrane kryteria (np. wiek pacjenta, płeć, lokalizacja). Aplikacja zostanie wygenerowana tylko z danymi pacjentów spełniających te kryteria, co ułatwi analizę i identyfikację wzorców. 

Analiza rynkowa i dane finansowe 

Firma inwestycyjna chce przeanalizować dane rynkowe z ostatnich dziesięciu lat, ale zamiast przeszukiwać całą bazę, analityk chce skupić się tylko na konkretnych segmentach rynku. Używając ODAG, analityk może wybrać konkretne segmenty rynku i zakres czasowy. Tak jak w powyższych przykładach, dzięki temu zostanie wygenerowana aplikacja zawierająca tylko te dane, które są istotne dla dokładnej analizy. 

Sektory transportowe i analiza logistyki 

Firma transportowa chce zoptymalizować swoje trasy dostaw na podstawie danych z ostatnich lat. Mają setki tysięcy rekordów dotyczących różnych tras, kierowców i warunków drogowych. Dzięki ODAG planista może skupić się na wybranych trasach, kierowcach lub zakresach czasowych, a wgenerowana aplikacja Qlik Sense dostarczy dokładnych danych do analizy i optymalizacji. 

Big Data a ODAG. Jak ODAG wspiera zarządzanie Big Data?

On-Demand App Generation to kolejny krok w ewolucji narzędzi do analizy danych. Jak widać, to rozwiązanie umożliwia bardziej efektywne i elastyczne korzystanie z zasobów w świecie Big Data. Jego najważniejsze zalety to m.in.:  

  • Elastyczność i skalowalność 

Zamiast próbować wczytać ogromne ilości danych do jednej aplikacji, ODAG umożliwia użytkownikom skupienie się na tym podzbiorze, który jest dla nich najbardziej istotny w danym momencie. Dzięki temu nawet przy ogromnych zbiorach danych Qlik Sense działa szybko i sprawnie. 

  1. Optymalizacja zasobów 

Dzięki podejściu „na żądanie” nie ma potrzeby stale przetwarzać i aktualizować wszystkich dostępnych danych. Zamiast tego są one przetwarzane tylko wtedy, gdy użytkownik tego potrzebuje. 

  • Interaktywność  

Użytkownicy mogą w łatwy sposób definiować, jakie dane chcą przeanalizować, dzięki czemu analiza Big Data staje się bardziej interaktywna i ukierunkowana. 

  • Lepsze zarządzanie kosztami 

Przetwarzanie Big Data może być kosztowne, zwłaszcza gdy używane są rozwiązania chmurowe oparte na zużyciu zasobów. Dzięki podejściu „na żądanie” łatwiej można kontrolować koszty, ponieważ płaci się tylko za przetwarzanie faktycznie używanych danych. 

  • Poprawa wydajności 

Dzięki możliwości skupienia się na konkretnych danych zamiast na całym zbiorze czas ładowania i analizy jest znacznie krótszy. 

Czym jest Qlik Associative Big Data Index?

Być może zastanawiasz się, jakie technologie umożliwiają pracę z ogromnymi zbiorami danych w Qlik Sense i jak jeszcze bardziej przyspieszyć analizę z wykorzystaniem ODAG. Jedną z takich funkcjonalności jest Qlik Associative Big Data Index (QABDI). To technologia wprowadzona przez Qlik właśnie po to, aby ułatwić szybkie i interaktywne przeszukiwanie oraz analizę dużych zbiorów danych. QABDI jest rozwiązaniem skierowanym do środowisk Big Data, takich jak Hadoop czy różne platformy magazynów danych. Pozwala użytkownikom na analizę danych bez konieczności wczytywania ich do pamięci, co jest kluczowe przy ogromnych ilościach danych. 

Jak działa Qlik Associative Big Data Index?

QABDI tworzy indeks asocjacyjny z dużych zbiorów danych w źródłowych systemach Big Data. Indeks ten jest podobny do indeksu w tradycyjnych bazach danych, ale jest dostosowany do asocjacyjnego modelu Qlik, co pozwala przeszukiwać i analizować dane jeszcze szybciej. 

Gdy użytkownik dokonuje selekcji lub tworzy zapytanie w aplikacji Qlik, system przeszukuje indeks QABDI, zamiast bazować na tradycyjnych metodach wczytywania i przeszukiwania danych. Dzięki temu odpowiedzi na zapytania są dostarczane znacznie szybciej, nawet dla bardzo dużych zbiorów danych.  

Big data

Dodajmy, że użytkownicy nadal mogą korzystać z interfejsu Qlik w tradycyjny sposób (dokonywać selekcji, przeszukiwać dane i tworzyć wizualizacje). Jednak dzięki QABDI operacje te są realizowane bezpośrednio na dużych zbiorach danych, bez konieczności wcześniejszego przetwarzania czy agregacji.  

W przypadku bardziej złożonych analiz, gdzie potrzebne są szczegółowe dane, Qlik może automatycznie przechodzić od korzystania z QABDI do bezpośredniego zapytania o szczegółowe dane w źródłowym systemie Big Data. QABDI został także zaprojektowany z myślą o skalowalności. Dzięki temu, w miarę jak rośnie ilość danych, można łatwo dostosowywać infrastrukturę i zasoby tak, aby zapewnić wydajność na stałym poziomie. 

Podsumowanie

ODAG czy QABDI to potężne narzędzia w arsenale Qlik Sense, które oferują użytkownikom możliwość dynamicznego dostępu do ogromnych zbiorów danych. Umożliwia to efektywną analizę i wyciąganie wniosków bez konieczności obciążania systemu niepotrzebnymi danymi. Dzięki temu analitycy i menedżerowie mogą podejmować świadome decyzje w oparciu o dokładne i aktualne informacje. W świecie, w którym dane są liczone już nie w terabajtach, lecz zettabajtach, takie podejście pozwala oszczędzić czas i pieniądze.