Leesreplica's in Azure Database for MariaDB

Met de functie leesreplica kunt u gegevens van een Azure Database for MariaDB-server repliceren naar een alleen-lezen server. U kunt maximaal vijf replica's van de bronserver repliceren. Replica's worden asynchroon bijgewerkt met behulp van de op positie gebaseerde replicatietechnologie voor binaire logboekbestanden (binlog) van de MariaDB-engine met globale transactie-id (GTID). Zie het binlog-replicatieoverzicht voor meer informatie over binlog-replicatie.

Replica's zijn nieuwe servers die u beheert, vergelijkbaar met Azure Database for MariaDB servers. Voor elke leesreplica wordt u gefactureerd voor de inrichtende rekenkracht in vCores en opslag in GB/maand.

Zie de MariaDB-replicatiedocumentatie voor meer informatie over GTID-replicatie.

Notitie

Dit artikel bevat verwijzingen naar de term slave, een term die Microsoft niet meer gebruikt. Zodra de term uit de software wordt verwijderd, verwijderen we deze uit dit artikel.

Wanneer gebruikt u een leesreplica?

De functie leesreplica helpt bij het verbeteren van de prestaties en schaal van leesintensieve werkbelastingen. Leesworkloads kunnen worden geïsoleerd voor de replica's, terwijl schrijfworkloads kunnen worden omgeleid naar de primaire replica's.

Een veelvoorkomende situatie is om BI- en analytische workloads de leesreplica te laten gebruiken als de gegevensbron voor rapportage.

Omdat replica's alleen-lezen zijn, verminderen ze de belasting van de schrijfcapaciteit op de primaire replica's niet rechtstreeks. Deze functie is niet gericht op schrijfintensieve werkbelastingen.

De functie leesreplica maakt gebruik van asynchrone replicatie. De functie is niet bedoeld voor synchrone replicatiescenario's. Er is een meetbare vertraging tussen de bron en de replica. De gegevens op de replica worden uiteindelijk consistent met de gegevens op de primaire replica. Gebruik deze functie voor werkbelastingen die deze vertraging kunnen opvangen.

Replicatie in meerdere regio's

U kunt een leesreplica maken in een andere regio dan uw bronserver. Replicatie tussen regio's kan handig zijn voor scenario's zoals noodherstelplanning of het dichter bij uw gebruikers brengen van gegevens.

U kunt een bronserver hebben in elke Azure Database for MariaDB regio. Een bronserver kan een replica hebben in de gekoppelde regio of de regio's voor universele replica's. In de onderstaande afbeelding ziet u welke replicaregio's beschikbaar zijn, afhankelijk van uw bronregio.

Leesreplicaregio's

Universele replicaregio's

U kunt een leesreplica maken in een van de volgende regio's, ongeacht waar de bronserver zich bevindt. De ondersteunde regio's voor universele replica's zijn onder andere:

Australië - oost, Australië - zuidoost, Brazilië - zuid, Canada - centraal, Canada - oost, VS - centraal, Azië - oost, VS - oost, VS - oost 2, Japan - oost, Japan - west, Korea - centraal, Korea - zuid, VS - noord-centraal, Europa - noord, VS - zuid-centraal, Azië - zuidoost, VK - zuid, VK - west, Europa - west, VS - west, VS - west 2, VS - west-centraal.

Gekoppelde regio's

Naast de universele replicaregio's kunt u een leesreplica maken in de gekoppelde Azure-regio van de bronserver. Als u het paar van uw regio niet weet, kunt u meer informatie lezen in het artikel Gekoppelde Azure-regio's.

Als u regio-overschrijdende replica's gebruikt voor het plannen van herstel na noodherstel, raden we u aan de replica in de gekoppelde regio te maken in plaats van een van de andere regio's. Gekoppelde regio's voorkomen gelijktijdige updates en geven prioriteit aan fysieke isolatie en gegevensstatus.

Er zijn echter beperkingen om rekening mee te houden:

  • Regionale beschikbaarheid: Azure Database for MariaDB is beschikbaar in Frankrijk - centraal, VAE - noord en Duitsland - centraal. De gekoppelde regio's zijn echter niet beschikbaar.

  • Uni directionele paren: Sommige Azure-regio's zijn slechts in één richting gekoppeld. Deze regio's omvatten India - west, Brazilië - zuid en US Gov - Virginia. Dit betekent dat een bronserver in India - west een replica kan maken in India - zuid. Een bronserver in India - zuid kan echter geen replica maken in India - west. Dit komt doordat de secundaire regio India - west India - zuid, maar India - zuid secundaire regio is niet India - west.

