Repliki do odczytu w usłudze Azure Database for MariaDBRead replicas in Azure Database for MariaDB

Funkcja repliki do odczytu umożliwia replikowanie danych z serwera usługi Azure Database for MariaDB do serwera tylko do odczytu.The read replica feature allows you to replicate data from an Azure Database for MariaDB server to a read-only server. Z serwera głównego można replikować maksymalnie pięć replik.You can replicate from the master server to up to five replicas. Repliki są aktualizowane asynchronicznie przy użyciu opartej na lokalizacji pliku dziennika binarnego (binlog) aparatu MariaDB z globalnym IDENTYFIKATORem transakcji (GTID).Replicas are updated asynchronously using the MariaDB engine's binary log (binlog) file position-based replication technology with global transaction ID (GTID). Aby dowiedzieć się więcej na temat replikacji binlog, zobacz Omówienie replikacji binlog.To learn more about binlog replication, see the binlog replication overview.

Repliki to nowe serwery, którymi można zarządzać podobnie jak regularne Azure Database for MariaDB serwery.Replicas are new servers that you manage similar to regular Azure Database for MariaDB servers. Dla każdej repliki odczytu są naliczane opłaty za zasoby obliczeniowe rdzeni wirtualnych i magazyn w GB/miesiąc.For each read replica, you're billed for the provisioned compute in vCores and storage in GB/ month.

Więcej informacji na temat replikacji GTID można znaleźć w dokumentacji dotyczącej replikacji MariaDB.To learn more about GTID replication, see the MariaDB replication documentation.

Kiedy używać repliki odczytuWhen to use a read replica

Funkcja odczytu repliki pomaga zwiększyć wydajność i skalowalność obciążeń intensywnie korzystających z odczytu.The read replica feature helps to improve the performance and scale of read-intensive workloads. Obciążenia odczytu mogą być odizolowane dla replik, podczas gdy obciążenia zapisu mogą być kierowane do wzorca.Read workloads can be isolated to the replicas, while write workloads can be directed to the master.

Typowy scenariusz polega na tym, że obciążenia analizy biznesowej i analizy używają repliki odczytu jako źródła danych do raportowania.A common scenario is to have BI and analytical workloads use the read replica as the data source for reporting.

Ponieważ repliki są tylko do odczytu, nie zmniejszają bezpośrednio obciążeń związanych z pojemnością zapisu na serwerze głównym.Because replicas are read-only, they don't directly reduce write-capacity burdens on the master. Ta funkcja nie jest przeznaczona dla obciążeń intensywnie korzystających z pisania.This feature isn't targeted at write-intensive workloads.

Funkcja odczytu repliki korzysta z replikacji asynchronicznej.The read replica feature uses asynchronous replication. Ta funkcja nie jest przeznaczona do scenariuszy replikacji synchronicznej.The feature isn't meant for synchronous replication scenarios. Nastąpi wymierne opóźnienie między serwerem głównym a repliką.There will be a measurable delay between the master and the replica. Dane z repliki ostatecznie staną się spójne z danymi na serwerze głównym.The data on the replica eventually becomes consistent with the data on the master. Użyj tej funkcji dla obciążeń, które mogą obsłużyć to opóźnienie.Use this feature for workloads that can accommodate this delay.

Replikacja między regionamiCross-region replication

Replikę odczytu można utworzyć w innym regionie niż serwer główny.You can create a read replica in a different region from your master server. Replikacja między regionami może być przydatna w scenariuszach takich jak planowanie odzyskiwania po awarii lub umieszczenie danych bliżej użytkowników.Cross-region replication can be helpful for scenarios like disaster recovery planning or bringing data closer to your users.

Uwaga

Replikacja między regionami jest w wersji zapoznawczej.Cross region replication is in preview.

Serwer główny może być w dowolnym regionie Azure Database for MariaDB.You can have a master server in any Azure Database for MariaDB region. Serwer główny może mieć replikę w osobnym regionie lub regionach uniwersalnej repliki.A master server can have a replica in its paired region or the universal replica regions. Na poniższej ilustracji przedstawiono, które regiony replik są dostępne w zależności od regionu głównego.The picture below shows which replica regions are available depending on your master region.

odczytać regionów repliki Read replica regions

Regiony uniwersalnej replikiUniversal replica regions

Replikę odczytu można utworzyć w dowolnym z następujących regionów, niezależnie od tego, gdzie znajduje się serwer główny.You can create a read replica in any of the following regions, regardless of where your master server is located. Obsługiwane regiony uniwersalnej repliki obejmują:The supported universal replica regions include:

