Hurtownia danych "kup teraz"

Dobrze partycjonowane tabele dają wyniki bardzo szybko, niemal natychmiast" - mówi Rafał Kudliński, menedżer BI w QXL Poland. Największą z tabel faktów jest tabela billingowa, która ma ok. 3 mld rekordów. Załadowanie i odświeżanie takiej ilości danych w modelu OLAP byłoby bardzo czasochłonne. Przy dobrym partycjonowaniu danych na 120 dysków, na partycje dzienne i godzinne, zapytania są sprowadzane do odpytania pewnych wartości i analizy wielokrotnie mniejszych ilości danych.

W trzecim schemacie Data Mart znajdują się agregaty opracowane dla najczęściej wykonywanych raportów. Są tam agregaty dzienne i miesięczne. Dzięki stosowaniu odpowiedniej metodologii modelowania wielowymiarowego, zarówno tworzenie, jak i odpytywanie agregatów trwa bardzo krótko. Zasilanie danymi odbywa się ze schematu Target i trwa nie więcej niż 15% ogółu czasu zasilania hurtowni. Aplikacja korzystająca z Data Mart działa na danych agregowanych, ale w miarę potrzeb, może także zejść na poziom schematu Target. Proces ten jest całkowicie przezroczysty dla użytkownika, ale szczegółowe zapytanie trwa nieco dłużej.

"Tabele w schemacie Data Mart mają nie więcej niż kilkaset tysięcy rekordów każda i wyniki są dostarczane na bieżąco. Gdy zapytanie musi zejść do poziomu Target, proces obliczeń trwa nieco dłużej, do 30 sekund, ale taki czas wykonania raportu jest akceptowalny. Predefiniowane zapytania wykraczające poza Data Mart są jednak stosunkowo rzadkie" - mówi Rafał Kudliński.

Hurtownia odciąża serwis

Jednym z zadań silnie obciążających system, było wyliczanie statystyk i raportów. Przed wdrożeniem BI, zapytania musiały działać kilka godzin, bardzo mocno obciążając system produkcyjny. Obecnie te zadania przeniesiono do hurtowni danych. Dzięki przygotowaniu odpowiednich agregatów, czas obliczenia kilkunastu statystyk skrócono z kilku godzin do kilku minut. Wyliczone agregaty są następnie przenoszone do systemu transakcyjnego. "Przyniosło to istotną korzyść biznesową - zmniejszając obciążenie systemu transakcyjnego o ok. 30 proc., odsuwając w czasie niezbędne inwestycje w wydajność serwisu" - mówi Christian Maar. Takie odciążenie spowodowało podwyższenie rezerwy wydajności, a to bardzo ważna cecha w przypadku portalu, który wykazuje się wysoką dobową i godzinową nierównomiernością obciążenia.

Analitycy potrzebują różnych danych

Bardzo ważnym powodem pobierania danych spoza agregatów, jest praca analityków. Mają oni dostęp do narzędzia, które umożliwia wizualne budowanie zapytań ad hoc, gdy standardowe agregaty nie wystarczą. Na etapie projektowania interfejsu nie dało się określić zakresu danych niezbędnych do pracy analityków.

"Początkowo analitycy nie mogli sprecyzować, jakich agregatów potrzebują, bo sami nie wiedzieli, jakie informacje będą im potrzebne. W firmie wykonuje się ok. 200 projektów rocznie, każdy z nich wymaga trochę innych danych. Dostęp do schematu Target oraz sprawne narzędzia do konstrukcji zapytań umożliwiają pozyskanie niezbędnych danych, gdy warunek trzeba założyć na najniższym poziomie agregacji. Przygotowywanie agregatów pod konkretny projekt nie zawsze ma sens" - wspomina Rafał Kudliński.

Jeśli konkretne raporty ze schematu Target są wykonywane przez analityków dość często, informatycy mogą przygotować odpowiednie agregaty, aby przenieść źródło danych raportu do schematu Data Mart. Kilka takich agregatów już utworzono, dzięki optymalizacji i opracowanym warunkom, działają wielokrotnie szybciej.


TOP 200