Replica's maken

Belangrijk

De functie leesreplica is alleen beschikbaar Azure Database for MariaDB servers in de prijscategorie Algemeen of geoptimaliseerd voor geheugen. Zorg ervoor dat de bronserver een van deze prijscategories heeft.

Als een bronserver geen bestaande replicaservers heeft, wordt de bron eerst opnieuw opgestart om zichzelf voor te bereiden op replicatie.

Wanneer u de werkstroom replica maken start, wordt er Azure Database for MariaDB lege server gemaakt. De nieuwe server wordt gevuld met de gegevens op de bronserver. De aanmaaktijd is afhankelijk van de hoeveelheid gegevens van de bron en de tijd sinds de laatste wekelijkse volledige back-up. De tijd kan variëren van enkele minuten tot enkele uren.

Notitie

Als u geen opslagwaarschuwing op uw servers hebt ingesteld, raden we u aan dit te doen. De waarschuwing laat u weten wanneer een server de opslaglimiet nadert, wat van invloed is op de replicatie.

Meer informatie over het maken van een leesreplica in de Azure Portal.

Verbinding maken naar een replica

Bij het maken neemt een replica de firewallregels van de bronserver over. Daarna zijn deze regels onafhankelijk van de bronserver.

De replica neemt het beheerdersaccount over van de bronserver. Alle gebruikersaccounts op de bronserver worden gerepliceerd naar de leesreplica's. U kunt alleen verbinding maken met een leesreplica met behulp van de gebruikersaccounts die beschikbaar zijn op de bronserver.

U kunt verbinding maken met de replica met behulp van de hostnaam en een geldig gebruikersaccount, zoals u zou doen op een normale Azure Database for MariaDB server. Voor een server met de naam myreplica met de gebruikersnaam van de beheerder myadmin kunt u verbinding maken met de replica met behulp van de mysql CLI:

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

Voer bij de prompt het wachtwoord voor het gebruikersaccount in.

Replicatie controleren

Azure Database for MariaDB biedt de metrische gegevens Replicatievertraging in seconden in Azure Monitor. Deze metrische gegevens zijn alleen beschikbaar voor replica's.

Deze metrische gegevens worden berekend met behulp van de metrische gegevens seconds_behind_master die beschikbaar zijn in de opdracht van MariaDB. SHOW SLAVE STATUS

Stel een waarschuwing in om u te informeren wanneer de replicatievertraging een waarde bereikt die niet acceptabel is voor uw workload.

Replicatie stoppen

U kunt de replicatie tussen een bron en een replica stoppen. Nadat de replicatie tussen een bronserver en een leesreplica is gestopt, wordt de replica een zelfstandige server. De gegevens op de zelfstandige server zijn de gegevens die beschikbaar waren op de replica op het moment dat de stopreplicatieopdracht werd gestart. De zelfstandige server heeft geen achterstand met de bronserver.

Wanneer u ervoor kiest om de replicatie naar een replica te stoppen, verliest deze alle koppelingen naar de vorige bron en andere replica's. Er is geen automatische failover tussen een bron en de replica.

Belangrijk

De zelfstandige server kan niet opnieuw worden gemaakt in een replica. Voordat u de replicatie op een leesreplica stopt, moet u ervoor zorgen dat de replica alle gegevens heeft die u nodig hebt.

Meer informatie over het stoppen van replicatie naar een replica.

Failover

Er is geen automatische failover tussen bron- en replicaservers.

Omdat replicatie asynchroon is, is er vertraging tussen de bron en de replica. De vertraging kan worden beïnvloed door een aantal factoren, zoals hoe zwaar de werkbelasting op de bronserver is en de latentie tussen datacenters. In de meeste gevallen varieert replicavertraging tussen enkele seconden en een paar minuten. U kunt de werkelijke replicatievertraging bijhouden met behulp van de metrische replicavertraging, die beschikbaar is voor elke replica. Deze metrische waarde toont de tijd sinds de laatste opnieuw afgespeelde transactie. We raden u aan om te bepalen wat uw gemiddelde vertraging is door uw replicavertraging gedurende een bepaalde periode te observeren. U kunt een waarschuwing instellen voor replicavertraging, zodat u actie kunt ondernemen als deze buiten het verwachte bereik komt.

Tip

Als u een failover naar de replica maakt, geeft de vertraging op het moment dat u de replica ontkoppelt van de bron aan hoeveel gegevens er verloren gaan.

