MySQL - best practice
17.11.2008. u 13:30 · pre 218 meseci
#1
Mislim da bi bila zgodna ovako jedna tema, da bi izbegli skupljanje "korisnih" informacija po raznim temama.... Ovo bi trebala da bude skupina "univerzalnih" saveta za MySQL.
--
za storage system ... generalno, raid + battery backup up cache, mnogo spindlova, nekoliko lunova ... data i log na razlicite lunove
--
cak i ako nemate raid, data i log stavite na razlicite fizicke diskove
--
mysql podrzava incremental backup tako sto se za "incremental" deo koristi binlog... ako vam crkne disk, mala vajda od tog binloga koji je crkao zajedno sa podacima :( ... koristite DRBD za "replikaciju hard diska" i binlog stavite na tu particiju
--
mysql high availability resenje za "male pare" .. znamo da master master replikacija ima svoje mane, jednostavna "sinhrona" replikacija za mysql moze da se izvede sa myisam tabelama (ovo ne radi ako koristite innodb tabele)
- podignete DRBD + HA u master master rezimu (replikacija diskova)
- formatirate DRBD particiju nekim klastering filesistemom (na primer gfs2)
- podignete na ta dva drbd noda mysql "bez innodb-a"
- upalite myisam external locking i stavite data dir da pokazuje na onaj fgs2
voila, imate iste podatke na dva mysql-a, mana - nemate transakcije, strane kljuceve ... dakle myisam only
--
ako koristite innodb tabele, 70-80% raspolozive memorije potrosite na innodb_buffer_pool
--
nemojte koristiti query_cache veci od par megabajta ako imate dosta upisa u bazu, pri svakoj promeni podataka query cache mora da se invalidatizuje, na velikom query_cache-u to moze da bude veca "dara nego mera"
--
procitajte sta i kako radi memcached
--
za storage system ... generalno, raid + battery backup up cache, mnogo spindlova, nekoliko lunova ... data i log na razlicite lunove
--
cak i ako nemate raid, data i log stavite na razlicite fizicke diskove
--
mysql podrzava incremental backup tako sto se za "incremental" deo koristi binlog... ako vam crkne disk, mala vajda od tog binloga koji je crkao zajedno sa podacima :( ... koristite DRBD za "replikaciju hard diska" i binlog stavite na tu particiju
--
mysql high availability resenje za "male pare" .. znamo da master master replikacija ima svoje mane, jednostavna "sinhrona" replikacija za mysql moze da se izvede sa myisam tabelama (ovo ne radi ako koristite innodb tabele)
- podignete DRBD + HA u master master rezimu (replikacija diskova)
- formatirate DRBD particiju nekim klastering filesistemom (na primer gfs2)
- podignete na ta dva drbd noda mysql "bez innodb-a"
- upalite myisam external locking i stavite data dir da pokazuje na onaj fgs2
voila, imate iste podatke na dva mysql-a, mana - nemate transakcije, strane kljuceve ... dakle myisam only
--
ako koristite innodb tabele, 70-80% raspolozive memorije potrosite na innodb_buffer_pool
--
nemojte koristiti query_cache veci od par megabajta ako imate dosta upisa u bazu, pri svakoj promeni podataka query cache mora da se invalidatizuje, na velikom query_cache-u to moze da bude veca "dara nego mera"
--
procitajte sta i kako radi memcached
Re: MySQL - best practice