Repliky pro čtení ve službě Azure Database for MariaDB

Důležité

Azure Database for MariaDB je na cestě vyřazení. Důrazně doporučujeme migrovat do služby Azure Database for MySQL. Další informace o migraci na Azure Database for MySQL najdete v tématu Co se děje se službou Azure Database for MariaDB?.

Funkce repliky pro čtení umožňuje replikovat data ze serveru Azure Database for MariaDB na server jen pro čtení. Ze zdrojového serveru je můžete replikovat až na pět replik. Repliky se aktualizují asynchronně pomocí technologie replikace na základě pozice souboru (binlog) modulu MariaDB s globálním ID transakce (GTID). Další informace o replikaci binlogu najdete v přehledu replikace binlogu.

Repliky jsou nové servery, které spravujete podobně jako běžné servery Azure Database for MariaDB. Pro každou repliku pro čtení se vám účtuje zřízený výpočetní výkon ve virtuálních jádrech a úložišti v GB/měsíc.

Další informace o replikaci GTID najdete v dokumentaci k replikaci MariaDB.

Poznámka:

Tento článek obsahuje odkazy na termín slave (podřízený) , což je termín, který už Microsoft nepoužívá. Když se termín odebere ze softwaru, odebereme ho z tohoto článku.

Kdy použít repliku pro čtení

Funkce repliky pro čtení pomáhá zvýšit výkon a zlepšit škálování úloh náročných na čtení. Úlohy čtení je možné izolovat do replik a úlohy zápisu je možné směrovat na primární server.

Častým scénářem je, že úlohy BI a analytické úlohy používají repliku pro čtení jako zdroj dat pro účely generování sestav.

Vzhledem k tomu, že jsou repliky jen pro čtení, nesnižují přímo kapacitu zápisu na primárním serveru. Tato funkce není určená pro úlohy, které jsou náročné na zápis.

Funkce repliky pro čtení používá asynchronní replikaci. Tato funkce není určená pro scénáře synchronní replikace. Mezi zdrojem a replikou bude měřitelné zpoždění. Data na replice nakonec budou konzistentní s daty na primárním serveru. Tuto funkci použijte pro úlohy, kterým toto zpoždění nevadí.

Replikace mezi oblastmi

Repliku pro čtení můžete vytvořit v jiné oblasti než na zdrojovém serveru. Replikace mezi oblastmi může být užitečná ve scénářích, jako je plánování zotavení po havárii nebo přiblížení dat uživatelům.

Zdrojový server můžete mít v libovolné oblasti Azure Database for MariaDB. Zdrojový server může mít repliku ve své spárované oblasti nebo v oblastech univerzální repliky. Následující obrázek ukazuje, které oblasti repliky jsou dostupné v závislosti na vaší zdrojové oblasti.

Read replica regions

Oblasti univerzální repliky

Repliku pro čtení můžete vytvořit v libovolné z následujících oblastí bez ohledu na umístění zdrojového serveru. Mezi podporované oblasti univerzální repliky patří:

Austrálie – východ, Austrálie – jih, Brazílie – jih, Kanada – střed, Kanada – východ, USA – střed, USA – východ, USA – východ 2, Japonsko – východ, Japonsko – západ, Korea – střed, Korea – jih, USA – středosever, Severní Evropa, USA – středojižní, Jihovýchodní Asie, Velká Británie – jih, Velká Británie – západ, Západní Evropa, USA – západ, USA – západ 2, USA – středozápad.

Spárované oblasti

Kromě oblastí univerzální repliky můžete vytvořit repliku pro čtení ve spárované oblasti Azure zdrojového serveru. Pokud pár oblastí neznáte, můžete se dozvědět víc v článku o spárovaných oblastech Azure.

Pokud pro plánování zotavení po havárii používáte repliky mezi oblastmi, doporučujeme místo jedné z ostatních oblastí vytvořit repliku ve spárované oblasti. Spárované oblasti se vyhýbají souběžným aktualizacím a upřednostňují fyzickou izolaci a rezidenci dat.

Existují však omezení, která je potřeba vzít v úvahu:

  • Regionální dostupnost: Azure Database for MariaDB je k dispozici ve Francii – střed, Spojené arabské emiráty – sever a Německo – střed. Spárované oblasti ale nejsou k dispozici.

  • Jednosměrné páry: Některé oblasti Azure jsou spárované pouze jedním směrem. Mezi tyto oblasti patří Západní Indie, Brazílie – jih a US Gov – Virginie. To znamená, že zdrojový server v Západní Indii může vytvořit repliku v Indii – jih. Zdrojový server v Indii – jih však nemůže vytvořit repliku v západní Indii. Je to proto, že sekundární oblast Západní Indie je Indie – jih, ale sekundární oblast Jižní Indie není Západní Indie.