Australia Wschodnia, Australia Południowo-Wschodnia, środkowe stany USA, Azja Wschodnia, Wschodnie stany USA, Wschodnie stany USA 2, Japonia Wschodnia, Japonia Zachodnia, Korea środkowa, Korea Południowo-Wschodnia, Płn. Północno-środkowe stany USA, Europa Północna, Południowe stany USA, Azja Południowo-Wschodnia, Południowe Zjednoczone Królestwo, Zachodnie Zjednoczone Królestwo, Europa Zachodnia i zachodnie stany USA.Australia East, Australia Southeast, Central US, East Asia, East US, East US 2, Japan East, Japan West, Korea Central, Korea South, North Central US, North Europe, South Central US, Southeast Asia, UK South, UK West, West Europe, West US.

* Zachodnie stany USA 2 są tymczasowo niedostępne jako lokalizacja repliki między regionami.*West US 2 is temporarily unavailable as a cross region replica location.

Sparowane regionyPaired regions

Oprócz regionów uniwersalnej repliki można utworzyć replikę odczytu w sparowanym regionie platformy Azure serwera głównego.In addition to the universal replica regions, you can create a read replica in the Azure paired region of your master server. Jeśli nie znasz pary regionów, możesz dowiedzieć się więcej z artykułu z sparowanymi regionami platformy Azure.If you don't know your region's pair, you can learn more from the Azure Paired Regions article.

Jeśli używasz replik między regionami do planowania odzyskiwania po awarii, zalecamy utworzenie repliki w sparowanym regionie, a nie w jednym z innych regionów.If you are using cross-region replicas for disaster recovery planning, we recommend you create the replica in the paired region instead of one of the other regions. Sparowane regiony umożliwiają uniknięcie jednoczesnych aktualizacji i określanie priorytetów fizycznej izolacji i miejsca zamieszkania danych.Paired regions avoid simultaneous updates and prioritize physical isolation and data residency.

Istnieją jednak ograniczenia, które należy wziąć pod uwagę:However, there are limitations to consider:

  • Dostępność regionalna: Azure Database for MariaDB jest dostępna w regionie zachodnie stany USA 2, Francja środkowa, Zjednoczone Emiraty Arabskie i Niemcy środkowe.Regional availability: Azure Database for MariaDB is available in West US 2, France Central, UAE North, and Germany Central. Jednak ich sparowane regiony nie są dostępne.However, their paired regions are not available.

  • Pary jednokierunkowe: niektóre regiony platformy Azure są sparowane tylko w jednym kierunku.Uni-directional pairs: Some Azure regions are paired in one direction only. Regiony te obejmują Indie Zachodnie, Brazylia Południowa i US Gov Wirginia.These regions include West India, Brazil South, and US Gov Virginia. Oznacza to, że serwer główny w regionie zachodnie Indie może utworzyć replikę w Indiach Południowej.This means that a master server in West India can create a replica in South India. Jednak główny serwer nie może utworzyć repliki w Indiach zachodnim.However, a master server in South India cannot create a replica in West India. Jest to spowodowane tym, że region pomocniczy w zachodniej Indiach to Indie Południowe, ale region pomocniczy w Republice Południowej Indie nie jest Indie Zachodnie.This is because West India's secondary region is South India, but South India's secondary region is not West India.

Tworzenie replikiCreate a replica

Jeśli serwer główny nie ma istniejących serwerów repliki, wzorzec zostanie najpierw uruchomiony ponownie w celu samodzielnego przygotowania do replikacji.If a master server has no existing replica servers, the master will first restart to prepare itself for replication.

Po uruchomieniu przepływu pracy tworzenia repliki zostanie utworzony pusty serwer Azure Database for MariaDB.When you start the create replica workflow, a blank Azure Database for MariaDB server is created. Nowy serwer jest wypełniony danymi znajdującymi się na serwerze głównym.The new server is filled with the data that was on the master server. Czas utworzenia zależy od ilości danych na serwerze głównym oraz czasu od ostatniego cotygodniowej pełnej kopii zapasowej.The creation time depends on the amount of data on the master and the time since the last weekly full backup. Czas może się wahać od kilku minut do kilku godzin.The time can range from a few minutes to several hours.

Uwaga

