Co je Multi-Master replikace?
Multi-master replikace je technika používaná softwarem pro správu databází, takže mnoho kopií jedné databáze uložené na různých počítačích může mnoho uživatelů používat a aktualizovat decentralizovaně. Když je provedena změna v databázi, která používá replikaci více masterů, je provedená změna přenesena do všech ostatních počítačů v síti, takže jsou aktualizovány všechny použité kopie databáze. Některé výhody nastavení replikace více masterů zahrnují redundantní zálohování dat a decentralizovanou architekturu, ve které lze udržovat aktualizace kopií databáze, i když přestane fungovat jeden z počítačů v síti. Bez jediného přiřazeného hlavního systému, jako je tomu v případě architektury typu master-slave, mohou být změny a administrativní příkazy pro řízení databáze vydávány z libovolného z více masterových terminálů v síti místo toho, aby se spoléhaly pouze na jeden fyzický terminál. Největší komplikace, ke které může dojít při použití replikačního systému s více mastery, zahrnuje aktualizaci všech systémů dostatečně rychle, takže data zůstávají stále synchronizovaná v celé síti.
Termín "multi-master" pochází ze základní metody replikace master-slave, ve které je jeden terminál označen jako master. V situaci master-slave je pouze jeden master schopen aktualizovat informace na jednotkách slave. Multi-master replikační systém má více systémů označených jako master a každý master může být zodpovědný pouze za sebe nebo může mít na starosti několik počítačů známých jako replikační skupina. U více masterů může jakýkoli hlavní systém iniciovat změnu všech ostatních hlavních systémů, což může vést k velmi složitým síťovým interakcím ve velmi velkých systémech.
Existují dvě formy replikace více masterů, z nichž první je synchronní replikace. Funkce synchronní replikace aktualizací všech kopií databáze v reálném čase při každé změně. To odstraní většinu situací, ke kterým může dojít, když data nejsou synchronizována v síti, ale vytváří to obrovské množství síťového provozu a může vyžadovat velké množství výpočetního výkonu k implementaci do většího systému. Z těchto důvodů se synchronní replikace používá především v sítích, kde je jen několik hlavních počítačů.
Druhým typem vícenásobné replikace je asynchronní replikace. Namísto aktualizace systémů při každé změně se změny databáze ukládají jako události v každém systému a tyto změny se používají buď při spuštění události, nebo během plánovaných aktualizačních období. To znamená, že se využívá menší šířka pásma sítě a výpočetní výkon, zvyšuje se však šance, že se dva uživatelé mohou v určitém okamžiku pokusit změnit stejné informace konfliktními způsoby kvůli zpoždění v aktualizaci nebo latenci. Většina distribuovaných systémů správy databází používá asynchronní replikaci kvůli malému množství zdrojů, které jsou spotřebovány ve srovnání se synchronní replikací více masterů.