Skip to main content

Hvad er en multi-master replikation?

Multi-master-replikation er en teknik, der anvendes af databasestyringssoftware, så flere kopier af en enkelt database, der er gemt på forskellige computere, kan bruges og opdateres af mange brugere på en de-centraliseret måde.Når der foretages en ændring til en database, der bruger multi-master-replikation, overføres den ændring, der foretages, til alle andre computere på netværket, så alle kopier af den anvendte database opdateres.Nogle fordele ved en multi-master-replikationsopsætning inkluderer overflødige data-sikkerhedskopier og en de-centraliseret arkitektur, hvor opdateringer til kopier af en database kan opretholdes, selvom en af computere i netværket ophører med at fungere.Uden et enkelt tildelt master-system, som det er tilfældet i master-slave-arkitektur, kan ændringer og administrative kommandoer til at kontrollere databasen udstedes fra en hvilken som helst af multimesterterminalerne i netværket i stedet for kun at stole på en fysisk terminal.Den største komplikation, der kan forekomme ved brug af et multimester-replikationssystem, involverer opdatering af alle systemer hurtigt nok, så data forbliver synkroniseret til enhver tid på tværs af netværket.

Udtrykket multi-master stammer fra den mere basale metode til master-Slavreplikation, hvor en enkelt terminal betegnes som mesteren.I en master-slave-situation er kun en enkelt master i stand til at opdatere oplysninger om slavedrevene.Et multimester-replikationssystem har flere systemer, der er betegnet som mestre, og hver master er muligvis kun ansvarlig for sig selv eller kan være ansvarlig for et antal computere, der er kendt som en replikationsgruppe.Med flere mestre kan ethvert mastersystem indlede en ændring af alle andre master-systemer, der potentielt kan føre til meget komplekse netværksinteraktioner i meget store systemer.

Der er to former for multi-master-replikation, hvor den første er synkron replikation.Synkron replikation fungerer ved at opdatere i realtid alle kopier af en database, hver gang der foretages en ændring.Dette fjerner de fleste situationer, der kan opstå, når data ikke synkroniseres på tværs af netværket, men det skaber en enorm mængde netværkstrafik og kræver muligvis en stor mængde behandlingseffekt til at implementere i et større system.Af disse grunde bruges synkron replikation primært i netværk, hvor der kun er en håndfuld mastercomputere.

Den anden type multimesterreplikation er asynkron replikation.I stedet for at opdatere systemer, når der foretages en ændring, gemmes ændringer i en database som begivenheder på hvert system, og disse ændringer anvendes enten, når en begivenhed udløses eller i planlagte opdateringsperioder.Dette betyder, at der bruges mindre netværksbåndbredde og behandlingskraft, men det øger chancerne for, at to brugere på et tidspunkt kan forsøge at ændre de samme oplysninger på modstridende måder på grund af forsinkelsen i opdatering eller latenstid.De fleste distribuerede databasestyringssystemer bruger asynkron replikation på grund af den lave mængde ressourcer, der forbruges i sammenligning med synkron multimaster-replikation.