Skip to main content

Hva er en multi-master replikasjon?

Multi-master replikasjon er en teknikk som brukes av databaseadministrasjonsprogramvare, slik at flere kopier av en enkelt database lagret på forskjellige datamaskiner kan brukes og oppdateres av mange brukere på en de-sentralt måte.Når det gjøres en endring i en database som bruker multi-master-replikering, overføres endringen som gjøres til alle andre datamaskiner i nettverket, slik at alle kopier av databasen som brukes blir oppdatert.Noen fordeler med et multi-master replikasjonsoppsett inkluderer overflødige sikkerhetskopieringer og en de-sentralt arkitektur der oppdateringer til kopier av en database kan opprettholdes selv om en av datamaskinene i nettverket slutter å fungere.Uten et enkelt tildelt mastersystem, som tilfellet er i master-slavearkitektur, kan endringer og administrative kommandoer for å kontrollere databasen utstedes fra noen av multimesterterminalene i nettverket i stedet for å stole på bare en fysisk terminal.Den største komplikasjonen som kan oppstå ved bruk av et replikeringssystem med flere mester innebærer å oppdatere alle systemer raskt nok til at data forblir synkronisert til enhver tid over nettverket.

Begrepet multi-master stammer fra den mer grunnleggende metoden for master-Slave replikasjon, der en enkelt terminal er utpekt som mesteren.I en master-slave-situasjon er det bare en enkelt mester som er i stand til å oppdatere informasjon om slavestasjonene.Et replikasjonssystem for flere mester har flere systemer utpekt som mestere, og hver master kan bare være ansvarlig for seg selv eller kan ha ansvaret for en rekke datamaskiner kjent som en replikasjonsgruppe.Med flere mestere kan ethvert mastersystem sette i gang en endring i alle andre mastersystemer, noe som potensielt kan føre til veldig komplekse nettverksinteraksjoner i veldig store systemer.

Det er to former for multimesterreplikasjon, den første er synkron replikasjon.Synkron replikasjonsfunksjoner ved å oppdatere i sanntid alle kopier av en database hver gang en endring blir gjort.Dette fjerner de fleste situasjoner som kan oppstå når data ikke synkroniseres over nettverket, men det skaper en enorm mengde nettverkstrafikk og kan kreve en stor mengde prosesseringskraft for å implementere i et større system.Av disse grunner brukes synkron replikasjon først og fremst i nettverk der det bare er en håndfull master-datamaskiner.

Den andre typen multimesterreplikasjon er asynkron replikasjon.I stedet for å oppdatere systemer når en endring gjøres, lagres endringer i en database som hendelser på hvert system, og disse endringene brukes enten når en hendelse utløses eller i planlagte oppdateringsperioder.Dette betyr at mindre nettverksbåndbredde og prosesseringskraft brukes, men det øker sjansene for at to brukere på et tidspunkt kan forsøke å endre den samme informasjonen på motstridende måter på grunn av forsinkelsen i oppdatering eller latens.De fleste distribuerte databasestyringssystemer bruker asynkron replikasjon på grunn av den lave mengden ressurser som konsumeres i forhold til synkron multi-master replikasjon.