Nadat u hebt besloten dat u een failover wilt maken naar een replica,

  1. Stop de replicatie naar de replica.

    Deze stap is nodig om ervoor te zorgen dat de replicaserver schrijf- en schrijf- en schrijfinstellingen kan accepteren. Als onderdeel van dit proces wordt de replicaserver ontkoppeld van de primaire server. Nadat u de replicatie hebt gestart, duurt het voltooien van het back-endproces doorgaans ongeveer 2 minuten. Zie de sectie Replicatie stoppen van dit artikel voor meer inzicht in de implicaties van deze actie.

  2. Wijs uw toepassing naar de (voormalige) replica.

    Elke server heeft een unieke connection string. Werk uw toepassing bij om te wijzen naar de (voormalige) replica in plaats van de primaire replica.

Nadat uw toepassing lees- en schrijfbewerkingen heeft verwerkt, hebt u de failover voltooid. De hoeveelheid downtime die uw toepassing ervaart, is afhankelijk van het moment waarop u een probleem detecteert en stap 1 en 2 hierboven voltooit.

Overwegingen en beperkingen

Prijscategorieën

Leesreplica's zijn momenteel alleen beschikbaar in de prijslagen Algemeen en Geoptimaliseerd voor geheugen.

Notitie

De kosten voor het uitvoeren van de replicaserver zijn gebaseerd op de regio waar de replicaserver wordt uitgevoerd.

Bronserver opnieuw opstarten

Wanneer u een replica maakt voor een bron die geen bestaande replica's heeft, wordt de bron eerst opnieuw opgestart om zich voor te bereiden op replicatie. Neem dit in overweging en voer deze bewerkingen uit tijdens een dalperiode.

Nieuwe replica's

Een leesreplica wordt gemaakt als een nieuwe Azure Database for MariaDB server. Een bestaande server kan niet worden gemaakt in een replica. U kunt geen replica van een andere leesreplica maken.

Replicaconfiguratie

Er wordt een replica gemaakt met behulp van dezelfde serverconfiguratie als de primaire replica. Nadat een replica is gemaakt, kunnen verschillende instellingen onafhankelijk van de bronserver worden gewijzigd: compute-generatie, vCores, opslag, bewaarperiode voor back-ups en versie van mariaDB-engine. De prijscategorie kan ook onafhankelijk worden gewijzigd, behalve in of van de Basic-laag.

Belangrijk

Voordat een configuratie van een bronserver wordt bijgewerkt naar nieuwe waarden, moet u de configuratie van de replica bijwerken naar gelijke of hogere waarden. Deze actie zorgt ervoor dat de replica alle wijzigingen in de primaire replica kan bij houden.

Firewallregels en parameterinstellingen worden overgenomen van de bronserver naar de replica wanneer de replica wordt gemaakt. Daarna zijn de regels van de replica onafhankelijk.

Gestopte replica's

Als u de replicatie tussen een bronserver en een leesreplica stopt, wordt de gestopte replica een zelfstandige server die zowel lees- als schrijfgegevens accepteert. De zelfstandige server kan niet opnieuw worden gemaakt in een replica.

Verwijderde bron- en zelfstandige servers

Wanneer een bronserver wordt verwijderd, wordt de replicatie gestopt naar alle leesreplica's. Deze replica's worden automatisch zelfstandige servers en kunnen zowel lees- als schrijf lezen accepteren. De bronserver zelf wordt verwijderd.

Gebruikersaccounts

Gebruikers op de bronserver worden gerepliceerd naar de leesreplica's. U kunt alleen verbinding maken met een leesreplica met behulp van de gebruikersaccounts die beschikbaar zijn op de bronserver.

Serverparameters

Om problemen met de synchronisatie van gegevens en mogelijk verlies of beschadiging van gegevens te voorkomen, worden bepaalde serverparameters vergrendeld zodat ze niet kunnen worden bijgewerkt bij gebruik van replica's voor lezen.

De volgende serverparameters zijn vergrendeld op zowel de bron- als de replicaserver:

De event_scheduler parameter is vergrendeld op de replicaservers.

Als u een van de bovenstaande parameters op de bronserver wilt bijwerken, verwijdert u replicaservers, updatet u de parameterwaarde op de primaire server en maakt u replica's opnieuw.

Anders

  • Het maken van een replica van een replica wordt niet ondersteund.
  • In-memory tabellen kunnen ertoe leiden dat replica's niet meer worden gesynchroniseerd. Dit is een beperking van de MariaDB-replicatietechnologie.
  • Zorg ervoor dat de bronservertabellen primaire sleutels hebben. Gebrek aan primaire sleutels kan leiden tot replicatielatentie tussen de bron en replica's.

Volgende stappen