Skip to main content

Vad är en multi-master-replikering?

Multi-master-replikering är en teknik som används av databashanteringsprogramvara så att flera kopior av en enda databas lagrad på olika datorer kan användas och uppdateras av många användare på ett decentraliserat sätt.När en ändring görs i en databas som använder multi-master-replikering, överförs ändringen som görs till alla andra datorer i nätverket så att alla kopior av databasen som används.Vissa fördelar med en replikationsinställning med flera master inkluderar redundanta säkerhetskopior av data och en de-centraliserad arkitektur där uppdateringar till kopior av en databas kan upprätthållas även om en av datorerna i nätverket upphör att fungera.Utan ett enda tilldelat mastersystem, som är fallet i master-slavarkitektur, kan ändringar och administrativa kommandon för att kontrollera databasen utfärdas från någon av multimasterterminalerna i nätverket istället för att bara förlita sig på en fysisk terminal.Den största komplikationen som kan uppstå med användning av ett multimaster-replikationssystem innebär att uppdatera alla system tillräckligt snabbt så att data förblir synkroniserade hela tiden över hela nätverket.

Termen multimaster härrör från den mer grundläggande metoden för master-Slavreplikation, där en enda terminal utses till befälhavaren.I en master-slav-situation är det bara en enda mästare som kan uppdatera information om slavenheterna.Ett replikationssystem med flera master har flera system som är utsedda som mästare och varje master kanske endast är ansvarig för sig själv eller kan vara ansvarig för ett antal datorer som kallas en replikationsgrupp.Med flera mästare kan alla mastersystem initiera en förändring av alla andra mastersystem, vilket potentiellt kan leda till mycket komplexa nätverksinteraktioner i mycket stora system.

Det finns två former av multimasterreplikation, den första är synkron replikation.Synkron replikationsfunktioner genom att i realtid uppdatera alla kopior av en databas varje gång en ändring görs.Detta tar bort de flesta situationer som kan uppstå när data inte synkroniseras över nätverket, men det skapar en enorm mängd nätverkstrafik och kan kräva en stor mängd bearbetningskraft för att implementera i ett större system.Av dessa skäl används synkron replikation främst i nätverk där det bara finns en handfull masterdatorer.

Den andra typen av multimasterreplikation är asynkron replikation.Istället för att uppdatera system närhelst en ändring görs lagras ändringar i en databas som händelser på varje system, och dessa ändringar tillämpas antingen när en händelse utlöses eller under schemalagda uppdateringsperioder.Detta innebär att mindre nätverksbandbredd och bearbetningskraft används, men det ökar chansen att två användare vid någon tidpunkt kan försöka ändra samma information på motstridiga sätt på grund av förseningen i uppdatering eller latens.De flesta distribuerade databashanteringssystem använder asynkron replikation på grund av den låga mängden resurser som konsumeras i jämförelse med synkron multimasterreplikation.