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

Razvoj za MySQL-Cluster

[es] :: MySQL :: Razvoj za MySQL-Cluster

[ Pregleda: 2591 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

nkrgovic
Nikola Krgović
Beograd

Član broj: 3534
Poruke: 2807

ICQ: 49345867
Sajt: https://www.twinstarsyste..


+655 Profil

icon Razvoj za MySQL-Cluster10.03.2009. u 11:02 - pre 183 meseci
Interesuje me da li je moguce raditi razvoj za MySQL-Cluster bazu na obicnom MySQL-u? Tj. da li je /usr/lib64/libmysqlclient.so / /usr/lib64/libmysqlclient_r.so koji dolazi uz MySQL kompatibilan sa onime koji dolazi uz MySQL-cluster? Moze li se samo jedan zameniti drugim? Tipa, mi odradimo razvoj na obicnom MySQL serveru, pa onda implementiramo cluster kasnije...

P.S. Pricam, naravno, o C/C++ razvoju. PHP je extra, mada je i on zgodan da radi...
Please do not feed the Trolls!

Blasphemy? How can I blaspheme? I'm a god!'
 
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: Razvoj za MySQL-Cluster10.03.2009. u 13:22 - pre 183 meseci
najzad pitanje na koje znam da odgovorim :D

ukratko: "da ali bolje ne"

da bi to objasnio u malo vise reci moram da napisem sta je uopste mysql cluster .. dakle, koga je mrzelo da procita pdf o mysql proizvodima, evo ga ovde ...

MySQL Cluster cine:

- data nodovi
- management nodovi
- sql nodovi
- api nodovi

management nod(ovi) su "ne preterano" bitni, dakle jedan, na nekoj slaboj masini, ne mora da bude dedicated ... etc etc...
sql nodovi nisu neophodni za rad
api nodovo nisu neophodni za rad

na data nodovima se nalaze podaci. to su jedini nodovi neophodni da bi klaster radio, to treba da budu DEDICATED masine na linuxu ili solarisu

--------------------

kako se pristupa podacima na data nodovima

1. preko SQL nodova
SQL nodovi su MySQL 5.1 + klaster patchevi ... tom mysql-u se pristupa kao i bilo kom drugom mysql-u (dakle libmysqlclient.so), on moze da ima svoje lokalne tabele (myisam, innodb ...) koje nisu deo klastera i vidi sve klaster tabele (storage engine: ndbcluster) ... dakle ako koristis ovaj nacin - odgovor na tvoje pitanje je DA .. mozes da koristis obican mysql na koji se konektujes c api-em ili php-om ili .... i onda zamenis tabele sa kojima radis da im engine ne bude myisam nego da bude ndbcluster i puf, na klasteru si :).... ono sto je bitno za primetiti ... klaster tabele NISU BRZE od innodb/myisam tabela u ovom slucaju, cak su neke stvari drasticno sporije (kompleksni join na primer).

2. preko API nodova
MySQL Cluster ima poseban NDB API preko koga moze da se pristupi data nodovima, pristup podacima koristenjem API-a je DO DESET PUTA BRZI :) tako da, ako klaster koristis zbog brzine, ovo je nacin da istu postignes. Ono sto je bitno vezano za ndbapi pristup je da povremeno upgrade mysql clustera (koji se radi on-line, dakle bez down time-a) zahteva da se klijenti koji koriste ndb api staticki rekompajliraju sa novom verzijom ndb api-a. NDB API je nacin na koji vecina "velikih" korisnika (kao sto su nokia, erikson, alkatel ...) koriste mysql cluster posto je njima pored sigurnosti neophodna i ogromna brzina (30 miliona update-a u sekundi na primer je "normalno" za njih .. uzmi u obzir da svaki sms, svaka promena celije, svaki poziv, svaki prekid poziva u telenor mrezi prodje kroz mysql cluster - ne znam koji sistem ima mts pa za njih ne mogu da garantujem mada je i tu 50% sansa da koriste mysql cluster) ...
Ovaj nacin pristupa je deo odgovora "bolje ne" :) posto - ako ti teba klaster - koristi ndb api .. dobices znacajno na performansama a nije da moras da ga kupis, skines ga sa neta isto kao sto si skino i taj mysql koji sada koristis :)

 
Odgovor na temu

