Replikácia krížových regiónov v MySQL, metóda kopírovania údajov asynchrónne z primárnej databázy v jednej geografickej oblasti do jednej alebo viacerých databáz repliky v rôznych regiónoch, ovplyvňuje výkonnosť prostredníctvom rôznych faktorov spojených s latenciou siete, oneskorením replikácie, distribúciou pracovného zaťaženia a prideľovaním prostriedkov.
Latencia siete a oneskorenie replikácie
Vplyv primárneho výkonu vyplýva zo zvýšenej latencie siete medzi regiónmi. Pretože replikácia krížových regiónov sa spolieha na odosielanie udalostí binárneho denníka obsahujúce zmeny údajov v sieťových prepojeniach na veľké vzdialenosti, fyzická vzdialenosť môže spôsobiť významné oneskorenie šírenia. To vedie k zvýšenému oneskoreniu replikácie, kde repliky zaostávajú za primárne pri používaní zmien. Replikačné oneskorenie môže ovplyvniť konzistentnosť čítania v aplikáciách, ktoré sa spoliehajú na aktuálne údaje z replík a môže zvýšiť čas zlyhania v scenároch obnovy po katastrofe.
Replikačné oneskorenie sa vyskytuje v dôsledku viacerých príčin:
- Primárny server neodosiela dostatočne rýchlo zmeny.
- Sieť oneskorenia pri prenose zmien.
- Neschopnosť servera replika rýchlo uplatňovať zmeny.
Celkové pozorované oneskorenie je spôsobené latenciou siete aj spracovania. Monitorovacie nástroje sledujú metriky, ako je sieťové oneskorenie a replika oneskorenie na diagnostikovanie prekážok.
Replika Vplyv a použitie prostriedkov na prostriedky
Na strane repliky sa uplatňovanie zmien z primárnych pracovných miest týka práce I/O a CPU, ktoré môžu ovplyvniť celkový výkon repliky, najmä ak sa tiež zaobchádza s dotazmi na čítanie aplikácií súčasne. Vysoké zaťaženie replikácie môže viesť k tvrdeniu a saturácii zdrojov, ktoré spomaľujú časy odozvy dotazu na replike.
Použitie vlákien paralelných replikácií na replike môže zmierniť niektoré z oneskorení aplikácie súčasným použitím viacerých transakcií, čím sa zlepší priepustnosť replikácie. Okrem toho, konfigurácia možností, ako je vysoko výkonné preplachovanie (úpravy `inodb_flush_log_at_trx_commit` a` Sync_binlog` parametre), môže zlepšiť účinnosť zápisu a replikácia.
Vplyv na výkon primárneho servera
Primárny server tiež vynakladá vplyv na zaťaženie v dôsledku replikácie. Musí napísať všetky zmeny do binárneho protokolu pre repliky po prúde, čo je ďalšia réžia na vrchole normálneho transakčného spracovania. S mnohými pripojenými replikami, najmä krížovými regiónmi, v ktorých sa líši priepustnosť a spoľahlivosť siete, primárne môže zažiť zvýšenú spotrebu zdrojov udržiavaním replikačných tokov.
Jedným zo spôsobov, ako to zmierniť, je replikačná hierarchia, kde sa primárne replikuje na jednu strednú repliku, ktorá potom ventilátory na ďalšie repliky znižuje primárne zaťaženie.
Distribúcia pracovnej záťaže a škálovateľnosť
Replikácia medzi regiónmi podporuje škálovanie pracovných zaťažení čítania bližšie k používateľom v rôznych globálnych regiónoch poskytovaním repliiek čítania v blízkosti ich polohy a zlepšuje latencie koncových používateľov. Písanie pracovných zaťažení sa však stále zbiehajú na primárnej inštancii, ktorá sa môže stať prekážkou.
Veľké transakcie na primárnom prípade, ktoré aktualizujú mnoho riadkov, môžu spôsobiť špičky v replikačných údajoch, čo vedie k výbuchu replikácie, ktoré sa používajú na repliky a spôsobujú oneskorenie replikácie. Rozbíjanie veľkých transakcií do menších dávok pomáha znižovať replikačný napätie.
Schéma a úvahy o návrhu dotazov
Tabuľky bez primárnych kľúčov alebo s ťažkými operáciami DDL môžu degradovať výkon replikácie alebo spôsobiť exkluzívne zámky, čo je problémy s latenciou v regiónoch. Zvyčajne sa odporúča použitie replikácie založenej na riadkoch, ktorá vyžaduje primárne kľúče pre účinnosť.
Hladiny izolácie dotazu na replikách tiež ovplyvňujú rýchlosť aplikácie replikácie, pričom nižšie úrovne izolácie (napr. „Zaviazané čítané“), ktoré všeobecne umožňujú rýchlejšie uplatňovanie udalostí replikácie ako vyššie úrovne, ktoré udržiavajú zámky dlhšie.
Sieť a úvahy o nákladoch
Replikácia medzi regiónmi zahŕňa prenos údajov v sieťach poskytovateľov cloudu, ktoré môžu vzniknúť náklady a obmedzenia šírky pásma. Toto je potrebné zohľadniť v návrhu a môže nepriamo obmedziť rýchlosť a frekvenciu replikácie.
Zhrnutie vplyvov výkonu
- Zvýšené oneskorenie replikácie v dôsledku fyzickej vzdialenosti a latencie siete.
- Vyššia spotreba zdrojov na primárnom pre binárne protokolovanie a repliky na uplatňovanie zmien.
- Potenciálna degradácia výkonu dopytu na replikách, ak je replikácia náročná na zdroje.
- Vyvažovanie zaťaženia prostredníctvom replikačných hierarchií môže znížiť prekážky.
- Vplyv veľkých transakcií a návrhu schémy na účinnosť replikácie.
- Kompromisy s nákladmi na prenos údajov a priepustnosťou v cloudových prostrediach.