Leesreplica's in Azure Database for MariaDB
Belangrijk
Azure Database for MariaDB bevindt zich op het buitengebruikstellingspad. We raden u ten zeerste aan om te migreren naar Azure Database for MySQL. Zie Wat gebeurt er met Azure Database for MariaDB voor meer informatie over migreren naar Azure Database for MySQL.
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 binaire logboekbestandstechnologie (binlog) van de MariaDB-engine met globale transactie-id (GTID). Zie het overzicht van binlog-replicatie voor meer informatie over binlog-replicatie.
Replica's zijn nieuwe servers die u beheert, vergelijkbaar met gewone Azure Database for MariaDB-servers. Voor elke leesreplica wordt u gefactureerd voor de ingerichte 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 u een leesreplica moet gebruiken
De leesreplicafunctie helpt de prestaties en schaal van leesintensieve werkbelastingen verbeteren. Leeswerkbelastingen kunnen worden geïsoleerd naar de replica's, terwijl schrijfwerkbelastingen naar de primaire server kunnen worden omgeleid.
Een veelvoorkomend scenario is om BI en analytische werkbelastingen de leesreplica's te laten gebruiken als de gegevensbron voor rapportage.
Aangezien replica's alleen-lezen zijn, verminderen ze niet direct de belasting van de schrijfcapaciteit op de primaire server. 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. Gebruik deze functie voor workloads die deze vertraging aan kunnen.
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 als het plannen van herstel na noodgeval 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 universele replicaregio's. In de onderstaande afbeelding ziet u welke replicaregio's beschikbaar zijn, afhankelijk van uw bronregio.
Universele replicaregio's
U kunt een leesreplica maken in een van de volgende regio's, ongeacht waar uw bronserver zich bevindt. De ondersteunde universele replicaregio's zijn onder andere:
Australië - oost, Australië - zuidoost, Brazilië - zuid, Canada - centraal, Canada - oost, VS - centraal, Azië - 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 uw bronserver. Als u het paar van uw regio niet weet, vindt u meer informatie in het artikel gekoppelde Azure-regio's.
Als u replica's voor meerdere regio's gebruikt voor het plannen van herstel na noodgevallen, raden we u aan om de replica te maken in de gekoppelde regio in plaats van een van de andere regio's. Gekoppelde regio's voorkomen gelijktijdige updates en prioriteren fysieke isolatie en gegevenslocatie.
Er zijn echter beperkingen om rekening mee te houden:
Regionale beschikbaarheid: Azure Database for MariaDB is beschikbaar in Frankrijk - centraal, UAE - noord en Duitsland - centraal. De gekoppelde regio's zijn echter niet beschikbaar.
Unidirectionele paren: sommige Azure-regio's worden 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 van India - west India is, maar de secundaire regio van Zuid-India is niet India - west.
Replica's maken
Belangrijk
De functie leesreplica is alleen beschikbaar voor Azure Database for MariaDB-servers in de prijscategorieën Algemeen gebruik of Geoptimaliseerd voor geheugen. Zorg ervoor dat de bronserver zich in een van deze prijscategorieën bevindt.
Als een bronserver geen bestaande replicaservers heeft, wordt de bron eerst opnieuw opgestart om zich voor te bereiden op replicatie.
Wanneer u de werkstroom voor het maken van replica's start, wordt er een lege Azure Database for MariaDB-server gemaakt. De nieuwe server wordt gevuld met de gegevens die zich op de bronserver bevinden. De aanmaaktijd is afhankelijk van de hoeveelheid gegevens op de bron en de tijd sinds de vorige wekelijkse volledige back-up. De tijd kan variëren van enkele minuten tot enkele uren.
Notitie
Als u geen opslagwaarschuwing hebt ingesteld op uw servers, raden we u aan dit te doen. De waarschuwing informeert u wanneer een server de opslaglimiet nadert, wat van invloed is op de replicatie.
Meer informatie over het maken van een leesreplica in Azure Portal.
Verbinding maken met 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, net zoals op een gewone Azure Database for MariaDB-server. Voor een server met de naam myreplica met de gebruikersnaam myadmin van de beheerder 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 bewaken
Azure Database for MariaDB biedt de replicatievertraging in seconden metrische gegevens in Azure Monitor. Deze metrische waarde is alleen beschikbaar voor replica's.
Deze metrische waarde wordt berekend met behulp van de seconds_behind_master
metrische waarde die beschikbaar is in de opdracht van SHOW SLAVE STATUS
MariaDB.
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 replicatieopdracht stoppen werd gestart. De zelfstandige server haalt de bronserver niet op.
Wanneer u ervoor kiest om de replicatie naar een replica te stoppen, gaan alle koppelingen naar de vorige bron en andere replica's verloren. Er is geen automatische failover tussen een bron en de replica.
Belangrijk
De zelfstandige server kan niet opnieuw in een replica worden gemaakt. Voordat u de replicatie op een leesreplica stopt, moet u ervoor zorgen dat de replica alle gegevens bevat 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 hoeveelheid 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. U wordt aangeraden te bepalen wat uw gemiddelde vertraging is door de 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 valt.
Tip
Als u een failover naar de replica uitvoert, geeft de vertraging op het moment dat u de replica loskoppelt van de bron aan hoeveel gegevens verloren gaan.
Nadat u hebt besloten dat u een failover naar een replica wilt uitvoeren,
Stop de replicatie naar de replica.
Deze stap is nodig om de replicaserver schrijfbewerkingen te laten accepteren. Als onderdeel van dit proces wordt de replicaserver ontkoppeld van de primaire server. Nadat u de replicatie hebt gestart, duurt het doorgaans ongeveer 2 minuten voordat het back-endproces is voltooid. Zie de sectie stopreplicatie van dit artikel om inzicht te krijgen in de gevolgen van deze actie.
Wijs uw toepassing aan op de (voormalige) replica.
Elke server heeft een unieke verbindingsreeks. Werk uw toepassing bij zodat deze verwijst 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 van uw toepassingservaring is afhankelijk van wanneer u een probleem detecteert en stap 1 en 2 hierboven uitvoert.
Overwegingen en beperkingen
Prijscategorieën
Leesreplica's zijn momenteel alleen beschikbaar in de prijscategorieën Algemeen gebruik 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 hier rekening mee en voer deze bewerkingen uit tijdens een dalperiode.
Nieuwe replica's
Er wordt een leesreplica 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. Nadat een replica is gemaakt, kunnen verschillende instellingen onafhankelijk van de bronserver worden gewijzigd: compute generation, vCores, storage, backup retention period en MariaDB engine version. De prijscategorie kan ook onafhankelijk worden gewijzigd, behalve van 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 bijhouden.
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 schrijfbewerkingen accepteert. De zelfstandige server kan niet opnieuw in een replica worden gemaakt.
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 schrijfbewerkingen 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 de bron- en replicaservers:
De event_scheduler
parameter is vergrendeld op de replicaservers.
Als u een van de bovenstaande parameters op de bronserver wilt bijwerken, verwijdert u replicaservers, werkt u de parameterwaarde op de primaire server bij en maakt u replica's opnieuw.
Overige
- Het maken van een replica van een replica wordt niet ondersteund.
- In-memory tabellen kunnen ervoor zorgen dat replica's niet meer worden gesynchroniseerd. Dit is een beperking van de MariaDB-replicatietechnologie.
- Zorg ervoor dat de bronservertabellen primaire sleutels hebben. Het ontbreken van primaire sleutels kan leiden tot replicatielatentie tussen de bron en replica's.