Hurtownia danych "kup teraz"
- 15.09.2009
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.
"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.
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.