Delen via


Leesreplica's in Azure Cosmos DB voor PostgreSQL

VAN TOEPASSING OP: Azure Cosmos DB for PostgreSQL (mogelijk gemaakt door de Citus-database-extensie naar PostgreSQL)

Met de functie leesreplica kunt u gegevens van een cluster repliceren naar een alleen-lezen cluster. Replica's worden asynchroon bijgewerkt met postgreSQL-technologie voor fysieke replicatie. U kunt maximaal vijf replica's uitvoeren van de primaire server.

Replica's zijn nieuwe clusters die u net als reguliere clusters beheert. Voor elke leesreplica wordt u gefactureerd voor de ingerichte rekenbewerkingen in vCores en opslag in GB/maand. De reken- en opslagkosten voor replicaclusters zijn hetzelfde als voor normale clusters.

Meer informatie over het maken en beheren van replica's.

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.

Overwegingen

De functie is bedoeld voor scenario's waarbij replicatievertraging acceptabel is en bedoeld is voor offloading van query's. Het is niet bedoeld voor synchrone replicatiescenario's waarbij replicagegevens naar verwachting up-to-date zijn. Er is een meetbare vertraging tussen de primaire en de replica. De vertraging kan minuten of zelfs uren duren, afhankelijk van de workload en de latentie tussen primaire en 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.

Replica's maken

Wanneer u de replica-werkstroom maken start, wordt een blanco cluster gemaakt. De nieuwe cluster wordt gevuld met de gegevens die aanwezig zijn op de primaire cluster. De aanmaaktijd is afhankelijk van de hoeveelheid gegevens op de primaire server en de tijd sinds de laatste wekelijkse volledige back-up. De tijd kan variëren van enkele minuten tot enkele uren.

De functie leesreplica maakt gebruik van fysieke PostgreSQL-replicatie, niet van logische replicatie. De standaardmodus is het streamen van de replicatie met behulp van replicatiesites. Indien nodig wordt de back-upfunctie voor logboekbestanden gebruikt om de achterstand in te halen.

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

Verbinding maken met een replica

Wanneer u een replica maakt, neemt deze geen firewallregels over van het primaire cluster. De regels moeten onafhankelijk van het replica worden ingesteld.

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

U kunt verbinding maken met het coördinatorknooppunt van de replica met behulp van de hostnaam en een geldig gebruikersaccount, net als in een normaal cluster. Als u bijvoorbeeld een server met de naam mijn replica met de gebruikersnaam citus van de beheerder hebt, kunt u verbinding maken met het coördinatorknooppunt van de replica met behulp van psql:

psql -h c-myreplica.12345678901234.postgres.cosmos.azure.com -U citus@myreplica -d postgres

Voer bij de prompt het wachtwoord voor het gebruikersaccount in.

Replicapromotie naar een onafhankelijk cluster

U kunt een replica promoveren tot een onafhankelijk cluster dat leesbaar en schrijfbaar is. Een gepromoveerde replica ontvangt geen updates meer van de oorspronkelijke replica en de promotie kan niet ongedaan worden gemaakt. Gepromoveerde replica's kunnen eigen replica's hebben.

Er zijn twee veelvoorkomende scenario's voor het promoten van een replica:

  1. Herstel na noodgevallen. Als er iets misgaat met de primaire regio of met een hele regio, kunt u een ander cluster openen voor schrijfbewerkingen als een noodprocedure.

  2. Migreren naar een andere regio. Als u naar een andere regio wilt gaan, maakt u een replica in de nieuwe regio, wacht u tot de gegevens zijn ingehaald en promoot u de replica. Om te voorkomen dat gegevens verloren gaan tijdens de promotie, kunt u de schrijfbewerkingen naar het oorspronkelijke cluster uitschakelen nadat de replica is ingelopen.

    U kunt zien hoe ver een replica is opgelopen met behulp van de replication_lag metrische gegevens. Zie metrische gegevens voor meer informatie.

Overwegingen

In deze sectie vindt u een overzicht van overwegingen over de functie leesreplica.

Nieuwe replica's

Er wordt een leesreplica gemaakt als een nieuw cluster. Een bestaand cluster kan niet worden gemaakt in een replica. U kunt geen replica van een andere leesreplica maken.

Replicaconfiguratie

Replica's nemen de instellingen voor reken-, opslag- en werkknooppunten over van hun primaries. U kunt sommige, maar niet alle instellingen op een replica wijzigen. U kunt bijvoorbeeld berekeningen, firewallregels voor openbare toegang en privé-eindpunten wijzigen voor privétoegang. U kunt de opslaggrootte of het aantal werkknooppunten niet wijzigen.

Vergeet niet om replica's sterk genoeg te houden om wijzigingen van de primaire server bij te houden. Zorg er bijvoorbeeld voor dat u rekenkracht opschaalt in replica's als u deze op de primaire schaal schaalt.

Firewallregels en parameterinstellingen worden niet overgenomen van de primaire server naar de replica wanneer de replica wordt gemaakt of later.

Replicatie in meerdere regio's

Leesreplica's kunnen worden gemaakt in de regio van het primaire cluster of in een andere regio die wordt ondersteund door Azure Cosmos DB for PostgreSQL. De limiet van vijf replica's per cluster telt voor alle regio's, wat betekent dat er vijf in totaal zijn, niet vijf per regio.

Volgende stappen