Kaj je večglavna replikacija?

Replikacija z več glavnimi je tehnika, ki jo uporablja programska oprema za upravljanje baz podatkov, tako da lahko številni uporabniki na decentraliziran način uporabljajo in posodabljajo več kopij ene baze podatkov, shranjene v različnih računalnikih. Ko se izvede sprememba v bazi podatkov, ki uporablja podvajanje z več glavnimi, se opravljena sprememba prenese na vse druge računalnike v omrežju, tako da se posodobijo vse uporabljene kopije baze podatkov. Nekatere prednosti nastavitve replikacije z več glavnimi vključujejo odvečne varnostne kopije podatkov in decentralizirano arhitekturo, v kateri je mogoče vzdrževati posodobitve kopij baze podatkov, tudi če eden od računalnikov v omrežju preneha delovati. Brez enega samega dodeljenega glavnega sistema, kot je to v arhitekturi master-slave, se lahko spremembe in administrativni ukazi za nadzor baze podatkov izdajo s katerega koli od večglavnih terminalov v omrežju, namesto da bi se zanašali samo na en fizični terminal. Največji zaplet, ki se lahko pojavi pri uporabi sistema za replikacijo z več glavnimi, vključuje dovolj hitro posodabljanje vseh sistemov, tako da ostanejo podatki ves čas sinhronizirani v omrežju.

Izraz “multi-master” izhaja iz bolj osnovne metode replikacije master-slave, pri kateri je en sam terminal označen kot glavni. V situaciji nadrejeni-podrejeni je samo en glavni sposoben posodobiti informacije o podrejenih pogonih. Sistem za replikacijo z več glavnimi ima več sistemov, ki so označeni kot glavni in vsak glavni je lahko odgovoren samo zase ali pa je lahko zadolžen za več računalnikov, znanih kot skupina za podvajanje. Z več glavnimi sistemi lahko vsak glavni sistem sproži spremembo vseh drugih glavnih sistemov, kar lahko vodi do zelo zapletenih omrežnih interakcij v zelo velikih sistemih.

Obstajata dve obliki replikacije z več glavnimi, prva je sinhrona podvajanje. Sinhrona replikacija deluje tako, da v realnem času posodablja vse kopije baze podatkov vsakič, ko se izvede sprememba. To odstrani večino situacij, ki se lahko pojavijo, ko podatki niso sinhronizirani po omrežju, vendar ustvari ogromno omrežnega prometa in lahko zahteva veliko procesorsko moč za implementacijo v večji sistem. Zaradi teh razlogov se sinhrono podvajanje uporablja predvsem v omrežjih, kjer je le nekaj glavnih računalnikov.

Druga vrsta podvajanja z več glavnimi je asinhrona replikacija. Namesto posodabljanja sistemov ob vsaki spremembi se spremembe v bazi podatkov shranijo kot dogodki v vsakem sistemu in te spremembe se uporabijo bodisi, ko se dogodek sproži ali med načrtovanimi obdobji posodabljanja. To pomeni, da se uporablja manj pasovne širine omrežja in procesorske moči, vendar poveča možnosti, da bi dva uporabnika na neki točki poskušala spremeniti iste informacije na nasprotujoče si načine zaradi zamude pri posodabljanju ali zakasnitve. Večina porazdeljenih sistemov za upravljanje baz podatkov uporablja asinhrono podvajanje zaradi nizke količine porabljenih virov v primerjavi s sinhronim podvajanjem z več glavnimi.