[ Dejan Topalovic @ 23.08.2001. 17:25 ] @
Trebao bih raditi jedan sajt uz podrshku baze podataka. Relativno dobro se razumijem u MySQL, ali me zanima jedna stvar. Taj sajt bi trebao imati oko 1 000 posjeta dnevno (ne hitova, nego posjeta), pa me interesuje da li bi bilo bolje koristiti MySQL ili flat text baze podataka. U obzir treba uzeti:
- brzinu pristupa bazi, te samim tim i generiranju stranice
- lakochu odrzhavanja i administriranja baze
- backup i arhiviranje
[ Gojko Vujovic @ 23.08.2001. 18:22 ] @
- brzinu pristupa bazi, te samim tim i generiranju stranice

MySQL rešenje je brže, uz dobro dizajniranu bazu. Generacija stranice zavisi od scripte koja obavlja posao, ali i tu su popularna rešenja PHP+MySQL kao i Perl+MySQL vrlo brza.

- lakochu odrzhavanja i administriranja baze

Ako znaš sa MySQLom onda nema šta da brineš oko održavanja. Jednom kreiraš bazu i podesiš privilegije pristupa, i vrlo retko ćeš morati da intervenišeš.

- backup i arhiviranje

U oba slučaja je prilično lako, flat textfile baze - svodi se na kopiranje fajla, a kod MySQLa koristiš mysqldump alatku čije je korišćenje već opisano ranije u ovom forumu.

Nadam se da će odgovor pomoći u odlučivanju.
Pozdrav
[ alex @ 23.08.2001. 18:31 ] @
Citat:
StRiPy je napisao:
Trebao bih raditi jedan sajt uz podrshku baze podataka. Relativno dobro se razumijem u MySQL, ali me zanima jedna stvar. Taj sajt bi trebao imati oko 1 000 posjeta dnevno (ne hitova, nego posjeta), pa me interesuje da li bi bilo bolje koristiti MySQL ili flat text baze podataka. U obzir treba uzeti:
- brzinu pristupa bazi, te samim tim i generiranju stranice
- lakochu odrzhavanja i administriranja baze
- backup i arhiviranje


Ako se relativno dobro razumes u MySQL, cemu onda ovo pitanje?
Usput, sta podrazumevas pod flat-text bazom podataka?

Jos jedno podpitanje, da li flat text baza podataka ima indekse? Ja bih rekao da nema...

MySQL + pametno odradjeno indeksiranje baze se savrseno uklapa za stavku
broj 1 (u tvojoj listi)..

Ostale stvari nemaju bas mnogo veze sa samom bazom. Narocito poslednja
stavka.

Poz, alex.
[ alex @ 23.08.2001. 18:38 ] @
Citat:
Gojko je napisao:
- backup i arhiviranje
U oba slučaja je prilično lako, flat textfile baze - svodi se na kopiranje fajla, a kod MySQLa koristiš mysqldump alatku čije je korišćenje već opisano ranije u ovom forumu.
Pozdrav


Hmm, ko vas je ucio da se tako radi backup? Jeste da je najjednostavnije iskopirati fajl
ili uraditi mysqldump, ali, pravi i profesionalni backup je nesto drugo.. Ceo fajl sistem na traku,
jednom dnevno...

Sta biste uradili kada bi vam crkao disk na serveru? Koliko vam vremena treba da
reparirate sistem (instalacija i podesavanje samog servera, pa baze, itd)?

U takvom slucaju vam mysqldump nista ne znaci, vec samo downtime servera,
koji bi trebalo da bude sto manji. Tada na snagu stupa backup sa trake, i repariranje
sistema je znatno krace i brze -> manji downtime servera -> manje izgubljenog novca.

Hehe, malo sam odlutao od teme...

Poz, alex.
[ Dejan Topalovic @ 23.08.2001. 18:58 ] @
Evo bash razmishljam i chini mi se da je ipak MySQL u kombinaciji sa PHP-om bolji. Em znam i jedno i drugo, em shto je chini mi se jednostavnije kreirati related baze podataka u MySQL-u nego koristechi flat text baze za koje bih trebao daleko vishe vremena provesti analizirajuchi na koji nachin ih povezati. Problem je i taj shto te flat text baze moram chmodati sa dozvolom za pisanje shto mi bash nije drago.
mysqldump i nije bash pouzdan backup, ali zamislio sam neshto shto nisam josh isprobao: za mysqldump postoji opcija da se sadrzhaj baze prebacuje direktno na neki drugi server. Kad smo vec kod tog arhiviranja, evo kako bi to ishlo:
- Prebacivanje baze sa jednog servera na drugi (efikasno na brzim vezama i mrezhama -
shell# mysqladmin -h imedrugoghosta create baza
shell# mysqldump --opt baza | mysql -h imedrugoghosta baza

- Prebacivanje na sporijim mrezhama -
shell# mysqladmin create baza
shell# mysqldump -h imedrugoghosta --opt --compress baza | mysql baza

A tu je i klasichno spremanje baze u file, pa onda na drugi server:
shell# mysqldump --quick baza | gzip > backup_nesto
Zatim backup_nesto.gz prebacimo na drugi host (server) i uradimo:
shell2# mysqladmin create baza
shell2# gunzip < backup_nesto.gz | mysql baza

NAPOMENA: Ako podaci o korisnicima i permissionima nisu isti na oba hosta (servera), onda se mora prebaciti i mysql baza sa tim podacima.

Backup na tape (trake) je efikasno, ali evo poshto mi sad uzimamo server housing za prezentacije, odluchili smo se na RAID backup sa hard diskovima.
[ Dejan Topalovic @ 23.08.2001. 19:31 ] @
U brzini zaboravih sve napisati.
alex: flat text bazu sam zamislio tako da se u jednoj liniji nalaze vrijednosti pojedinih varijabli razgranichenih nekim delimiterom (npr. | ), kojima se pristupa parsanjem odredjenom funkcijom bilo uz pomoch PHP-a ili uz pomoch Perla.

Kod onog backupiranja i arhivirana zaboravih dodati backupiranje samo pojedinih velikih tablica, da se ne mora backupirati cijela baza.
To bi ishlo ovako:
shell# mkdir BACKUPDIR
shell# mysqldump --tab=BACKUPDIR BazaSaTomTablicom
Zatim prebacimo BACKUPDIR direktorij i njegov sadrzhaj na drugi host i uradimo:
shell2# mysqladmin create baza (ako baza vec nije kreirana)
shell2# cat BACKUPDIR/*.sql | mysql baza
shell2# mysqlimport baza BACKUPDIR/*.txt
[ Gojko Vujovic @ 23.08.2001. 19:40 ] @
alex, nismo mislili na system level backup nego samo na backup baze, korišćenjem alatki koje ona nudi.
Ovako kaže dokumentacija:

4.8.5 mysqldump, Dumping Table Structure and Data

Utility to dump a database or a collection of database for backup or for transferring the data to another SQL server (not necessarily a MySQL server).