Vytvoření repliky

Důležité

Funkce repliky pro čtení je k dispozici pouze pro servery Azure Database for MariaDB v cenových úrovních Pro obecné účely nebo Optimalizováno pro paměť. Ujistěte se, že zdrojový server je v některé z těchto cenových úrovní.

Pokud zdrojový server nemá žádné existující servery repliky, zdroj se nejprve restartuje, aby se připravil na replikaci.

Když spustíte pracovní postup vytvoření repliky, vytvoří se prázdný server Azure Database for MariaDB. Nový server je vyplněný daty, která byla na zdrojovém serveru. Doba vytvoření závisí na množství dat na zdroji a času od posledního týdenního úplného zálohování. Tato doba se může pohybovat od několika minut až po několik hodin.

Poznámka:

Pokud na serverech nemáte nastavené upozornění úložiště, doporučujeme to udělat. Výstraha vás informuje, když se server blíží limitu úložiště, což ovlivní replikaci.

Přečtěte si, jak vytvořit repliku pro čtení na webu Azure Portal.

Připojení k replice

Při vytváření replika dědí pravidla brány firewall zdrojového serveru. Poté jsou tato pravidla nezávislá na zdrojovém serveru.

Replika dědí účet správce ze zdrojového serveru. Všechny uživatelské účty na zdrojovém serveru se replikují do replik pro čtení. K replice pro čtení se můžete připojit jenom pomocí uživatelských účtů, které jsou dostupné na zdrojovém serveru.

K replice se můžete připojit pomocí názvu hostitele a platného uživatelského účtu, stejně jako na běžném serveru Azure Database for MariaDB. Pro server s názvem myreplica s uživatelským jménem správce myadmin se můžete připojit k replice pomocí rozhraní příkazového řádku mysql:

mysql -h myreplica.mariadb.database.azure.com -u myadmin@myreplica -p

Na příkazovém řádku zadejte heslo k uživatelskému účtu.

Monitorování replikace

Azure Database for MariaDB poskytuje prodlevu replikace v sekundách ve službě Azure Monitor. Tato metrika je dostupná jenom pro repliky.

Tato metrika se počítá pomocí seconds_behind_master metriky dostupné v příkazu MariaDB SHOW SLAVE STATUS .

Nastavte upozornění, které vás informuje, když prodleva replikace dosáhne hodnoty, která není pro vaši úlohu přijatelná.

Zastavení replikace

Replikaci mezi zdrojem a replikou můžete zastavit. Po zastavení replikace mezi zdrojovým serverem a replikou pro čtení se replika stane samostatným serverem. Data na samostatném serveru jsou data, která byla k dispozici na replice v době spuštění příkazu zastavení replikace. Samostatný server se nedohodí se zdrojovým serverem.

Když se rozhodnete zastavit replikaci na repliku, ztratí všechna propojení s předchozím zdrojem a dalšími replikami. Mezi zdrojem a jeho replikou neexistuje automatizované převzetí služeb při selhání.

Důležité

Samostatný server nelze znovu vytvořit do repliky. Než zastavíte replikaci repliky pro čtení, ujistěte se, že replika obsahuje všechna všechna data, která potřebujete.

Zjistěte, jak zastavit replikaci do repliky.

Převzetí služeb při selhání

Mezi zdrojovými a replikovými servery neexistuje automatizované převzetí služeb při selhání.

Vzhledem k tomu, že replikace je asynchronní, mezi zdrojem a replikou je prodleva. Prodleva může být ovlivněna řadou faktorů, jako je například to, jak je zatížení spuštěné na zdrojovém serveru a latence mezi datovými centry. Ve většině případů je prodleva repliky v rozsahu od několika sekund do několika minut. Skutečnou prodlevu replikace můžete sledovat pomocí prodlevy repliky metriky, která je k dispozici pro každou repliku. Tato metrika zobrazuje čas od poslední přehrání transakce. Doporučujeme zjistit, co je vaše průměrná prodleva, a to sledováním prodlevy repliky v určitém časovém období. Můžete nastavit upozornění na prodlevu repliky, takže pokud se nachází mimo očekávaný rozsah, můžete provést akci.

