SoDA

Optymalizacja hurtowni danych i raportów Power BI dla branży retail — Case Study Pronos

W Pronos zawsze stawiamy na rozwiązania szybko dostępne i łatwo skalowalne. Od czterech lat obsługujemy największe sieci handlowe w Polsce i za granicą. Naszym celem jest dostarczyć im jak najlepsze rozwiązania, które nie tylko spełnią ich wymagania, ale również pozwolą je łatwo rozwijać wraz ze wzrostem biznesu naszych Partnerów.

Dlatego też z sukcesem wdrażamy nasze rozwiązania w nowych firmach, gdzie zwinne podejście stosujemy nie tylko w zarządzaniu projektami,
ale również naszymi programami. Dzięki temu znajdujemy złoty środek pomiędzy wymaganiami technicznymi potrzebnymi do prawidłowego działania, a kosztami, na które zawsze zwraca uwagę klient.

Od początku naszej pracy opieramy się na narzędziach chmurowych Microsoft. Dlatego na co dzień przy tworzeniu oprogramowania korzystamy
z wielu rozwiązań w ramach platformy Azure. Wykorzystujemy je między innymi jako przestrzeń do przechowywania danych, środowiska do budowania mikro serwisów dla naszych aplikacji, miejsca do uruchomienia maszyn wirtualnych, środowiska do analizy danych i wiele innych.

Wraz z rozwojem dostępności i możliwości usług Azure nie pozostajemy
w tyle. Stąd biorą się projekty takie jak ten, który realizowaliśmy dla lidera branży retail w Polsce — optymalizacji hurtowni danych i raportów Power BI.

Problem

Klient rozwijał swoją hurtownię danych (DWH) od kilku lat. Całość osadzona była przez nas wcześniej na maszynach wirtualnych Azure, które zapewniały nam stabilność, łatwość skalowalności i dostęp do najnowszych wersji oprogramowania. W miarę rozwoju biznesu zwiększała się ilość danych dostępnych do analiz. Nie była to już tylko sprzedaż, ale pełne informacje
o: produkcie, stanach magazynowych, zatowarowaniu sklepów, klientach (i ich zachowaniach), dostawcach, itd.

Ta ilość danych zwiększała się z dnia na dzień, a wraz z nią pojawiały się nowe raporty. Zastosowanie maszyn wirtualnych w ramach usług chmurowych Microsoft pozwalało w prosty sposób zrobić upgrade dostępnych zasobów. To jednak powodowało, że w czasie dużego obciążenia (np. uruchomienie cyklicznych raportów, zasilanie danych, …) maszyny były obciążone, ale przez resztę dnia — stały prawie nieużywane.

Dodatkowo okazało się, że wiele założeń biznesowych stworzonych na początku DWH jest już nieaktualna. Biznes rozwinął się, pojawiły się nowe kanały sprzedaży (e-commerce). Spowodowało to nadmiarowość danych
i miar w raportach. To znowu przekładało się na długi czas oczekiwania na dostęp do kluczowych informacji.

Zadanie

Po kilku wewnętrznych i zewnętrznych audytach całego ekosystemu BI, które obejmowały przegląd nie tylko DWH (hurtowni danych), ale i raportów, klient zdecydował się powierzyć Pronosowi przeprowadzenie optymalizacji całości rozwiązania.

Zadanie nam postawione obejmowało:

  • przegląd i aktualizację modelu danych w bazie danych MS SQL i Analysis Services
  • optymalizację procesu zasilania danych (ETL)
  • przyspieszenie działania modeli tabularycznych („kostek analitycznych”)
  • poprawę funkcjonowania raportów Power BI

Dodatkowo klientowi zależało na optymalizacji kosztów.

Rozwiązanie

Wybór padł na Azure Analysis Services (AAS) — czyli przeniesienie modeli tabularycznych do typowo chmurowych usług. Dodatkowo wprowadzenie zmian w samej hurtowni danych oraz raportach.

Na początek dokonaliśmy przeglądu wskaźników wymaganych przez biznes, danych dostępnych w DWH i systemach źródłowych. Z analizy okazało się, że wiele przeliczeń powinno być robionych wcześniej — na poziomie budowania Data Mart w ramach SQL. Pozwoli to zrezygnować z importu surowych danych do samych „kostek”. Wiele KPI zostało też przeniesionych z raportów Power BI bezpośrednio do AAS.

Dotychczas wykorzystywane Analysis Services w wersji „on premise” blokowały się przy dużej ilości danych i użytkowników. Przejście na wersję Azure pozwoliło na wykorzystanie narzędzi do zarządzania nimi, aby „w locie” je skalować czy robić odpowiednią ilość replik. Dzięki temu klient może decydować o tym kiedy powinny być udostępnione większe zasoby dla użytkowników (generowanie cyklicznych raportów, codzienna praca analityczna). Może też zdecydować w jakich dniach i godzinach moce mają być dostępne pod zasilenie/odświeżenie danych.

Efektem tego projektu jest rozbudowanie struktur o nowe zasoby, zwiększenie dostępności danych dla analityków i użytkowników biznesowych, przy jednoczesnym utrzymaniu kosztów na podobnym poziomie.

Największą różnicę wdrożenia nowych rozwiązań Azure zauważyli użytkownicy końcowi. Wszystkie raporty z jakich korzystali znacznie przyspieszyły. W niektórych przypadkach czas dostępu do wszystkich danych zmalał o 70%. Analiza średnich czasów pokazała nam, że przyspieszyliśmy biznes o 30%.

To jednak nie koniec naszych wyzwań. Przed nami kolejne zmiany i pełna migracja do chmury — Azure Synaptics, Data Lake, …. O tych zmianach opowiemy przy następnej okazji.

________________________________________________

Wojciech Piątkowski, Head of Project Managment, Pronos

Najnowsze artykuły

Najnowsze artykuły

Katowice. Miasto, które Cię zadziwi

SoDA współtworzy Fundusz Rozwoju Technologii Przełomowych

Gdy prywatność staje się towarem. Jak radzić sobie z zagrożeniami i chronić swoje dane – Simplito