nkrgovic
Nikola Krgović
Beograd

Član broj: 3534
Poruke: 2807

ICQ: 49345867
Sajt: https://www.twinstarsyste..


+655 Profil

icon Re: Razvoj za MySQL-Cluster10.03.2009. u 17:04 - pre 183 meseci
Ajde da pojasnim:

Krenem sa razvojem sa MySQL-om. Idem do tacke X kada sve postaje JAKO sporo. Onda zelim da, u tom trenutku, umesto da koristim MySQL predjem na cluster. Vodi racuna, nemam u startu mogucnosti da nabavim 4-5 pristojnih racunara za cluster.

Mogu li raditi razvoj samo za MySQL tako da u jednom trenutku predjem na cluster? Pretpostavljam da je ideja da se koristi InnoDB?

Alternativa b) uzeti u startu dva noda, jedan za Api, na kome radi i management, drugi za data nod, i onda dodavati nodove po volji... To cenis da je osetno bolje resenje?

Pretpostavljam da MyISAM nema mnogo smisla u toj prici, ali ako idem na InnoDB, tj. ne koristim, u startu, ove "in memory" fore, da li mi onda treba API nod u startu?
Please do not feed the Trolls!

Blasphemy? How can I blaspheme? I'm a god!'
 
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: Razvoj za MySQL-Cluster10.03.2009. u 21:44 - pre 183 meseci
pogresna ti je postavka ... mysql cluster ne sluzi tome ... ako imas kompleksan join mysql cluster je 10-50 PUTA sporiji od obicnog innodb-a tako da .. mysql cluster ti nece resiti pitanje brzine ...

dalje .. mysql cluster ima veliki troughput, ali poenta mysql clustera nije brzina u "generalnom slucaju" vec u "specificnom slucaju" ... to je "telco" proizvod - za njih je idealan, 90% gsm operatera ga koristi (iako to ni ne znaju posto su kupili platformu od nokie, simensa, eriksona, vodafona, alkatela .. a sve te platforme koriste mysql cluster) .. za "obicnog korisnika" cluster je retko resenje ... mozda u 6.4 ali se bojim da ce morati da ceka 6.5 ..

ako hoces da imas "brzi" mysql ... onda

1. uzmes jaci server :D
2. uzmes brze diskove :D
3. uzmes mysql support & consulting i mi tu ubrzamo to jos 20-200% u odnosu na to kako si to ti zamislio i napravio
4. dodas jos jedan slave server u replikaciju i prebacis deo upita na njega
5. dodas jos XYZ slave i XYZ master servera u replikaciju i distribuiras upite koristeci mysql proxy
6. dodas externo kesiranje (memcached) u pricu

to ti je generalno to :) ni u jednom trenutku mysql cluster nije "resenje" za tvoje probleme :) posto ako imas select iz 5 tabela - zaboravi na klaster, taj selekt toliko dugo traje (zbog toga sto se razni delovi tabela i razne tabele nalaze na raznim nodovima, sve to mora da ide kroz mrezu i .. jaaaaaaaaaako je sporo) da je potpuno beskoristan a daces mnoooogo para da napravis klaster ... racunaj da sve i ako koristis data on disk feature klastera indexi i dalje moraju da budu u ram-u .. dakle ceo index mora da je u ramu.... to je .. mnooogo rama ... bolje ces ga potrositi ako napravis setup sa normalnim mysql serverima u replikaciji ..
 
Odgovor na temu

[es] :: MySQL :: Razvoj za MySQL-Cluster

[ Pregleda: 2591 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

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