Jeśli nie masz skonfigurowanego alertu magazynu na serwerach, zalecamy wykonanie tej czynności.If you don't have a storage alert set up on your servers, we recommend that you do so. Alert informuje o tym, kiedy serwer zbliża się do limitu magazynu, co wpłynie na replikację.The alert informs you when a server is approaching its storage limit, which will affect the replication.

Dowiedz się , jak utworzyć replikę odczytu w Azure Portal.Learn how to create a read replica in the Azure portal.

Nawiązywanie połączenia z replikąConnect to a replica

Podczas tworzenia repliki dziedziczy reguły zapory lub punkt końcowy usługi sieci wirtualnej serwera głównego.At creation, a replica inherits the firewall rules or VNet service endpoint of the master server. Następnie te reguły są niezależne od serwera głównego.Afterwards, these rules are independent from the the master server.

Replika dziedziczy konto administratora z serwera głównego.The replica inherits the admin account from the master server. Wszystkie konta użytkowników na serwerze głównym są replikowane do replik odczytu.All user accounts on the master server are replicated to the read replicas. Można nawiązać połączenie z repliką odczytu tylko przy użyciu kont użytkowników, które są dostępne na serwerze głównym.You can only connect to a read replica by using the user accounts that are available on the master server.

Możesz połączyć się z repliką przy użyciu nazwy hosta i prawidłowego konta użytkownika, tak jak w przypadku zwykłego serwera Azure Database for MariaDB.You can connect to the replica by using its hostname and a valid user account, as you would on a regular Azure Database for MariaDB server. W przypadku serwera o nazwie Moja replika z nazwą administratoraadministrator można nawiązać połączenie z repliką przy użyciu interfejsu wiersza polecenia MySQL:For a server named myreplica with the admin username myadmin, you can connect to the replica by using the mysql CLI:

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

W wierszu polecenia wprowadź hasło dla konta użytkownika.At the prompt, enter the password for the user account.

Monitoruj replikacjęMonitor replication

Azure Database for MariaDB zapewnia wartość opóźnienia replikacji w sekundach w Azure monitor.Azure Database for MariaDB provides the Replication lag in seconds metric in Azure Monitor. Ta Metryka jest dostępna tylko dla replik.This metric is available for replicas only.

Ta Metryka jest obliczana przy użyciu metryki seconds_behind_master dostępnej w poleceniu SHOW SLAVE STATUS MariaDB.This metric is calculated using the seconds_behind_master metric available in MariaDB's SHOW SLAVE STATUS command.

Ustaw Alert, aby poinformować Cię, gdy zwłoka replikacji osiągnie wartość, która nie jest akceptowalna dla obciążenia.Set an alert to inform you when the replication lag reaches a value that isn’t acceptable for your workload.

Zatrzymywanie replikacjiStop replication

Można zatrzymać replikację między serwerem głównym a repliką.You can stop replication between a master and a replica. Po zatrzymaniu replikacji między serwerem głównym a repliką odczytu replika stanie się serwerem autonomicznym.After replication is stopped between a master server and a read replica, the replica becomes a standalone server. Dane na serwerze autonomicznym to dane, które były dostępne w replice w momencie uruchomienia polecenia Zatrzymaj replikację.The data in the standalone server is the data that was available on the replica at the time the stop replication command was started. Serwer autonomiczny nie jest przechwytywany z serwerem głównym.The standalone server doesn't catch up with the master server.

Gdy zdecydujesz się zatrzymać replikację do repliki, utraci ona wszystkie linki do poprzedniego wzorca i innych replik.When you choose to stop replication to a replica, it loses all links to its previous master and other replicas. Między wzorcem a jego repliką nie ma automatycznej pracy awaryjnej.There is no automated failover between a master and its replica.

Ważne

Serwer autonomiczny nie może zostać ponownie utworzony w replice.The standalone server can't be made into a replica again. Przed zatrzymaniem replikacji w replice odczytu upewnij się, że replika ma wszystkie wymagane dane.Before you stop replication on a read replica, ensure the replica has all the data that you require.

Dowiedz się, jak zatrzymać replikację do repliki.Learn how to stop replication to a replica.

Zagadnienia i ograniczeniaConsiderations and limitations

Warstwy cenowePricing tiers

Repliki odczytu są obecnie dostępne tylko w warstwach cenowych Ogólnego przeznaczenia i zoptymalizowanych pod kątem pamięci.Read replicas are currently only available in the General Purpose and Memory Optimized pricing tiers.

Ponowne uruchamianie serwera głównegoMaster server restart

