Replikace databází

Z Wikipedie, otevřené encyklopedie
Skočit na: Navigace, Hledání

Replikace databází může být využita v mnoha systémech řízení báze dat, obvykle vazba mezi originálem a kopiemi bývá typu master/slave. Master zaznamenává změny, které poté posílá do slavu. Slave zpět oznámí zprávou, že update úspěšně přijal, čímž umožní odeslání (a případné opětovné posílání až do chvíle než je úspěšně aplikován) následujících updatů.

Multi-master replikace[editovat | editovat zdroj]

Tento druh replikace umožňuje odesílání updatů do jakéhokoliv uzlu databáze a odtud je rozšířit k ostatním serverům. Na jednu stranu je tento způsob replikace často žádán, ale na stranu druhou se může stát v některých situacích nepraktickým tím, že představuje podstatné zvýšení nákladů a zesložitění celého systému. Nejběžnějším problémem při multi-master replikaci je prevence konfliktů transakcí a jejich řešení. Většina synchronních řešičů nebo Eager Replication Solution provádí prevenci kolizí, zatímco asynchronní řešiče mají za úkol daný konflikt vyřešit. Například pokud je záznam změněn na dvou uzlech současně, ERS by měl tento problém odhalit ještě před uskutečněním této změny a zamítnout jednu transakci. Systém Lazy Replication by měl povolit uskutečnění obou transakcí a zahájit řešení konfliktu během resynchronizace. Řešení mnoha konfliktů může být založeno na principu časového razítka transakce, na hierarchii původních uzlů nebo na mnohem komplexnější logice, která rozhodne současně na všech uzlech. Replikace databází se zesložití pokud je rozšířena. Obvykle lze rozšíření provést ve dvou směrech, horizontálním a vertikálním. Horizontální rozšíření má více kopií dat, vertikální rozšíření má kopie dat rozmístěna dále od sebe. Problémy vyvstané horizontálním rozšířením mohou být zmírněny užitím multi-layer multi-view přístupovým protokolem. Vertikální rozšíření se mnohem usnadnilo rychlením a zvýšením spolehlivosti internetu.