Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Cluster opterecenje kad i koliko

[es] :: MySQL :: Cluster opterecenje kad i koliko

[ Pregleda: 2018 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Schmidt
RHCE

Član broj: 80784
Poruke: 647
*.blic.net.



+10 Profil

icon Cluster opterecenje kad i koliko10.03.2009. u 13:31 - pre 184 meseci
Recimo da zelim da postavim Cluster dva ili vise mysql-ova. Procitao sam uputstvo kako se podesava, ali me interesuje nesto u vezi njegovog rada.
Npr. koristimo skripte koje citaju nekoliko stotina hiljada redova, rade neke operacije nad njima i onda rade masovni insert/update/delete podataka.
Ti upiti prilicno opterete bazu. Cluster bi mnogo pomogao kod velikih selecta, ali da li uopste pomaze kod velikih inserta?
Korisnik ce se konektovati na jednu bazu, odraditi insert i prilikom toga zakljucati red/tabelu/bazu. Medjutim, kako je rijeseno/ako je rijeseno opterecenje drugog clana clustera? Da li je on lagano opterecen i omogucava da upiti nesmetano teku, pa ce on lagano "sustici" promjene na clusteru ili su promjene momentalne pa su optereceni svi clanovi clustera ili ...?
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.xdsl.beograd.com.

Sajt: mysql.rs


+2377 Profil

icon Re: Cluster opterecenje kad i koliko10.03.2009. u 13:52 - pre 184 meseci
zavisi koliko ima tih skripti sta rade i nad kojim podacima ..

primer

[1] 1. mysql server - 5000 inserta po jedan red - SPOROOOOOOOOO
[2] 1. mysql server - 1 insert od 5000 redova - normalno
[3] 2datanode klaster - 1 sql node koji radi 5000 inserta po jedan red - seda brada, 2 zivota etc .. dakle ne zelis to da radis
[4] 2datanode klaster - 1 sql node koji radi 1 insert od 5000 redova - normalno ali sporije nego slucaj [2]
[5] 1 mysql server - 5 klijenata koji rade insert od po 1000 redova - normalno - zavisno od tipa tabele isto ili sporije od [2]
[6] 2datanode klaster - 1 sql nod sa 5 klijenata koji rade insert po 1000 redova - sporije od [4] par puta
[7] 2datanode klaster - 5 sql nodova od kojih svaki ima 1 klijent koji insertuje po 1000 redova - brze od svega do sada
[8] 2datanode klaster - 5 ndb api nodova koji insertuju po 1000 redova - brze 2-5 puta od [7] iliti BRZOOOOOOOOOOOO

sada naravno, ovde zavisi da li su data in ram ili data on disk tabele, kakvi su upiti, kakvi su inserti ... kakav je link izmedju data nodova (akos tavis 100mbps link zaboravi na performanse), kakve su tabele ... etc etc ..

ono sto je "common" stvar je
- ndb api je najbrzi nacin pristupa
- vise nodova zakacenih za klaster je bolje nego jedan nod


bitan info, ako vam serveri gde trci datanode imaju vise od 2 jezgra, koristite 6.4.x klaster. 6.4 klaster ce biti GA najkasnije do kraja aprila (vec ga koriste u production-u prilicno ozbiljne kuce za ozbiljne stvari .. vrlo stabilan .. par sitnih bagova koji treba da se satru ... ali se generalno pravi tajming da bude GA announce na UC-u)
 
Odgovor na temu

Sale_123
C++ Developer
Wien

Član broj: 23293
Poruke: 219
*.cust.tele2.at.



+120 Profil

icon Re: Cluster opterecenje kad i koliko19.04.2010. u 13:58 - pre 171 meseci
Citat:

[1] 1. mysql server - 5000 inserta po jedan red
[2] 1. mysql server - 1 insert od 5000 redova


Ovo mi bas nije jasno. Koja je razlika u sql upitu?
...
 
Odgovor na temu

misk0
.: Lugano :. _.: CH :.

SuperModerator
Član broj: 634
Poruke: 2824
*.adsl.ticino.com.

ICQ: 46802502


+49 Profil

icon Re: Cluster opterecenje kad i koliko19.04.2010. u 14:50 - pre 171 meseci
Varijanta 1
insert into table a (field1, field2) values (value1, value2)
insert into table a (field1, field2) values (value1, value2)
insert into table a (field1, field2) values (value1, value2)
insert into table a (field1, field2) values (value1, value2)
insert into table a (field1, field2) values (value1, value2)
....... i tako 5000 puta (5000 upita)

Varijanta 2

insert into table a (field1, field2) values (value1, value2),(value1, value2),(value1, value2),(value1, value2),(value1, value2),(value1, value2),(value1, value2)... i tako 5000 vrijednosti a samo 1 SQL upit.


:: Nemoj se svadjati sa budalom, ljudi cesto nece primjetiti razliku ::
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.31.24.217.adsl2.beograd.com.

Sajt: mysql.rs


+2377 Profil

icon Re: Cluster opterecenje kad i koliko20.04.2010. u 11:05 - pre 171 meseci
samo da napomenem da se format

Code:

insert into table `t1` (`f1`, `f2`) values 
(value1, value2),
(value1, value2),
(value1, value2),
(value1, value2),
(value1, value2),
(value1, value2),
(value1, value2),
(value1, value2),
(value1, value2),
(value1, value2);


takodje zove i BULK INSERT.

osnovna razlika zasto je to brze je u tome sto mysql ne radi update za metadata tabele i za kljuceve za svaki slog pojedinacno vec tek kada insertuje sve slogove sto ume da bude nekoliko puta brze. Na primer za myisam, za svaki pojedinacni insert se updateuju svi kljucevi + key statistics/cardinality + table metadata (broj slogova, velicina etc) .. te je bulk insert brzi i do 40 puta .. kod innodb-a je razlika manja (do 10tak puta) posto innodb nema svu matadatu koju myisam ima, key statistics svejedno "nagadja" tako da je usteda samo u grupnom generisanju indexa - i dalje je razlika za red velicine u brzini tako da ..

kod klastera je bulk insert dodatno brzi zbog nacina komunikacije api noda (u ovom slucaju sql noda) sa data nodovima gde se u jednom paketu prosledi master nodu sta da odradi i master nod to zavrsi za nas umesto da za svaki insert radimo query ko je master nod za taj fragment, saljemo mu jedan slog... da ne idem u detalje .. i ovde je brzina razlicita za red velicine ..



 
Odgovor na temu

[es] :: MySQL :: Cluster opterecenje kad i koliko

[ Pregleda: 2018 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.