Mikä on Multi-Master-replikointi?

Monen isännän replikointi on tekniikka, jota käytetään tietokannan hallintaohjelmistossa, joten monet käyttäjät voivat käyttää ja päivittää useita eri tietokoneisiin tallennettuja yhden tietokannan kopioita hajautetusti. Kun muutos tehdään tietokantaan, joka käyttää monen isännän replikointia, tehty muutos lähetetään kaikille muille verkon tietokoneille, joten kaikki käytettävän tietokannan kopiot päivitetään. Joitakin monen isäntäreplikaation määrityksen etuja ovat tarpeettomat varmuuskopiot ja hajautettu arkkitehtuuri, jossa tietokannan kopioiden päivitykset voidaan säilyttää, vaikka jokin verkon tietokoneista lakkaa toimimasta. Ilman yhtä osoitettua isäntäjärjestelmää, kuten master-slave-arkkitehtuurissa, tietokannan ohjaamiseen tarvittavat muutokset ja hallinnolliset komennot voidaan antaa mistä tahansa verkon monen isäntäpäätelaitteen sijasta vain yhteen fyysiseen päätelaitteeseen. Suurin komplikaatio, joka voi ilmetä usean isännän replikointijärjestelmän käytön yhteydessä, on kaikkien järjestelmien päivittäminen riittävän nopeasti, jotta tiedot pysyvät synkronoituna koko verkon ajan.

Termi “monen isännän” juontaa juurensa perus-isäntä-orja replikoinnin perusmenetelmästä, jossa yksi päätelaite on nimetty isäntänä. Isäntä-orja-tilanteessa vain yksi isäntä pystyy päivittämään orja-asemien tiedot. Monen isännän replikointijärjestelmässä on useita järjestelmiä, jotka on nimetty päälliköiksi, ja jokainen isäntä saattaa olla vastuussa vain itsestään tai se voi olla vastuussa useista tietokoneista, jotka tunnetaan replikointiryhmänä. Useiden isäntien kanssa mikä tahansa pääjärjestelmä voi aloittaa muutoksen kaikkiin muihin pääjärjestelmiin, mikä voi johtaa erittäin monimutkaisiin verkkointeraktioihin erittäin suurissa järjestelmissä.

Useita isäntäreplikaatioita on kaksi, joista ensimmäinen on synkroninen replikointi. Synkroninen replikointi toimii päivittämällä kaikki tietokannan kopiot reaaliajassa joka kerta, kun muutos tehdään. Tämä poistaa useimmat tilanteet, joita voi ilmetä, kun tietoja ei synkronoida verkon yli, mutta se luo valtavan määrän verkkoliikennettä ja saattaa vaatia paljon prosessointitehoa suuremman järjestelmän toteuttamiseen. Näistä syistä synkronista replikointia käytetään ensisijaisesti verkoissa, joissa on vain kourallinen pääkoneita.

Toinen monen isäntäreplikaation tyyppi on asynkroninen replikointi. Sen sijaan, että päivitettäisiin järjestelmiä aina, kun muutos tehdään, tietokantaan tehdyt muutokset tallennetaan tapahtumiksi kussakin järjestelmässä, ja muutokset otetaan käyttöön joko tapahtuman käynnistyttyä tai aikataulun mukaisten päivitysjaksojen aikana. Tämä tarkoittaa, että verkon kaistanleveyttä ja prosessointitehoa käytetään vähemmän, mutta se lisää mahdollisuuksia, että kaksi käyttäjää saattavat jossain vaiheessa yrittää muuttaa samoja tietoja ristiriitaisilla tavoilla päivityksen viiveen tai viiveen vuoksi. Useimmat hajautetut tietokantojen hallintajärjestelmät käyttävät asynkronista replikointia, koska resursseja kulutetaan vähän verrattuna synkroniseen monen isäntäreplikoinnin.