Sławomir O.

Sławomir O. Programista baz
danych

Temat: Procesowanie kostki OLAP MS Analysis Services

Witam,
Mam takie pytanie jak i czy można jakoś zoptymalizować procesowanie kostek OLAP. Teraz procesowanie trwa ok 1.5h.
A może jakieś zmiany w HD przyspieszą ten proces?

Jeszcze mam taki mały off-topic problem strasznie coś zapycha pamięć na serwerze zużycie jest prawie 100% z 30GB, szczególnie po procesowaniu kostki. Można jakoś bez restartu usług zwolnić tę pamięć?

Z góry dzięki za pomoc.
Robert Woźniak

Robert Woźniak Digital Advisor &
Founder

Temat: Procesowanie kostki OLAP MS Analysis Services

Można, powiedz tylko jaki to OLAP? Tzn Oracle czy może Microsoft no i jaka wersja?

Co do pomięci to trzeba przeznaczyć na OLAPa wybraną wartość. Co do zwalniania to proces powinien sobie sam z tym radzić i raczej bym tego nie zmieniał. Mówię to mając na uwadze, że jest Analysis Services 2005/2008.

konto usunięte

Temat: Procesowanie kostki OLAP MS Analysis Services

Ufam, że tytuł wątku załatwia sprawę... :-)

1,5 h procesowania to może być całkiem dobry wynik, jeśli do kostki ładuje Ci się np. pół miliarda wierszy.
Po pierwsze trzeba sprawdzić, który etap procesowania trwa najdłużej - oczekiwanie na zwrot danych przez źródło (pewnie SQL Server), ładowanie danych do kostki czy obliczanie agregacji.
Może zapytanie pobierające dane ze źródła jest nieoptymalne (dużo złączeń, brak indeksów, słaby serwer źródła itd.).
Może masz za dużo agregacji. Albo za dużo atrybutów w wymiarach, albo w ogóle za dużo wymiarów. Możesz też mieć za dużo wymiarów referencyjnych.
Trudno powiedzieć bo niewiele wiem o Twojej bazie.

Jeśli chodzi o pamięć - to normalne, procesowanie zabiera jej najwięcej. SSAS powinien zacząć zwalniać pamięć, jeśli tego nie robi możesz obniżyć górny limit pamięci (SSAS może go przekraczać, ale jeśli to zrobi będzie starał się szybko z tego wycofać). Jeśli to nie pomoże - trzeba pomyśleć o podniesieniu ceny pamięci (konfiguracja SSAS).
Restart usługi to wcale nie jest zły pomysł, pod warunkiem, że po restarcie rozgrzejesz cache SSAS zapytaniami, które użytkownicy wykonują najczęściej.

pozdrawiamGrzegorz Stolecki edytował(a) ten post dnia 17.03.11 o godzinie 22:47
Sławomir O.

Sławomir O. Programista baz
danych

Temat: Procesowanie kostki OLAP MS Analysis Services

W bazie są 2 tabele 15mln i 8mln rekordów.
Ja jej nie robiłem ale teraz się nią opiekuje a szczerze mówiąc nie miałem dużego doświadczenia z kostkami.

A w jaki sposób mogę sprawdzić który etap trwa najdłużej?

W takim razie muszę przejrzeć jak wygląda struktura.
Myślałem że może jest jakiś prosty sposób na to, albo na znalezienie problemu. :)

Niby jest ustawione domyślnie na 80% chyba że źle patrzę. :) A i tak użyta praktycznie cała.

A jeszcze taki mały off-topic Możecie polecić jakieś fajne szkolenie z kostek OLAP lub/i Reporting Services?
Robert Woźniak

Robert Woźniak Digital Advisor &
Founder

Temat: Procesowanie kostki OLAP MS Analysis Services

.. hehe co do tematu postu to jak zwykle czytam treść nie temat ;)

Schemat gwiazdy, czy płatek śniegu gdzieś występuje?? 15 i 8 to rozumiem dwie tabele faktów? NO to już coś jest ale bez przesady. Jeżeli masz płatek to również zapytania będą kosztować bo będą joiny.

Co do sprawdzenie które części najwięcej się kręcą to jeżeli uruchomić procesowanie z ręki w trybie FULL to będziesz widział zapytanie i czasy poszczególnych etapów (rozwijasz wszystko co się da rozwinąć).

Czas procesowanie zależy od również od ziarnistości twoich faktów i wymiarów, a co za tym idzie grup miar. AS nie robi nic innego jak zlicza sobie w najprostrzym przypadku sumy na podstawie zapytania SQLowego, jeżeli nie masz pozakładanych indeksów na kluczach obcych to będzie się mulić (teraz jeżeli założysz zbyt wiele indeksów to ładowanie będzie Ci się wydłużać do tabeli itd itd). Być może robisz sobie również wymiary na podstawie atrybutów w tabelach faktów itd itd. No i pomyśl o partycjach, 15 baniek to już trochę danych.

Co do pamięci to jeżeli zabiera 100% na serwerze to trzeba ograniczyć, przecież SQL Server i system powinny coś mieć.

Co do szkoleń to nie pomogę. Jest sporo teraz książek no i dość dużo dokumentacji.

konto usunięte

Temat: Procesowanie kostki OLAP MS Analysis Services

Co do szkoleń - prowadzę takie czasem dla Akademii Comarch.
Bardzo rzadko - bo nie ma zbyt wielu chętnych na takie szkolenie.

pozdrawiam

konto usunięte

Temat: Procesowanie kostki OLAP MS Analysis Services

Podział na partycje wymaga oczywiście SSAS Enterprise.
Nie zaleca się tworzenia małych partycji - a takie miałbyś - gdzieś w granicach pewnie 2-8 mln wierszy.
To że się nie zaleca nie oznacza, że nie można spróbować. Mając SSAS Enterprise możesz utworzyć partycje i procesować je równolegle. Jeśli masz więcej CPU w serwerze - to zawsze skraca czas procesowania. Natomiast może wydłużyć się czas wykonywania zapytań - to trzeba sprawdzić. Choć z mojego doświadczenia wynika, że zysk na procesowaniu jest na tyle duży a spadek na czasie zapytań tak niewielki - że się opłaca.
Sprawdzenie czasów możesz też wykonać w profilerze - złapiesz dokładny czas wykonania zapytania przez źródło, czas ładowania danych do kostki, czas tworzenia indeksów i agregacji.

pozdrawiam



Wyślij zaproszenie do