Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Czysta teoretyka
TrAvIkK
post
Post #1





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 23.11.2006

Ostrzeżenie: (0%)
-----


Pytanie czysto teoretyczne.

Jeżeli przyjdzie użytkownikowi wykonać operacje wpisania do tabeli powiedzmy 100 - 200 tysięcy wpisów to jak najlepiej to zrobić?
Myślałem o cronjob, który co pare s wpisywałby do tabeli po 10-20 tysięcy, i to w sumie nie byłoby źle, tyle, że może istnieją lepsze rozwiązania?
Go to the top of the page
+Quote Post
dr_bonzo
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

Ostrzeżenie: (0%)
-----


Nie pytaj o teorie bo wyglada ona tak:
dodaj od razu wszystkie wpisy

tylko o praktyke:
czemu musisz w odstepach? jak czesto to bedzie wykonywane? itp
Go to the top of the page
+Quote Post
TrAvIkK
post
Post #3





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 23.11.2006

Ostrzeżenie: (0%)
-----


Bo chodzi o to, żeby nie zabić serwera.
Jeżeli użytkownik będzie chciał dodać 200 tys rekordów, a inny użytkownik jakieś 50 tys, jeszcze inny... To wtedy serwer sie wykrzaczy...

Dodanie 100 tys na serwerze który posiadam to operacja rzędu 6s, zdecydowanie za dużo.

A jak często?
Chodzi o przeniesienie danych z tabeli jednej do drugiej.
Go to the top of the page
+Quote Post
LonelyKnight
post
Post #4





Grupa: Zarejestrowani
Postów: 240
Pomógł: 13
Dołączył: 1.06.2007
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Raz piszesz, że chcesz przenieś dane z tabeli do tabeli a trochę wyżej coś o użytkownikach... czego właściwie potrzebujesz bo jakoś ciężko mi sobie wyobrazić sytuację, w której kilku użytkowników, w tej samej sekundzie chce dodać kilkadziesiąt/set tysięcy rekordów....

Skoro masz aż tak 'obciążony' serwer (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) i w ciągu sekund do bazy trafiają setki tysięcy rekordów to co da Ci cron? Powiedzmy, że rozbijesz porcję od jednego usera na minutę ale w ciągu tej minuty pojawi się kolejnych 20 użytkowników, którzy dorzucą swoje trzy gorsze - myślisz, że to ma sens?

//edit

...a przenosić możesz np. tak:

  1. CREATE TABLE tabela2 SELECT * FROM tabela1 WHERE coś tam


...przerzucisz i strukturę i dane.

Ten post edytował LonelyKnight 2.06.2007, 16:40:56
Go to the top of the page
+Quote Post
TrAvIkK
post
Post #5





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 23.11.2006

Ostrzeżenie: (0%)
-----


Dane będą przenoszone z jednej tabeli do drugiej poprzez wykonanie przez użytkownika pewnej operacji, więc rozwiązanie, które opisałeś trochę mija się z tym co potrzebuję, ale to przeze mnie - źle opisałem problem.

Co mi da cron?
Rozbije to, jak zauważyłeś, na większą odległość w czasie - odciąży to serwer w pewnym stopniu, a użytkownik nie będzie musiał czekać na wynik całej operacji.
Go to the top of the page
+Quote Post
SongoQ
post
Post #6





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

Ostrzeżenie: (0%)
-----


Nie ma sensu stosowac crona, no chyba ze to operacje cykliczne i pochodza z innej bazy wtedy warto sie zastanowic nad linkiem miedzy bazami jesli to dane pochodzace z innych zrodel a wrzucanie powiedzmy jest nie czesciej niz powiedzmy 1h i tabela posiada indexy na pola warto na czas wrzucania danych usunac wszystkie indeksy wrzucic taka paczke danych a nastepnie odbudowac index. Problem jeszcze sie pojawia z dostepem do tych danych po sciagnieciu indeksu.

Mozliwosci jest bardzo wiele. Jesli masz bardzo duzo rekordow i stosowane sa do tego skomplikowane zapytania i bardzo zalezy Ci na wydajnosci to zaintresuj sie tematem hurowni danych. Jest wiele pozycji na ten temat pisanych pod Oracle i M$ wiec cos do MySQLa by sie znalazlo.

Jak zrobisz to musisz sam zdecydowac, jesli zalezy Ci na wydajnosci dane pomnoz przez powiedzmy 10 - 100 i sprawdzaj jesli czasy beda znosne to bedziesz pewny ze dla Twojej ilosci danych tez bedzie ok.
Go to the top of the page
+Quote Post
TrAvIkK
post
Post #7





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 23.11.2006

Ostrzeżenie: (0%)
-----


Możesz przybliżyć temat hurtowni danych?
Go to the top of the page
+Quote Post
LonelyKnight
post
Post #8





Grupa: Zarejestrowani
Postów: 240
Pomógł: 13
Dołączył: 1.06.2007
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Cytat(TrAvIkK @ 2.06.2007, 21:35:31 ) *
Możesz przybliżyć temat hurtowni danych?



http://pl.wikipedia.org/wiki/Hurtownia_danych
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 12.10.2025 - 13:30