Konfigurace replik pro čtení
Společnosti můžou ke globálnímu škálování výkonu využívat repliky databází jen pro čtení. Repliky jsou užitečné, když organizace distribuuje zákazníky globálně a mají uživatele v milionech uživatelů, kteří se snaží získat přístup k datům. Jakmile jsou na místě, můžou také zpracovávat regionální zotavení po havárii.
Vaše společnost se stala mezinárodně známým prodejcem jízdních kol. Ředitelka IT požádala vaše oddělení, aby zlepšilo rychlost odezvy vašeho online obchodu pro své uživatele po celém světě. Víte, že rychlý a jednoduchý způsob, jak zvýšit výkon, je umístit repliky databází jen pro čtení do jednotlivých geografických umístění.
V této lekci se dozvíte, jak snadné je vytvářet a spravovat repliky dat jen pro čtení uložené ve službě Azure Database for MySQL/PostgreSQL.
Jak používat replikaci pro čtení
Replikace pro čtení slouží ke kopírování dat z jedné instance Azure Database for MySQL/PostgreSQL (označované jako hlavní) až do pěti replik. Použití replikace k rozložení zatížení mezi servery pro úlohy náročné na čtení. Replikace je pouze jednosměrná a každá replika je jen pro čtení. Replikace funguje asynchronně, takže mezi časem, kdy se data v hlavním serveru mění, a bodem, ve kterém se zobrazují v každé replice, je prodleva.
Repliky můžou být v různých oblastech od hlavního serveru. Repliky slouží k umístění dat blízko klientů, kteří je potřebují, aby se snížila latence dotazů. Replikace mezi oblastmi také poskytuje mechanismus pro zpracování regionálního zotavení po havárii.
Poznámka:
Replikace mezi oblastmi není k dispozici ve vrstvě výkonu Basic.
Každá replika je instancí Služby Azure Database for MySQL/PostgreSQL, která je ale nakonfigurovaná jako jen pro čtení. Pokud dojde ke ztrátě připojení k hlavnímu serveru nebo dojde k odstranění hlavního serveru, stane se každá replika nezávislým serverem pro čtení i zápis. V takovém případě se repliky už vzájemně nesynchronují, takže se data, která uchovávají, můžou začít rozbíhají.
Poznámka:
Pokud používáte Azure Database for MySQL, repliky pro čtení jsou k dispozici pouze v cenových úrovních Pro obecné účely a Optimalizováno pro paměť. Repliky pro čtení navíc nejsou na flexibilních serverech Azure Database for PostgreSQL dostupné.
Vytváření replik
Nejjednodušší způsob, jak přidat repliky na server, je prostřednictvím stránky Replikace pro server na webu Azure Portal. Na této stránce vyberte + Přidat repliku.
Zobrazí se výzva k zadání názvu a umístění serveru. Kromě toho jsou ostatní podrobnosti pro repliku, včetně cenové úrovně, nastaveny na stejné jako ty, které používá hlavní server. Po vytvoření repliky můžete změnit všechna nastavení pro tento server, včetně úpravy cenové úrovně. Ujistěte se ale, že každá replika má k dispozici dostatek prostředků pro zpracování úloh spojených s příjmem a ukládáním replikovaných dat.
Poznámka:
Pokud používáte cenové úrovně Pro obecné účely nebo Optimalizováno pro paměť, musíte také povolit podporu replikace. Provedete to na stránce Replikace výběrem možnosti Povolit podporu replikace. Než budete moct pokračovat, server se restartuje.
Po přidání repliky se zobrazí na stránce Replikace . V závislosti na velikosti hlavního serveru a množství dat v databázích může nasazení a synchronizace jednotlivých replik trvat značné množství času.
Repliku překonfigurujete a změníte jeho velikost tak, že ji vyberete na stránce Replikace .
Pokud raději používáte Azure CLI, vytvořte pomocí příkazu repliky az mysql/postgres server replica create
:
az postgres server replica create \
--name northwindreplica3 \
--resource-group northwindrg \
--source-server northwind101
Odebrání repliky
Pokud chcete repliku odebrat, vyberte repliku na stránce Replikace a vyberte Zastavit replikaci. Server repliky se odpojil od hlavního serveru a místo toho se převede na server pro čtení i zápis. Replika se neodstraní a za spotřebované prostředky se vám budou dál účtovat poplatky. Pokud potřebujete repliku odstranit, použijte místo toho příkaz Odstranit repliku.
Azure CLI poskytuje az mysql/postgres server replica stop
příkaz k zastavení replikace a převodu repliky na server pro čtení i zápis. Pak pomocí az mysql/postgres server delete
příkazu odstraníte repliku a uvolníte její prostředky.