Citat:
koliko mysql baza moože izdržati podataka, a d ane rikne?
koliko ti treba ?
imamo klijente koji imaju po 30T podataka u mysql bazi ...
Citat:
recimo ja doma imam atlhon na 3500 xp+, 1 GB rama.
sa datageneratorom sam generirao 20 milijuna slogova.slog je imao cca.20 kolona , 400 bajtova.
kad sam išao ubaciti u tablicu tih 20 milijuna, sve zablokiralo, a ram je bio na kakvih 400 MB, a procesor na 100 %.
mislim da je za to kriv možda software s kojim sam raio ili čak i disk.
taj procesor i ta kolicina ram-a prave razliku samo za "koliko paralelnih sesija mozes da imas" ... vezano za "koliko je velika baza" ta masina moze da ima 10T podataka (doduse trajace letnji dan do podne da nesto uradis sa njima na toj masini)
problem koji si ti imao je "nekonfigurisan" server.
Citat:
ali recimo da uzmemo za primjer bazu sa 10000 ili 20000 tablica i veličinu baze od nekoliko TB ili čak i do 20 TB, jel bi mysql to izdržao, recimo da uzmemo i više nego dobar server?
da, kao sto rekoh, imamo takve klijente. Ono sto je bitno je da se i hw i sw drugacije podesavaju za 100M, 100G i 1T+
Citat:
nadalje, što je ubacivanjem dokumenata u mysql?
preporuča se da se ne ubacuje dokumenti veći od 1 MB.
a što ako imam potrebu ubaciti dokumente do 20 MB, a blob podržava do 4 GB?
MySQL je RDBMS ne AS, dakle "best practice" za programiranje je da ne cuvas veci dokument od 1M u bazi, to nema veze sa MySQL-om, isti "best practice" vazi i za sve ostale baze. (ok, 1M je malo "on the low side", neki realan limit je na 3-5M), ako je u pitanju AS onda je prica malo drugacija.
MySQL podrzava blob od 4G, stavi unutra sta oces i on ce ga sacuvati, ono sto je bitnije je "sta sa tim dokumentom", nije da ces moci da radis pretragu po tom blobu ili bilo sta slicno, mozes da ga sacuvas, mozes da ga pokupis i to je sve, sve ostale, cak i one moguce, operacije su bolno spore. Pitanje je zasto bi sacuvao dokument od 20M u bazi. Dakle *mozes*, pitanje je *zasto*. Time sto ces da ga stavis u bazu, samo ces otezati bazu, usporiti bekap ... nikakav benefit neces imati ... a isti dokument bi istom brzinom mogao da snimis/pokupis i sa storage subsistema kao obican fajl...
Citat:
nadalje, primjer za .net konektor gdje je dan za ubacivanje dokumenata preko aplikacije ne radi.
a to isto s drugim bazama radi.
ideju nemam sta znaci "dan za ubacivanje dokumenata", ali snimanje blob-a u bazu kroz .net konektor radi ok, Obrati paznju na parametre konekcije, ako ti je "max velicina sql paketa" 15M (to je default) ne mozes da izvrsis veci upit od 15M, dakle ne mozes da ubacis u blob dokument od 20M. Da bi to izveo moras da povecas parametar
Citat:
nadalje, zašto su sve baze u jednom file-u?
zašto svaka baza nije odvojena?
1. nisu sve u jednom fajlu
2. :D :D :D
3. zasto ne bi bila?
4. zasto te uopste zanima u koliko je fajlova?
nemoj pogresno da me svatis, ali potrebno je prilicno znanje da bi postavio ovakvo pitanje, i o teoriji baza podataka i o nacinu na koji OS radi kao i o nacinu na koji FS radi. sve ima svoje prednosti, no, par detalja:
- mysql ima nekoliko "storage engine"-a, to znaci, da razne tabele mogu biti u pozadini "obradjene" razlicitim sistemima ..
- najcesce koristeni "storagte engines" su:
MyISAM (jedna tabela je 3 fajla),
InnoDB (sve InnoDB tabele su u InnoDB table space-u koji cine data fajlovi (vise njih) i log fajlovi (vise njih), pritom InnoDB ima mogucnost da se svaka InnoDB tabela nalazi u zasebnom table space-u),
NDB (klaster tabele, nema fajlova, tabele se nalaze na klasteru data nodova) i tako dalje
Dakle, podaci (tabele) se nalaze u "table space-u", svaki storage engine ima svoj nacin na koji odrzava table space i kako ga kreira. MyISAM table space je takav da se za svaku bazu kreira direktorijum, za svaku tabelu 2 fajla u tom direktorijumu (data, indexi)... InnoDB moze da kreira table space tako sto mu se da lista fajlova koji ce kreirati data space gde se nalaze data i indexi, ti fajlovi mogu da budu staticne velicine ili da budu "extendable", moze da ih ima "kolko oces". InnoDB takodje mora da ima "log" space koji se opet kreira zasebno. InnoDB daje mogucnost koristenja "innodb file per table" gde se za svaku tabelu pravi zaseban data space - ovo naravno smanjuje performanse i na windozima moze da ima ozbiljnih problema zbog windozovog limita od 2048 otvorenih fajlova
Citat:
kad sqm počeo koristiti mysql, odma me privukao zbog jednostavnosti.
kad bi znao da mysql može izdržati i do 100 000 000 slogova, koristio bi i dalje.
jer kad god pokušam ubaciti veću količinu podataka ili neko testiranje, skrši se, pa moram restartat komp.
ako radim u firmi koja ima vlastte programe, te ih ne prodaje dalje nego ih koristi isključivo za sebe, vjerojatno mi isto ne treba licenca?
licenca ti treba samo ako ces da prodajes mysql, posto ga ne prodajes, ne treba ti licenca.... ono sto ti "treba" je support posto je ocigledno da nemas mnogo iskustva (necu sad da spominjem da je cena smesna :D da ne bi reklamirao sun :D) .... kreni od "my.cnf-big" konfiguracije, instaliraj poslednji 5.1 i vozi.
sto se 100M slogova tice :) .. to je "smesan" zadatak, ja na lapu teram vecu bazu od toga