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

Case study Cańbi: W jakim celu mierzyć produktywność programistów?

Case study BlueRider.Software: Authentic Authism, czyli jak zrozumieć autyzm dzięki technologii

LinkedIn partnerem SoDA. Dołącz do nowego cyklu webinarów