[ stevs986 @ 30.06.2010. 12:11 ] @

Da li je bolja jedna baza ili vise njih na istom serveru ? Konkretno ako imam neku aplikaciju, da li cu dobiti bolje performanse ako imam jednu bazu ili vise njih identicnih... ? Umesto da imam odvojenost po entitetima u jednoj bazi da li je bolje da mi svaki entitet bude zasebna baza... ? Konkretno me zanimaju samo performanse.
[ bogdan.kecman @ 30.06.2010. 14:01 ] @
moraces malo da poradis na "jasnoci" svog pitanja

da ne mislis mozda na tabele ?

zasto bi nekoliko identicnih baza bilo bolje od jedne? sta bi dobio uduplavanjem podataka? - bice da si mislio nesto drugo

[ stevs986 @ 30.06.2010. 14:22 ] @

Sad citam i priznajem da sam malo lose objasnio...

Da pokusam da pojasnim.

Recimo imam aplikaciju za preduzeca.

I u bazi odvajam podatke po i ID - u preduzeca. Ima li razlike u performansama ako imam jednu takvu bazu, ili ako imam posebnu bazu za svako preduzece. Aplikacija je ista samo se konektuje na razlicite baze. Jasno mi je da ce na pojedinacnim bazama upiti raditi brze zbog manje kolicine podataka, ali ono sto me zanima je da ako recimo imam 5 istovremenih requesta da li ce se oni brze odraditi na jednoj bazi ili na 5 razlicitih baza ( po jedan na svakoj recimo (pet korisnika iz razlicitih preduzeca) ). U okruzenju gde su sve baze na jednom mysql serveru.


P.S. Znam da je 5 requesta zapravo nista, ali cisto sam naveo primera radi.
[ bogdan.kecman @ 30.06.2010. 15:34 ] @
ako tih 5 firmi deli neke iste podatke, onda sve firme treba da budu u jednoj bazi ... cak stavise, logicno je da jedna aplikacija koja radi jednu stvar drzi stvari u jednoj bazi tako da "vise baza" u 99% slucajeva nije dobro resenje...

e sad, sto se pitanja tice da li je bolje da imas *po jednu* TABELU za svaku firmu, ili da imas *jednu* tabelu za *sve* firme a da ih odvajas sa company_id ili tako necim odgovor, jaaaako uproscen:

1.ako koristis mysql 5.0 i manji
1.1 ako je sadrzaj "velik" u odnosu na ram
1.1.1 ako ih ima manje od par hiljada
- bolje da ih podelis u vise tabela
1.1.2 ako ih ima vise od par hiljada
- bolje u jednoj tabeli
1.2 ako sadrzaj nije prevelik
1.2.1 ako imas ceste upite koji idu nad vise kompanija
- bolje da su u jednoj tabeli
1.2.2 ako nemas ceste upite koji idu nad vise
- bolje da su u vise tabela
2. ako koristis mysql 5.1 ili veci
- stavis u jednu tabelu i particionises data po company_id (pogledaj http://www.mysql.rs/2010/06/particionisanje-podataka/ )

generalno, pravljenje data modela je ozbiljan posao tako da je neophodno sagledati mnogo vise od "da li je bolje ovo ili ono" posto silver bullet ne postoji, za svaki projekat moze da se "dooptimizuje" model u odnosu na neke generalne smernice i ta "sitna dooptimizacija" moze da dovede i do 1000x vecih performansi (ja sam imao desetine primera, sto klijenata sto prijatelja, koji su imali "dobar db model" koji je blagom dooptimizacijom doneo preko 40-50 puta vece performanse) ali neki uprosten odgovor na tvoje pitanje je - koristi 5.1 ili 5.5 i partitioning
[ stevs986 @ 30.06.2010. 20:04 ] @

Hvala na odgovorima...