Što je multi-master replikacija?

Multi-master replikacija je tehnika koju koristi softver za upravljanje bazom podataka tako da višestruke kopije jedne baze podataka pohranjene na različitim računalima mogu koristiti i ažurirati mnogi korisnici na decentraliziran način. Kada se napravi promjena u bazi podataka koja koristi multi-master replikaciju, promjena koja je napravljena prenosi se na sva druga računala na mreži tako da se ažuriraju sve kopije baze podataka koja se koristi. Neke prednosti postava višeglavne replikacije uključuju redundantne sigurnosne kopije podataka i decentraliziranu arhitekturu u kojoj se ažuriranja kopija baze podataka mogu održavati čak i ako jedno od računala u mreži prestane funkcionirati. Bez jednog dodijeljenog glavnog sustava, kao što je slučaj u arhitekturi master-slave, promjene i administrativne naredbe za kontrolu baze podataka mogu se izdati s bilo kojeg od multi-master terminala unutar mreže umjesto da se oslanjaju na samo jedan fizički terminal. Najveća komplikacija koja se može dogoditi s korištenjem sustava replikacije s više glavnih računala uključuje ažuriranje svih sustava dovoljno brzo kako bi podaci ostali sinkronizirani cijelo vrijeme u cijeloj mreži.

Izraz “multi-master” proizlazi iz bazičnije metode replikacije master-slave, u kojoj se jedan terminal označava kao glavni. U situaciji master-slave, samo jedan master je sposoban ažurirati informacije na slave pogonima. Sustav višeglavne replikacije ima više sustava označenih kao master i svaki master može biti odgovoran samo za sebe ili može biti zadužen za broj računala poznatih kao replikacijska grupa. S višestrukim glavnim sustavima, svaki glavni sustav može pokrenuti promjenu na svim ostalim glavnim sustavima, što potencijalno dovodi do vrlo složenih mrežnih interakcija u vrlo velikim sustavima.

Postoje dva oblika multi-master replikacije, prva je sinkrona replikacija. Sinkrona replikacija funkcionira ažuriranjem u stvarnom vremenu svih kopija baze podataka svaki put kada se napravi promjena. Time se uklanja većina situacija koje se mogu dogoditi kada podaci nisu sinkronizirani preko mreže, ali stvara ogromnu količinu mrežnog prometa i može zahtijevati veliku količinu procesorske snage za implementaciju u veći sustav. Iz tih razloga, sinkrona replikacija prvenstveno se koristi u mrežama gdje postoji samo nekoliko glavnih računala.

Druga vrsta multi-master replikacije je asinkrona replikacija. Umjesto ažuriranja sustava kad god se napravi promjena, promjene u bazi podataka pohranjuju se kao događaji na svakom sustavu, a te se promjene primjenjuju bilo kada se događaj pokrene ili tijekom planiranih razdoblja ažuriranja. To znači da se koristi manje propusnosti mreže i procesorske snage, ali povećava šanse da će dva korisnika u nekom trenutku pokušati promijeniti iste informacije na proturječne načine zbog kašnjenja u ažuriranju ili kašnjenja. Većina distribuiranih sustava upravljanja bazama podataka koristi asinkronu replikaciju zbog male količine resursa koji se troše u usporedbi sa sinkronom multi-master replikacijom.