Replikace křížového regionu v MySQL, metoda pro kopírování dat asynchronně z primární databáze v jedné geografické oblasti do jedné nebo více replikových databází v různých regionech, ovlivňuje výkon prostřednictvím různých faktorů spojených s latence sítě, zpoždění replikace, distribucí pracovní zátěže a přidělování zdrojů.
Latence a replikace sítě
Primární dopad na výkon vyplývá ze zvýšené latence sítě mezi regiony. Vzhledem k tomu, že replikace křížových regionů se opírá o odesílání událostí binárního protokolu obsahující změny dat v rámci síťových propojení na dlouhé vzdálenosti, může fyzická vzdálenost způsobit významné zpoždění šíření. To vede ke zvýšenému zpoždění replikace, kde repliky klesají za primární při použití změn. Replikační zpoždění může ovlivnit konzistenci čtení v aplikacích, které spoléhají na aktuální data z replik a mohou prodloužit čas převzetí služeb při selhání ve scénářích obnovy po katastrofě.
Replikační zpoždění nastává v důsledku více příčin:
- Primární server neodesílá změny dostatečně rychle.
- Síťová zpoždění při přenosu změn.
- Neschopnost repliky serveru rychle aplikovat změny.
Celkové pozorované zpoždění je způsobeno jak síťovou, tak latencí zpracování. Monitorovací nástroje sledují metriky, jako jsou síťové zpoždění a replika zpoždění pro diagnostiku úzkých míst.
Replika dopadu serveru a použití zdrojů
Na straně repliky, použití změn z primární práce zahrnuje I/O a CPU práci, což může ovlivnit celkový výkon repliky, zejména pokud se jedná o dotazy na čtení aplikací současně. Vysoká replikační zatížení může vést k sporu a nasycení zdrojů a zpomalit doby odezvy dotazu na repliku.
Použití paralelních replikačních vláken na replice může zmírnit některá zpoždění aplikací použitím více transakcí souběžně, což zlepší propustnost replikace. Konfigurace možností, jako je proplachování vysoce výkonných (úpravy `innodb_flush_at_t_t_t_t_t_t_trem_Commit` a` sync_binlog`) může zlepšit účinnost zápisu a replikace.
Dopad na výkon primárního serveru
Primární server také vznikne dopad na zatížení v důsledku replikace. Musí napsat všechny změny v binárním protokolu pro downstream repliky, což je další režie na horní části normálního transakčního zpracování. S mnoha připojenými replikami, zejména křížovým regionem, kde se liší propustnost a spolehlivost sítě, může primární zažít zvýšenou konzumaci zdrojů udržováním replikačních toků.
Jedním ze způsobů, jak to zmírnit, je replikační hierarchie, kde primární replikuje na jednu střední repliku, která pak fanoušci na další repliky, snižující zátěž primárního.
Distribuce a škálovatelnost pracovního vytížení
Replikace Cross-Region podporuje škálování čtení pracovní zátěže blíže uživatelům v různých globálních regionech poskytováním replik čtení poblíž jejich umístění a zlepšením latence koncových uživatelů. Psaní pracovní zátěže se však stále konverguje na primární instanci, která se může stát úzkým prostorem.
Velké transakce na primárním, že aktualizace mnoha řádků může způsobit hroty v replikačních datech, což vede k prasknutí replikace, aplikují práci na replik a způsobují zpoždění replikace. Rozdělení velkých transakcí na menší dávky pomáhá snížit replikační kmen.
Schéma a úvahy o návrhu dotazů
Tabulky bez primárních klíčů nebo s těžkými operacemi DDL mohou zhoršovat výkon replikace nebo způsobit exkluzivní zámky, které se skládají v oblasti latence napříč regiony. Obvykle se doporučuje použití replikace založené na řádcích, která vyžaduje primární klíče pro účinnost.
Hladiny izolace dotazů na replikách také ovlivňují rychlost aplikace replikace, přičemž nižší úrovně izolace (např. „Číst se odhodlané“ obecně umožňují rychlejší aplikaci replikačních událostí než vyšší úrovně, které trvají déle.
Síťové a nákladové úvahy
Replikace křížových regionů zahrnuje přenos dat napříč sítěmi poskytovatelů cloudu, což může způsobit náklady a omezení šířky pásma. To je třeba zohlednit v designu a může nepřímo omezit rychlost a frekvenci replikace.
Shrnutí dopadů na výkon
- Zvýšená zpoždění replikace v důsledku fyzické vzdálenosti a latence sítě.
- Vyšší spotřeba zdrojů u primárního pro binární protokolování a repliky pro aplikaci změn.
- Potenciální degradace výkonu dotazů na replik, pokud je replikace náročná na zdroje.
- Vyrovnávání zátěže prostřednictvím replikačních hierarchií může snížit úzká místa.
- Dopad velkých transakcí a návrhu schématu na účinnost replikace.
- Kompromisy s náklady na přenos dat a propustností v cloudových prostředích.