Gdy tworzysz replikę dla wzorca, który nie ma istniejących replik, wzorzec zostanie najpierw uruchomiony ponownie w celu przygotowania się do replikacji.When you create a replica for a master that has no existing replicas, the master will first restart to prepare itself for replication. Należy wziąć pod uwagę i wykonać te operacje w okresie poza szczytem.Take this into consideration and perform these operations during an off-peak period.

Nowe replikiNew replicas

Replika odczytu jest tworzona jako nowy serwer Azure Database for MariaDB.A read replica is created as a new Azure Database for MariaDB server. Nie można wykonać istniejącego serwera w replice.An existing server can't be made into a replica. Nie można utworzyć repliki innej repliki odczytu.You can't create a replica of another read replica.

Konfiguracja replikiReplica configuration

Replika jest tworzona przy użyciu tej samej konfiguracji serwera co serwer główny.A replica is created by using the same server configuration as the master. Po utworzeniu repliki kilka ustawień można zmienić niezależnie od serwera głównego: generowanie obliczeń, rdzeni wirtualnych, magazyn, okres przechowywania kopii zapasowej i wersja aparatu MariaDB.After a replica is created, several settings can be changed independently from the master server: compute generation, vCores, storage, backup retention period, and MariaDB engine version. Warstwę cenową można także zmienić niezależnie, z wyjątkiem warstwy Podstawowa lub z niej.The pricing tier can also be changed independently, except to or from the Basic tier.

Ważne

Przed zaktualizowaniem konfiguracji serwera głównego do nowych wartości zaktualizuj konfigurację repliki do takich samych lub wyższych wartości.Before a master server configuration is updated to new values, update the replica configuration to equal or greater values. Dzięki temu replika może być na bieżąco ze zmianami wprowadzonymi we wzorcu.This action ensures the replica can keep up with any changes made to the master.

Reguły zapory, reguły sieci wirtualnej i ustawienia parametrów są dziedziczone z serwera głównego do repliki podczas tworzenia repliki.Firewall rules, virtual network rules, and parameter settings are inherited from the master server to the replica when the replica is created. Następnie reguły repliki są niezależne.Afterwards, the replica's rules are independent.

Repliki zatrzymaneStopped replicas

Jeśli zatrzymasz replikację między serwerem głównym a repliką odczytu, zatrzymana replika stanie się autonomicznym serwerem, który akceptuje oba operacje odczytu i zapisu.If you stop replication between a master server and a read replica, the stopped replica becomes a standalone server that accepts both reads and writes. Serwer autonomiczny nie może zostać ponownie utworzony w replice.The standalone server can't be made into a replica again.

Usunięto serwery główne i autonomiczneDeleted master and standalone servers

Po usunięciu serwera głównego replikacja zostaje zatrzymana dla wszystkich replik odczytu.When a master server is deleted, replication is stopped to all read replicas. Te repliki stają się serwerami autonomicznymi.These replicas become standalone servers. Sam serwer główny jest usuwany.The master server itself is deleted.

Konta użytkownikówUser accounts

Użytkownicy na serwerze głównym są replikowana do replik odczytu.Users on the master server are replicated to the read replicas. Można nawiązać połączenie z repliką odczytu tylko przy użyciu kont użytkowników dostępnych na serwerze głównym.You can only connect to a read replica using the user accounts available on the master server.

Parametry serweraServer parameters

Aby zapobiec utracie synchronizacji danych i ich możliwej utracie lub uszkodzeniu, aktualizacja niektórych parametrów jest zablokowana w przypadku korzystania z replik do odczytu.To prevent data from becoming out of sync and to avoid potential data loss or corruption, some server parameters are locked from being updated when using read replicas.

Następujące parametry serwera są blokowane na serwerach głównych i repliki:The following server parameters are locked on both the master and replica servers:

Parametr event_scheduler jest zablokowany na serwerach repliki.The event_scheduler parameter is locked on the replica servers.

InneOther

  • Tworzenie repliki repliki nie jest obsługiwane.Creating a replica of a replica is not supported.
  • Tabele w pamięci mogą spowodować, że repliki nie zostaną zsynchronizowane. Jest to ograniczenie technologii replikacji MariaDB.In-memory tables may cause replicas to become out of sync. This is a limitation of the MariaDB replication technology.
  • Upewnij się, że tabele serwera głównego mają klucze podstawowe.Ensure the master server tables have primary keys. Brak kluczy podstawowych może spowodować opóźnienia replikacji między serwerem głównym a replikami.Lack of primary keys may result in replication latency between the master and replicas.

Następne krokiNext steps