Novi google patch – globalni transakcioni id

Novi google patch koji ce biti prezentovan na MySQL korisnickoj konferenciji donosi “global transaction ID”
Ovaj patch omogucava dva nacina za lagan slave failover a maste-master failover moze biti kompletno automatizovan.
Slave failover je proces gde iz sistema uklanjamo master a server i novi server (najcesce neki koji je do tada bio slave) postavljamo za master. Ako je ovo planirana izmena onda ovo moze da se izvede sa jako malim prekidom u radu, ali ako je ovo ne planirana akcija – onda to uopste nije tako jednostavno. Slave cuva ime binlog fajla i poziciju sa masterovog binloga da bi znao dokle je stigao, kada novi server postane master ta informacija postaje “pogresna” na svim slave serverima kojima se promenio master.

Par resenja:

Nijedno od ovih resenja nije idealno i jedan od nacina da se to resi je implementacija global transaction id-a.

sa global transaction id-evima, svaki binlog event dobija “globalni id” koji je 64bitni integer koji se inkrementira za svaku grupu binlog evenata i odrzava se prilikom failovera. Slave serveri cuvaju pored binlog fajla i ofseta i global id. Prilikom failover-a slave server moze da se konektuje na novi master koristeci global id – ovo ne zahteva manualni rad i resava jedan od problema.

Slave serveri koje zelimo da u buducnosti potencijalno promovisemo u mastere treba da trce sa “log-slave-updates” opcijom kako bi cuvali binlog evente primljene sa mastera u svom binlog-u. Ovi eventi su sacuvani zajedno sa global id-om sa mastera. Ako se desi master failover, novi master ima binlog evente sa starog mastera sa global id-om sa starog mastera. Samim tim slave server koji kasni moze da se okaci na novi master i pokupi evente koji nije stigao da pokupi. Ovo resava i drugi problem.

Konacno, bekap napravljen sa starog mastera moze biti vracen koristenjem novog mastera ako bekap ukljucuje i globalni id starog mastera. SHOW MASTER STATUS je promenjen da prikazuje i tu informaciju.

VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)
Novi google patch - globalni transakcioni id, 10.0 out of 10 based on 3 ratings
March 12, 2009 • Tags: , , • Posted in: Razno, Support

Leave a Reply