[php+MySQL] baza + statystyka
Kijan - 17-03-2006 00:30
[php+MySQL] baza + statystyka
Witam serdecznie,
musze przebudować system statystyk, jednak mam do dyspozycji PHP + MySQL i zastanawiam się jak to zrobić i na co zwrocic uwage, gdyż w ciągu miesiąca mogę mieć około kilkudziesięciu milionów wpisów (wychodząc z założenia, że system będzie zbierał informacje o każdym odświeżeniu). W obecnej chwili miałem przypadek, że baza MySQL (dokładniej tabela) uległa zniszczeniu po wykonaniu przeszło 100 tys wpisów :(. Zastanawiałem się aby zastosować HEAP / MEMORY, ale jeśli MySQL będzie miał restart dane ulegną zniszczeniu, gdyż chciałem do tabeli tego typu wrzucać dane i co godzinę przerzucac je do innej tabeli już w jakiś sposób "przeredagowane". Ehhhhhhh może ktos mogłby cos podpowiedziec jak ewentualnie rozpoczac prace nad przebudową.
A tak z innej beczki, to może polecacie jakieś niedrogie (ale co to może oznaczać niedrogie 1000 zł/ rocznie ?) bazy danych które będą współpracowały z php i można je zainstalować na dedykowanym serv.
Jak ogólnie Waszym zdaniem przechować dane które w ciągu 1 miesiąca mogą wrzucać do bazy kilkadziesiąt milionów wpisów wychodząc z założenia że będzie każde odświezenie strony wpisywane do tabeli.
Dzięki za ewentualne uwagi / porady.
Pozdrawiam kijan.
Przemyslaw Popielarski - 17-03-2006 00:31
Kijan <marcin@kijanUSUN_TO.com> wrote: > musze przebudować system statystyk, jednak mam do dyspozycji PHP + > MySQL i zastanawiam się jak to zrobić i na co zwrocic uwage, gdyż w > ciągu miesiąca mogę mieć około kilkudziesięciu milionów wpisów > (wychodząc z założenia, że system będzie zbierał informacje o każdym > odświeżeniu). W obecnej chwili miałem przypadek, że baza MySQL > (dokładniej tabela) uległa zniszczeniu po wykonaniu przeszło 100 tys > wpisów :(.
Sama? Lepiej zadbaj o prawidłową konfigurację serwera. Tabele MySQL same z siebie się nie niszczą.
> Zastanawiałem się aby zastosować HEAP / MEMORY, ale jeśli > MySQL będzie miał restart dane ulegną zniszczeniu,
Co to znaczy "bedzie mial restart"? Ty masz tam serwer czy zabawke?
> A tak z innej beczki, to może polecacie jakieś niedrogie (ale co to > może oznaczać niedrogie 1000 zł/ rocznie ?) bazy danych które będą > współpracowały z php i można je zainstalować na dedykowanym serv.
Ale z czym te bazy mają być?
> Jak ogólnie Waszym zdaniem przechować dane które w ciągu 1 miesiąca > mogą wrzucać do bazy kilkadziesiąt milionów wpisów wychodząc z > założenia że będzie każde odświezenie strony wpisywane do tabeli.
Wpisywac je do tabeli. Normalnej dyskowej, najlepiej MyISAM.
-- ../ premax ../ premax@hot,pl ../ koniec i bomba, a kto czytal ten traba. w.g.
Kijan - 17-03-2006 00:31
>> musze przebudować system statystyk, jednak mam do dyspozycji PHP + >> MySQL i zastanawiam się jak to zrobić i na co zwrocic uwage, gdyż w >> ciągu miesiąca mogę mieć około kilkudziesięciu milionów wpisów >> (wychodząc z założenia, że system będzie zbierał informacje o każdym >> odświeżeniu). W obecnej chwili miałem przypadek, że baza MySQL >> (dokładniej tabela) uległa zniszczeniu po wykonaniu przeszło 100 tys >> wpisów :(. > > Sama? Lepiej zadbaj o prawidłową konfigurację serwera. Tabele MySQL same > z siebie się nie niszczą.
sądzę, iż w jednej z największych firm oferujących hostingi i obsługujących większą ilość domen niż NASK - chyba potrafi zadbać o konfigurację :) - ale nazwy firmy nie powiem :)
> >> Zastanawiałem się aby zastosować HEAP / MEMORY, ale jeśli >> MySQL będzie miał restart dane ulegną zniszczeniu, > > Co to znaczy "bedzie mial restart"? Ty masz tam serwer czy zabawke?
Firma o której wspomniałem wyżej, nie chciała podać częstotliwości takich restartów:) ale przestrzegała z korzystania z tych typów tabel aby nie utracić danych.
>> A tak z innej beczki, to może polecacie jakieś niedrogie (ale co to >> może oznaczać niedrogie 1000 zł/ rocznie ?) bazy danych które będą >> współpracowały z php i można je zainstalować na dedykowanym serv. > > Ale z czym te bazy mają być?
Mowa tutaj o profesjonalnych bazach danych np. MySQL które są płatne.
>> Jak ogólnie Waszym zdaniem przechować dane które w ciągu 1 miesiąca >> mogą wrzucać do bazy kilkadziesiąt milionów wpisów wychodząc z >> założenia że będzie każde odświezenie strony wpisywane do tabeli. > > Wpisywac je do tabeli. Normalnej dyskowej, najlepiej MyISAM.
osobiście wole Innodb przynajmniej mam relacyjność i nie zostawia mi śmieci. Ale zastanawiam się czy innodb nie ma przeciwskazań co do tabel o dużym obciążeniu.
Pozdrawiam Kijan.
Przemyslaw Popielarski - 17-03-2006 00:31
Kijan <marcin@kijanUSUN_TO.com> wrote: >> Sama? Lepiej zadbaj o prawidłową konfigurację serwera. Tabele MySQL >> same z siebie się nie niszczą. > > sądzę, iż w jednej z największych firm oferujących hostingi i > obsługujących większą ilość domen niż NASK - chyba potrafi zadbać o > konfigurację :) - ale nazwy firmy nie powiem :)
Home jak mniemam. Nie uzywalem nigdy u nich serwera wirtualnego z MySQL, ale mysle, ze powinienes drążyć te kwestie i żądac rekompensaty za uszkodzone tabele. O ile w ogole Ci sie cos nie pokrecilo.
>> Co to znaczy "bedzie mial restart"? Ty masz tam serwer czy zabawke? > > Firma o której wspomniałem wyżej, nie chciała podać częstotliwości > takich restartów:) ale przestrzegała z korzystania z tych typów tabel > aby nie utracić danych.
Tu mają rację. Dodatkowo uzywanie tego do statystyk z milionami wierszy to nieporozumienie -- tabela zuzyje cala pamiec serwera.
>> Ale z czym te bazy mają być? > > Mowa tutaj o profesjonalnych bazach danych np. MySQL które są płatne.
Nie rozumiem. Nie mylisz bazy danych z RDBMS albo z czyms innym jeszcze?
>> Wpisywac je do tabeli. Normalnej dyskowej, najlepiej MyISAM. > > osobiście wole Innodb przynajmniej mam relacyjność i nie zostawia mi > śmieci. Ale zastanawiam się czy innodb nie ma przeciwskazań co do > tabel o dużym obciążeniu.
Wiezy integralnosci, bo zapewne je miales na mysli piszac "relacyjnosc", do logow zapewne przyda Ci sie jak psu na bude. Bedziesz mial tam miliony insertow, a inserty sa na tabelach MyISAM *zajebiscie* szybkie. Ale rob sobie "osobiscie" co chcesz.
-- ../ premax ../ premax@hot,pl ../ koniec i bomba, a kto czytal ten traba. w.g.
Kijan - 17-03-2006 00:31
> Home jak mniemam. Nie uzywalem nigdy u nich serwera wirtualnego z MySQL, > ale mysle, ze powinienes drążyć te kwestie i żądac rekompensaty za > uszkodzone tabele. O ile w ogole Ci sie cos nie pokrecilo.
:) System jeszcze był w fazie późnych testów więc ważnych rzeczy nie straciłem, ale boję się o przyszłość
>>> Co to znaczy "bedzie mial restart"? Ty masz tam serwer czy zabawke? >> >> Firma o której wspomniałem wyżej, nie chciała podać częstotliwości >> takich restartów:) ale przestrzegała z korzystania z tych typów tabel >> aby nie utracić danych. > > Tu mają rację. Dodatkowo uzywanie tego do statystyk z milionami wierszy to > nieporozumienie -- tabela zuzyje cala pamiec serwera. > >>> Ale z czym te bazy mają być? >> >> Mowa tutaj o profesjonalnych bazach danych np. MySQL które są płatne. > > Nie rozumiem. Nie mylisz bazy danych z RDBMS albo z czyms innym jeszcze?
Dlaczego miałbym mylić, RDBMS chyba służy głównie do obsługi relacyjności w bazach danych.
>>> Wpisywac je do tabeli. Normalnej dyskowej, najlepiej MyISAM. >> >> osobiście wole Innodb przynajmniej mam relacyjność i nie zostawia mi >> śmieci. Ale zastanawiam się czy innodb nie ma przeciwskazań co do >> tabel o dużym obciążeniu. > > Wiezy integralnosci, bo zapewne je miales na mysli piszac "relacyjnosc", > do logow zapewne przyda Ci sie jak psu na bude. Bedziesz mial tam miliony > insertow, a inserty sa na tabelach MyISAM *zajebiscie* szybkie. Ale rob > sobie "osobiscie" co chcesz.
Można powiedzieć więzy :)
Czyli Twoim zdaniem warto akurat tabele związane ze statystyką przechowywać w typie MyISAM, a tak z ciekawości to może widziałeś gdzieś w necie jakieś konkretne porównania wydajności poszczególnych typoów tabel i do czego jest je lepiej wykorzystywać.
Gdyż głównie znalazłem porównania sqllite / mysql i postersql - sqllite wypada dość korzystnie w wielu przypadkach jeśli chodzi o wydajność w związku z pewnymi zapytaniami.
Pozdrawiam Kijan.
Przemyslaw Popielarski - 17-03-2006 00:31
Kijan <marcin@kijanUSUN_TO.com> wrote: >> Nie rozumiem. Nie mylisz bazy danych z RDBMS albo z czyms innym >> jeszcze? > > Dlaczego miałbym mylić,
Jesli wiec szukasz bazy danych, to powiedz co ma byc w tej bazie danych. No nie wiem -- kody pocztowe, modele samochodow, nazwiska posłów, whatever.
> RDBMS chyba służy głównie do obsługi relacyjności w bazach danych.
Sprytnie. A DBMS?
> Czyli Twoim zdaniem warto akurat tabele związane ze statystyką > przechowywać w typie MyISAM,
Tak.
> a tak z ciekawości to może widziałeś gdzieś w necie jakieś konkretne > porównania wydajności poszczególnych typoów tabel i do czego jest je > lepiej wykorzystywać.
Nie, ale nie jest tajemnicą, ze InnoDB w porownaniu z MyISAM 'wymietkają' pod wzgledem cpu load i memory usage. Tak circa pewnie 2-4x.
-- ../ premax ../ premax@hot,pl ../ koniec i bomba, a kto czytal ten traba. w.g.
Kijan - 17-03-2006 00:31
> Jesli wiec szukasz bazy danych, to powiedz co ma byc w tej bazie danych. > No nie wiem -- kody pocztowe, modele samochodow, nazwiska posłów, > whatever.
Takie "ciekawe" informacje jak ilość np. wejść do kategorii danej strony, sprawdzenie ile było odświeżeń danej strony w określonym zakresie czasu, ehhh takie "pierdółki"
>> RDBMS chyba służy głównie do obsługi relacyjności w bazach danych. > > Sprytnie. A DBMS?
Hmmmmmm a myślałem, że to wątek w którym ja zadaje pytania :)
>> Czyli Twoim zdaniem warto akurat tabele związane ze statystyką >> przechowywać w typie MyISAM, > > Tak.
>> a tak z ciekawości to może widziałeś gdzieś w necie jakieś konkretne >> porównania wydajności poszczególnych typoów tabel i do czego jest je >> lepiej wykorzystywać. > > Nie, ale nie jest tajemnicą, ze InnoDB w porownaniu z MyISAM 'wymietkają' > pod wzgledem cpu load i memory usage. Tak circa pewnie 2-4x.
no nic poszukam, gdyż chciałbym zorientować się co może wytrzymać ewentualnie serv. wirtualny a ile może wytrzymać dedykowany. Będę musiał ewentualnie jeszcze z "przyjacielem google" poszukać takich info jeśli są.
Pozdrawiam Kijan
Przemyslaw Popielarski - 17-03-2006 00:31
Kijan <marcin@kijanUSUN_TO.com> wrote: >> Jesli wiec szukasz bazy danych, to powiedz co ma byc w tej bazie >> danych. No nie wiem -- kody pocztowe, modele samochodow, nazwiska >> posłów, whatever. > > Takie "ciekawe" informacje jak ilość np. wejść do kategorii danej > strony, sprawdzenie ile było odświeżeń danej strony w określonym > zakresie czasu, ehhh takie "pierdółki"
Chcesz od kogos baze danych z jego statystykami? Nadal nie rozumiem.
-- ../ premax ../ premax@hot,pl ../ koniec i bomba, a kto czytal ten traba. w.g.
Kijan - 17-03-2006 00:31
>> Takie "ciekawe" informacje jak ilość np. wejść do kategorii danej >> strony, sprawdzenie ile było odświeżeń danej strony w określonym >> zakresie czasu, ehhh takie "pierdółki" > > Chcesz od kogos baze danych z jego statystykami? Nadal nie rozumiem. >
Sadzilem iż to byłło pytanie, co mam zamiar przechowywać w tej bazie, dlatego CI w skrócie opowiedziałem. A od nikogo nie oczekuje zadnej bazy, tylko proszę o podpowiedzi dotyczące tego jak podejść do spraw statystyk optymalnie i na co zwrócić uwage itp itd.
Pozdrawiam Kijan.
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
[mysql] =?ISO-8859-2?Q?Za=E6mienie=2E=2E=2E_jak_wy=B6wietli=E6?==?ISO-8859-2?Q?=2E=2E=2E?=
[mysql] =?ISO-8859-2?Q?wielko=B6=E6_bazy_a_stabilno=B6=E6=2C?==?ISO-8859-2?Q?_podzia=B3_du=BFej_bazy_a_powi=B1zania_tabel?=
[MySQL] =?ISO-8859-2?Q?Wy=B6wietlenie_kolejnej_pozycji=2C_?==?ISO-8859-2?Q?jak=B1_mia=B3by_dany_rekord=2C_gdybym_czyta=B3 _?==?ISO-8859-2?Q?wg_konkretnych_kryteri=F3w=2E_Da_si=EA_=3F?=
[mysql 4.0.x] przenoszenie kolum =?ISO-8859-2?Q?mi=EAdzy_bazam?==?ISO-8859-2?Q?i_cd_=2E=2E=2E_?=
[MySQL] =?ISO-8859-2?Q?z=B3=B1czenie_tabeli_u=BFytkownik_i?==?ISO-8859-2?Q?_zdj=EAcia_z_wyborem_zdj=EAcia_domy=B6lnego?=
[MySQL] Jak =?ISO-8859-2?Q?wpisa=E6_do_tabeli_pozycje_dl?==?ISO-8859-2?Q?a_wierszy_gdybym_te_wiersze_wybiera=B3_w_ok?== ?ISO-8859-2?Q?re=B6lonej_kolejno=B6ci_=3F?=
Gdzie MySQL 4.1, a gdzie 5.0?
[MySQL 4.0...4.1] zabezpieczenie przed =?ISO-8859-2?Q?jednoczesn?==?ISO-8859-2?Q?=B1_edycj=B1?=
[MS SQL] "set names" (mySQL) w MS SQL
[mysql 5.x] jak =?ISO-8859-2?Q?zrealizowa=E6_zapytanie=3F_cz?==?ISO-8859-2?Q?yli_podzapytanie_i_wi=EAcej_ni=BF_jeden_rz=B1? ==?ISO-8859-2?Q?d_wynik=F3w?=
zanotowane.pldoc.pisz.plpdf.pisz.plchinska-zupka.opx.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|