Pozdrav svima.
U prethodnom periodu ispobavao sam razne opcije mysqlq backup-a i u nastavku su solucije na osnovu kako tudjih tako i mojih iskustava i testiranja.
SQL Backup:
1. mysqldump - standardni mysql backup klijent. Generise prenosivi SQL backup koji je prenosiv kroz razlicite platforme i kroz opcije upotrebljiv i u razlicitim DB sistemima (Oracle, MS SQL,..). Idealan za automatizaciju i skriptovanje (cron jobovi, kompresija, enkripcija, automatski error report, bekap pojedinacbih db objekata - baza, tabela, sp, db seme,...). Po mom misljenju dosta je brz i idealan za male i srednje baze do nekih 3, 4, 5GB zavisno od strukture baze.
Glavni nedostatak sto brzina opada nelinerano sa povecanjem velicine baze i samim se povecava lock i vreme tokom kojeg je baza neupotrebljiva za rad. Restore bekapa napravljenog na ovaj nacin za baze preko 15GB traje u beskonacnost - 3,4,..10 dana, ako ne pukne u nekom momentu. Veliki nedostatak nepostajanje incremental bekapa. Pretpostavljam da ce neka buduca verzija imati tu mogucnost.
2. MyDumper - nakon saveta sa ovog foruma da probam mydumper i nakon probanja istog napisao sam - ludo i brzo! Odlicna skripta/tool. U sustini radi isto sto i mysqldump samo u paralelnim threadovima, sto za posledicu ima mnoooogo brzi backup i kasniji restore. Backup baze od 25GB je bio brzi nekih 5x, a kasnije restore preko mydumper-a cak nekih skoro 10x! Sve prednosti standardnog mysqldumpa-a vaze i za MyDumper - cisti SQL bakup, skriptovanje...
Buduca verzija mysqldumpa obavezno bi trebala da ima opciju paralelnog backupa.
Jedina mana meni licno sto ne znam sta je ispod i nemogucnost detaljnog podesavanja opcija kao kod mysqldump-a. Koristi se skoro default podesavanja opcija i u zavisnosti od vrste tabele skripta mydumper sprovodi svoj definisani backup tip. Doduse mogao sam da pogledam i u kod pa da znam tacno kako radi kada :) ali...
Standardne mane su nedostatak increment bekapa, lock.
Ostale skripte ili GUI (Workbench, YOG, Heidi) su po meni ili ispod nivoa gore navedenih ili jednostavno suvisni kada imas mysqldump ili mydumper. Tu su i maatkit skripte za paralelni backup/restore ali koje se vise ne razvijaju (pretstavljaju izvorni mydumper-a i razvijaju se preko njega).
Fizicki Backup
1. Standardan fizicki backup - obaranje mysql, fizicko kopiranje datadir, startovanje mysql. Brzi nego standardan SQL backup ali prakticno nije za razmatranje zbog stopiranja mysql tokom kopiranja, osim za neke specificne situacije. Prenosiv kroz razne OS/HW kombinacije uz neka ogranicenja. Preporucljivo da se datadir migrira na istu verziju mysql. Izvedenja resenja ispod su mnogo bolja.
2. Percona Xtrabackup/innobackupex skripte. Open source tool koji omogucuje no-locking backup (Innodb), incremental (takodje samo za InnoDB), kompresiju itd. Kao i svaki fizicki backup brzi je od SQL backupa, omogucuje i backup MyISAM tabela uz neophodan lock. Lak za koriscenje i veoma dobro dokumentovan. Skripta innobackupex koja je wrapper za Xtrabackup skriptu, ima isti deo open source koda kao i innodb backup skripta komercijalnog mysql enterprise backupa (u Perconi tvrde da nisu bas zadovoljni innobackupex skriptom i da ce biti modifikovana/zamenjena skoro itd).
Cini se kao odlicno resenje i jos free. Nisam siguran da li osim InnoDB, MyISAM uz Perconin XtraDB podrzava jos neki storage engine. Takodje po Perconi ima isti princip/mogucnosti kao Mysql Enterpise Backup a u nekom segmentima prevazilazi MEB (ako je verovati). Backup je preko 2x brzi nego klasican mysqldump za bazu velicine 4GB i RAM od 1GB, bez lokovanja ili uz neprimetan lock (samo 3% tabela su bile myisam ukljucujuci i sistemsku).
3. Mylvmbackup - radi snapshot datadir koji je na LVM particiji. Cini se takodje kao veoma dobro resenje ali nisam testirao. Dalje citajuci tudja iskustva sa Mylvmbackup/LVM vidim da ima mnogo podeljenih misljenja ukljucujuci i na ovom fourmu. Sto se mene tice najupecatljivije mi je sto sam tek skoro procitao da LVM moze da
izazove i/o usporenje od 5 - 20%. Tako da, ne znajuci za skrivene mane Xtrabackup :), to mi deluje kao mnogo bolja solucija od Mylvmbackup.
4. MySQL Enterprise hot backup. Verovatno najbolje resenje koje postoji. Planiram da uskoro skinem mysql enterpise server uz sve dodatke i malo se poigram neki mesec, dva. Koliko vec Oracle dozvoljava :).
Naravno uz sve gore kombinacije, narocito za SQL dump idealna je replikacija i backup sa slave servera.
Mali off.
Oracle je prvi put otkako je preuzeo SUN/MySQL zvanicno izbacio tri knjige za MySQL: SQL query optimization, MySQL backup/restore i certification guide za sve mysql certifikacije. Sto moze da znaci da imaju ozbiljnijih planova sa Mysql nego do sada, a i ne mora da znaci nista :).
Pozdrav
U prethodnom periodu ispobavao sam razne opcije mysqlq backup-a i u nastavku su solucije na osnovu kako tudjih tako i mojih iskustava i testiranja.
SQL Backup:
1. mysqldump - standardni mysql backup klijent. Generise prenosivi SQL backup koji je prenosiv kroz razlicite platforme i kroz opcije upotrebljiv i u razlicitim DB sistemima (Oracle, MS SQL,..). Idealan za automatizaciju i skriptovanje (cron jobovi, kompresija, enkripcija, automatski error report, bekap pojedinacbih db objekata - baza, tabela, sp, db seme,...). Po mom misljenju dosta je brz i idealan za male i srednje baze do nekih 3, 4, 5GB zavisno od strukture baze.
Glavni nedostatak sto brzina opada nelinerano sa povecanjem velicine baze i samim se povecava lock i vreme tokom kojeg je baza neupotrebljiva za rad. Restore bekapa napravljenog na ovaj nacin za baze preko 15GB traje u beskonacnost - 3,4,..10 dana, ako ne pukne u nekom momentu. Veliki nedostatak nepostajanje incremental bekapa. Pretpostavljam da ce neka buduca verzija imati tu mogucnost.
2. MyDumper - nakon saveta sa ovog foruma da probam mydumper i nakon probanja istog napisao sam - ludo i brzo! Odlicna skripta/tool. U sustini radi isto sto i mysqldump samo u paralelnim threadovima, sto za posledicu ima mnoooogo brzi backup i kasniji restore. Backup baze od 25GB je bio brzi nekih 5x, a kasnije restore preko mydumper-a cak nekih skoro 10x! Sve prednosti standardnog mysqldumpa-a vaze i za MyDumper - cisti SQL bakup, skriptovanje...
Buduca verzija mysqldumpa obavezno bi trebala da ima opciju paralelnog backupa.
Jedina mana meni licno sto ne znam sta je ispod i nemogucnost detaljnog podesavanja opcija kao kod mysqldump-a. Koristi se skoro default podesavanja opcija i u zavisnosti od vrste tabele skripta mydumper sprovodi svoj definisani backup tip. Doduse mogao sam da pogledam i u kod pa da znam tacno kako radi kada :) ali...
Standardne mane su nedostatak increment bekapa, lock.
Ostale skripte ili GUI (Workbench, YOG, Heidi) su po meni ili ispod nivoa gore navedenih ili jednostavno suvisni kada imas mysqldump ili mydumper. Tu su i maatkit skripte za paralelni backup/restore ali koje se vise ne razvijaju (pretstavljaju izvorni mydumper-a i razvijaju se preko njega).
Fizicki Backup
1. Standardan fizicki backup - obaranje mysql, fizicko kopiranje datadir, startovanje mysql. Brzi nego standardan SQL backup ali prakticno nije za razmatranje zbog stopiranja mysql tokom kopiranja, osim za neke specificne situacije. Prenosiv kroz razne OS/HW kombinacije uz neka ogranicenja. Preporucljivo da se datadir migrira na istu verziju mysql. Izvedenja resenja ispod su mnogo bolja.
2. Percona Xtrabackup/innobackupex skripte. Open source tool koji omogucuje no-locking backup (Innodb), incremental (takodje samo za InnoDB), kompresiju itd. Kao i svaki fizicki backup brzi je od SQL backupa, omogucuje i backup MyISAM tabela uz neophodan lock. Lak za koriscenje i veoma dobro dokumentovan. Skripta innobackupex koja je wrapper za Xtrabackup skriptu, ima isti deo open source koda kao i innodb backup skripta komercijalnog mysql enterprise backupa (u Perconi tvrde da nisu bas zadovoljni innobackupex skriptom i da ce biti modifikovana/zamenjena skoro itd).
Cini se kao odlicno resenje i jos free. Nisam siguran da li osim InnoDB, MyISAM uz Perconin XtraDB podrzava jos neki storage engine. Takodje po Perconi ima isti princip/mogucnosti kao Mysql Enterpise Backup a u nekom segmentima prevazilazi MEB (ako je verovati). Backup je preko 2x brzi nego klasican mysqldump za bazu velicine 4GB i RAM od 1GB, bez lokovanja ili uz neprimetan lock (samo 3% tabela su bile myisam ukljucujuci i sistemsku).
3. Mylvmbackup - radi snapshot datadir koji je na LVM particiji. Cini se takodje kao veoma dobro resenje ali nisam testirao. Dalje citajuci tudja iskustva sa Mylvmbackup/LVM vidim da ima mnogo podeljenih misljenja ukljucujuci i na ovom fourmu. Sto se mene tice najupecatljivije mi je sto sam tek skoro procitao da LVM moze da
izazove i/o usporenje od 5 - 20%. Tako da, ne znajuci za skrivene mane Xtrabackup :), to mi deluje kao mnogo bolja solucija od Mylvmbackup.
4. MySQL Enterprise hot backup. Verovatno najbolje resenje koje postoji. Planiram da uskoro skinem mysql enterpise server uz sve dodatke i malo se poigram neki mesec, dva. Koliko vec Oracle dozvoljava :).
Naravno uz sve gore kombinacije, narocito za SQL dump idealna je replikacija i backup sa slave servera.
Mali off.
Oracle je prvi put otkako je preuzeo SUN/MySQL zvanicno izbacio tri knjige za MySQL: SQL query optimization, MySQL backup/restore i certification guide za sve mysql certifikacije. Sto moze da znaci da imaju ozbiljnijih planova sa Mysql nego do sada, a i ne mora da znaci nista :).
Pozdrav