![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 471 Pomógł: 89 Dołączył: 29.07.2008 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
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 ? |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
A podałeś, jaki DBMS?
PS. Przeniosłem. -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 471 Pomógł: 89 Dołączył: 29.07.2008 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
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" ![]() ![]() |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 341 Pomógł: 40 Dołączył: 23.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
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 |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 471 Pomógł: 89 Dołączył: 29.07.2008 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
@alegorn masz może strukturę bazy i przykładowe zapytania które zilutrują jak to się je w praktyce ?
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 341 Pomógł: 40 Dołączył: 23.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
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. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 07:01 |