Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Kostka OLAP - ktokolwiek widział, ktokolwiek wie
Forum PHP.pl > Forum > Bazy danych
yevaud
Witam,

mam problem z bardzo duzą bazą danych. Dokładanie ramu powoli przestalo przekładać się na wydajność, a nowe indeksy powoli przestają mieć sens bo po złączeniu kilkunastu ogromnych tabel w jednym zapytaniu, serwer pada jak ścierka pomimo tego, że wszystkie złączenia i warunki są poprawnie indeksowane, indeksty są na jedno lub wiele pól w zależności od potrzeb, a wielkość pól nie może być już mnejsza. Padł pomysł stworzenia clustera na którym chcemy trzymać zdenormalizawaną strukturę która lepiej będzie sobie radziła z naszymi zapytaniami tzn. minimalna ilość złączen przełoży się na łatwiejsze zapytania które nie będą tak mordowały bazy.

Jest kilka pomysłów jak zabrać się za optymalizację, jednak przydałoby się jakieś ustandaryzowane podejście. Przy okazji czytania o hurtowniach danych trafilem na termin kostek olap i brzmiało to jak coś, czego potrzbuję tzn. struktura podzielona na ładne wymiary/poziomy/miary z których w prosty sposób bierzemy duże ilości danych do raportów.

Czy ktoś wie jak zabrać się za projektowanie takiej kostki od strony praktycznej ? Jak powinna wyglądać faktyczna struktura bazy danych ? czy ktoś ma jakieś przykłady ?
erix
A podałeś, jaki DBMS?

PS. Przeniosłem.
yevaud
w tym momencie postgresql 9.0.x
Pisalem w hydeparku, bo uznałem, że to raczej będzie rozmowa na zasadzie "a ja coś wiem" smile.gif ale jeśli tutaj wypowiedziałby się ktoś, kto mocniej siedzi w temacie to byłoby wspaniale smile.gif
alegorn
jesli chodzi o kostke olap - ja z powodzeniem robilem to i na mysql, choc to raczej chodzilo o cwiczenia.
rozwiazalem to poprzez tabele zrodlowa + widoki.

o ile wiem, do tego jest takze jakis soft, i chyba nawet open source.

tyle ze kostka olap, jako wielo wymiarowa baza danych - jest przeznaczona do generowania raportow...
niestety - nie w czasie rzeczywistym. o ile wiem, przy naprawde ogromnych bazach i wielo wymiarowosci - raport jest generowany w kilka(dziesiąt/set) godzin.

kwestia zbuforowania tego raportu i odpowiedniego wyświetlenia.


j.


ps poszukaj dokladnie, w necie jest tego sporo min.: http://en.wikipedia.org/wiki/OLAP_cube
yevaud
@alegorn masz może strukturę bazy i przykładowe zapytania które zilutrują jak to się je w praktyce ?
alegorn
nie mam tego w swoich zrodlach..
ale jesli chodzi o mysql - no to pozostaje tabela zrodlowa, zawierajaca dane - w wyniku grupujesz dane wg wybranych parametrow... i tyle.
kwestia tego ze to nie jest wydajne. zreszta kostki olap z zalozenia wyliczanie danych maja dosc dlugotrwale... (na znaczacych tabelach)

nie znalazles nic ciekawego w dostepnym sofcie?


bo jesli ci chodzi o to, by baza danych, przy ogromnych ilosciach danych pracwoala wydajnie - to nie do konca chyba jest tym co szukasz...
ja bym sie zastanawial nad jakimis nosqlowymi bazami predzej..


j.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.