E ovako...
U jednoj od prethodnih tema, gde sam pomenuo bekap onako usput, Bogdan mi predloži da otvorim novu, kako bismo mogli razmeniti iskustva i mišljenja.
Naime, aplikacije radim na .net platformi, DB usvek naslanjam na MySQL server (PostgreSQL i MS SQL, samo ako je postojeća baza već na tim serverima). Access izbegavam i neću da radim sa njim. Ne mogu da kažem da to nije baza podataka, jer po definiciji "Baza podataka je organizovan (ili neorganizovan) skup podataka na jednom mestu". Stoga nije greška reći i da je skup .txt fajlova u jednom folderu baza podataka, jer to zaista i jeste baza podataka, ali nije relaciona. Ali zato jeste smeće!
Nego, u okviru smo MySQL podforuma, ja u 95% slučajeva koristim MySQL kao DB server, pa da se vratimo na zadatu temu.
Elem, većinom (gde god i kad god je to moguće), server se vrti na nekoj Linux mašini, klijent računari su na Win OS i nešto se ne sećam da imam bilo gde manje od pet mašina.
Do skoro (tačnije do pre nekih godinu i po', dve), bekap sam radio isključivo preko mysqldump, ali sam nailazio na sledeće probleme:
- minimum 5 klijent mašina, svaka minimum 30-ak puta u okviru sata odradi neki INSERT ili UPDATE (150 novih upisa ili izmena u bazi na sat vremena). Select me u ovoj priči oko bekapa i gubitka podataka ne interesuje.
- moram da radim bekap minimum svakog sata. Nije frka ako se desi neki kreš, pa uradim restore i izgubim podatke u poslednjih 15 - 30 minuta. Korisnik će ih uneti ponovo. Ali je problem za one klijent aplikacije koje kontrolišu PIC-ove, merne uređaje i slično i koje zapisuju vrednosti u realnom vremenu... Ti podaci se ne vratiše više nikada i onda izgubih konzistentnost podataka u bazi za taj period od par minuta.
- radim bekap preko mysqldump, i imam LOCK baze na par sekundi/minuta. Nije problem za korisnika. Aplikacija "osluškuje" server baze i samu bazu, pošalje korisniku poruku i on zna (naučen iskustvom) da mora da sačeka sa radom par sekundi/minuta. Problem je sa onim aplikacijama koje komuniciraju sa uređajima, te moram da lovim na Try/Catch kroz aplikaciju i rešavam problem na drugi način (nebitan u ovoj temi i ovom podforumu), kako bih po otključavanju snimio/ažurirao podatke po tabelama.
Znam da će se neko naći i reći da je najbolja opcija dva (ili više) servera, VM, replikacija.
Naravno da jeste, ali ovo su "niskobudžetna" rešenja, firme u kojima je rešenje implementirano ne bi ni primetile jaz jednom, ili dva puta godišnje od 15/30 min., a i da primete, ne bi ih tangiralo ni sekunde! Stoga, ne žele da se isprse, a realno - ne treba im!
Samo na jednom mestu imam tri servera (master/slave + backup) + storage (8 HDDova na 15K + spare HDD - sve to na RAID 60) + VM. Bilo (jako) potrebno, gubitak podataka značio katastrofu firmi od par desetina (možda i više) hiljada EUR i opet 3,14čke jedva nagovorio da se opruže...
Ali, gubitak podataka u ostalim firmama se dotiče mene, jer sam picajzla po tom pitanju! Mogao sam jednostavno reći aplikacijama da ignorišu i (eventualni) zastoj i Lock-ove i podatke koje su prikupile i spremile za unos, ali ne želim...
Neću to da radim! Hoću da radim bez ometanja! Hoću da imam sve podatke!
Čujem pre godinu/dve za Perkonin xtrabackup. Radi savršeno, bez problema - bekapujem kad 'oću i šta 'oću bez zaključavanja baze i ometanja rada.
Elem, Bogdan mi je u prethodnom postu napisao sledeće. Citiram:
Kako ne bih otišao na ekskurziju na prethodnoj temi, jer tamo o tome nije bilo reči, nisam ti ni odgovorio. Naime, kako sam to rešio:
xtrabackup mi završava svakog sata backup, a mysqldump mi se okida svakog 1. i 15. u 00:00:01. Što ti reče, nije zgoreg imati i malo logike! Barem dva puta mesečno (neka se nađe, zlu ne trebalo)! ;)
E sada... Da se konačno dotaknem i teme:
- xtrabackup vs. nešto vs. nešto drugo vs. ...
- mysqldump vs. nešto vs. nešto drugo vs. ...
- ostalo
Kako vi to radite, kako bi vi to radili da su vam odobreni veći budžeti? Koliko je dobro, loše, sigurno, nesigurno?
Ja sam rekao kako ja sada radim backup. Koliko je to dobro/loše, pametno/glupo, sigurno/nesigurno?
Pitanja se odnose i na jednu server mašinu i na više mašina sa sve replikacijom...
Nadam se da će tema zaživeti, jer ovo interesuje mnoge.
U jednoj od prethodnih tema, gde sam pomenuo bekap onako usput, Bogdan mi predloži da otvorim novu, kako bismo mogli razmeniti iskustva i mišljenja.
Naime, aplikacije radim na .net platformi, DB usvek naslanjam na MySQL server (PostgreSQL i MS SQL, samo ako je postojeća baza već na tim serverima). Access izbegavam i neću da radim sa njim. Ne mogu da kažem da to nije baza podataka, jer po definiciji "Baza podataka je organizovan (ili neorganizovan) skup podataka na jednom mestu". Stoga nije greška reći i da je skup .txt fajlova u jednom folderu baza podataka, jer to zaista i jeste baza podataka, ali nije relaciona. Ali zato jeste smeće!
Nego, u okviru smo MySQL podforuma, ja u 95% slučajeva koristim MySQL kao DB server, pa da se vratimo na zadatu temu.
Elem, većinom (gde god i kad god je to moguće), server se vrti na nekoj Linux mašini, klijent računari su na Win OS i nešto se ne sećam da imam bilo gde manje od pet mašina.
Do skoro (tačnije do pre nekih godinu i po', dve), bekap sam radio isključivo preko mysqldump, ali sam nailazio na sledeće probleme:
- minimum 5 klijent mašina, svaka minimum 30-ak puta u okviru sata odradi neki INSERT ili UPDATE (150 novih upisa ili izmena u bazi na sat vremena). Select me u ovoj priči oko bekapa i gubitka podataka ne interesuje.
- moram da radim bekap minimum svakog sata. Nije frka ako se desi neki kreš, pa uradim restore i izgubim podatke u poslednjih 15 - 30 minuta. Korisnik će ih uneti ponovo. Ali je problem za one klijent aplikacije koje kontrolišu PIC-ove, merne uređaje i slično i koje zapisuju vrednosti u realnom vremenu... Ti podaci se ne vratiše više nikada i onda izgubih konzistentnost podataka u bazi za taj period od par minuta.
- radim bekap preko mysqldump, i imam LOCK baze na par sekundi/minuta. Nije problem za korisnika. Aplikacija "osluškuje" server baze i samu bazu, pošalje korisniku poruku i on zna (naučen iskustvom) da mora da sačeka sa radom par sekundi/minuta. Problem je sa onim aplikacijama koje komuniciraju sa uređajima, te moram da lovim na Try/Catch kroz aplikaciju i rešavam problem na drugi način (nebitan u ovoj temi i ovom podforumu), kako bih po otključavanju snimio/ažurirao podatke po tabelama.
Znam da će se neko naći i reći da je najbolja opcija dva (ili više) servera, VM, replikacija.
Naravno da jeste, ali ovo su "niskobudžetna" rešenja, firme u kojima je rešenje implementirano ne bi ni primetile jaz jednom, ili dva puta godišnje od 15/30 min., a i da primete, ne bi ih tangiralo ni sekunde! Stoga, ne žele da se isprse, a realno - ne treba im!
Samo na jednom mestu imam tri servera (master/slave + backup) + storage (8 HDDova na 15K + spare HDD - sve to na RAID 60) + VM. Bilo (jako) potrebno, gubitak podataka značio katastrofu firmi od par desetina (možda i više) hiljada EUR i opet 3,14čke jedva nagovorio da se opruže...
Ali, gubitak podataka u ostalim firmama se dotiče mene, jer sam picajzla po tom pitanju! Mogao sam jednostavno reći aplikacijama da ignorišu i (eventualni) zastoj i Lock-ove i podatke koje su prikupile i spremile za unos, ali ne želim...
Neću to da radim! Hoću da radim bez ometanja! Hoću da imam sve podatke!
Čujem pre godinu/dve za Perkonin xtrabackup. Radi savršeno, bez problema - bekapujem kad 'oću i šta 'oću bez zaključavanja baze i ometanja rada.
Elem, Bogdan mi je u prethodnom postu napisao sledeće. Citiram:
Citat:
bekap - meb je ubedljivo najbolje resenje, xtrabackup je takodje
odlican, jednom nedeljno uradi i mysqldump, vrlo je zgodno imati i
logicki a ne samo binarni bekap..
odlican, jednom nedeljno uradi i mysqldump, vrlo je zgodno imati i
logicki a ne samo binarni bekap..
Kako ne bih otišao na ekskurziju na prethodnoj temi, jer tamo o tome nije bilo reči, nisam ti ni odgovorio. Naime, kako sam to rešio:
xtrabackup mi završava svakog sata backup, a mysqldump mi se okida svakog 1. i 15. u 00:00:01. Što ti reče, nije zgoreg imati i malo logike! Barem dva puta mesečno (neka se nađe, zlu ne trebalo)! ;)
E sada... Da se konačno dotaknem i teme:
- xtrabackup vs. nešto vs. nešto drugo vs. ...
- mysqldump vs. nešto vs. nešto drugo vs. ...
- ostalo
Kako vi to radite, kako bi vi to radili da su vam odobreni veći budžeti? Koliko je dobro, loše, sigurno, nesigurno?
Ja sam rekao kako ja sada radim backup. Koliko je to dobro/loše, pametno/glupo, sigurno/nesigurno?
Pitanja se odnose i na jednu server mašinu i na više mašina sa sve replikacijom...
Nadam se da će tema zaživeti, jer ovo interesuje mnoge.
Potpis
Some people, when confronted with a problem, think: "I know, I'll use regular expressions."
Now they have two problems!
-Jamie Zawinsky
Now they have two problems!
-Jamie Zawinsky