Tip

Pokud provedete převzetí služeb při selhání repliky, prodleva v okamžiku odpojení repliky od zdroje bude indikovat, kolik dat se ztratí.

Jakmile se rozhodnete, že chcete provést převzetí služeb při selhání na repliku,

  1. Zastavte replikaci do repliky.

    Tento krok je nezbytný k tomu, aby server repliky mohl přijímat zápisy. V rámci tohoto procesu se server repliky odpoje z primárního serveru. Po zahájení zastavení replikace proces back-endu obvykle trvá přibližně 2 minuty. Informace o dopadech této akce najdete v části Zastavení replikace tohoto článku.

  2. Nasměrujte aplikaci na (bývalou) repliku.

    Každý server má jedinečný připojovací řetězec. Aktualizujte aplikaci tak, aby odkazovat na (bývalou) repliku místo primární repliky.

Po úspěšném zpracování čtení a zápisů aplikace jste dokončili převzetí služeb při selhání. Doba výpadku, na které vaše aplikace dojde, závisí na tom, kdy zjistíte problém a dokončíte kroky 1 a 2 výše.

Úvahy a omezení

Cenové úrovně

Repliky pro čtení jsou aktuálně k dispozici pouze v cenových úrovních Pro obecné účely a Optimalizováno pro paměť.

Poznámka:

Náklady na provoz serveru repliky jsou založeny na oblasti, ve které je server repliky spuštěný.

Restartování zdrojového serveru

Když vytvoříte repliku pro zdroj, který nemá žádné existující repliky, zdroj se nejprve restartuje, aby se připravil na replikaci. Vezměte v úvahu tyto operace a proveďte tyto operace v období mimo špičku.

Nové repliky

Replika pro čtení se vytvoří jako nový server Azure Database for MariaDB. Existující server nejde vytvořit do repliky. Repliku jiné repliky pro čtení nemůžete vytvořit.

Konfigurace repliky

Replika se vytvoří pomocí stejné konfigurace serveru jako primární. Po vytvoření repliky je možné změnit několik nastavení nezávisle na zdrojovém serveru: generování výpočetních prostředků, virtuální jádra, úložiště, doba uchovávání záloh a verze modulu MariaDB. Cenovou úroveň lze také změnit nezávisle, s výjimkou úrovně Basic nebo z ní.

Důležité

Před aktualizací konfigurace zdrojového serveru na nové hodnoty aktualizujte konfiguraci repliky na stejné nebo vyšší hodnoty. Tato akce zajistí, že replika bude moct držet krok se všemi změnami provedenými v primárním serveru.

Pravidla brány firewall a nastavení parametrů se při vytváření repliky dědí ze zdrojového serveru do repliky. Poté jsou pravidla repliky nezávislá.

Zastavené repliky

Pokud zastavíte replikaci mezi zdrojovým serverem a replikou pro čtení, stane se zastavená replika samostatným serverem, který přijímá čtení i zápisy. Samostatný server nelze znovu vytvořit do repliky.

Odstraněný zdrojový a samostatný server

Po odstranění zdrojového serveru se replikace zastaví do všech replik pro čtení. Tyto repliky se automaticky stanou samostatnými servery a můžou přijímat čtení i zápisy. Samotný zdrojový server se odstraní.

Uživatelské účty

Uživatelé na zdrojovém serveru se replikují do replik pro čtení. K replice pro čtení se můžete připojit jenom pomocí uživatelských účtů dostupných na zdrojovém serveru.

Parametry serveru

Aby se při použití replik pro čtení zabránilo přerušení synchronizace dat a možné ztrátě nebo poškození dat, některé parametry serveru neumožňují aktualizaci.

Následující parametry serveru jsou uzamčeny na zdrojovém i replikovacím serveru:

Parametr event_scheduler je uzamčen na serverech repliky.

Pokud chcete aktualizovat jeden z výše uvedených parametrů na zdrojovém serveru, odstraňte servery replik, aktualizujte hodnotu parametru na primárním serveru a znovu vytvořte repliky.

Jiný důvod

  • Vytvoření repliky repliky se nepodporuje.
  • Tabulky v paměti můžou způsobit, že repliky přestanou být synchronizované. Jedná se o omezení replikační technologie MariaDB.
  • Ujistěte se, že zdrojové serverové tabulky mají primární klíče. Nedostatek primárních klíčů může způsobit latenci replikace mezi zdrojem a replikami.

Další kroky