Dela via


Läsrepliker i Azure Cosmos DB för PostgreSQL

Viktigt!

Azure Cosmos DB for PostgreSQL stöds inte längre för nya projekt. Använd inte den här tjänsten för nya projekt. Använd i stället en av dessa två tjänster:

Funktionen för läsreplika låter dig replikera data från ett kluster till ett läs-skyddat kluster. Repliker uppdateras asynkront med postgreSQL-teknik för fysisk replikering. Du kan köra upp till fem repliker från den primära servern.

Repliker är nya kluster som du hanterar ungefär på samma sätt som vanliga kluster. För varje läsreplik faktureras du för den etablerade beräkningen i virtuella kärnor och för lagring i GiB/månad. Beräknings- och lagringskostnader för replikkluster är desamma som för vanliga kluster.

Lär dig hur du skapar och hanterar repliker.

När du ska använda en läsreplika

Funktionen med read-replikor bidrar till att förbättra prestanda och uppskalning för läsintensiva arbetslast. Läsarbetsbelastningar kan isoleras till replikerna, medan skrivarbetsbelastningar kan dirigeras till den primära servern.

Ett vanligt scenario är att låta analys- och rapporteringsbelastningar använda läsreplikan som datakälla.

Eftersom repliker är skrivskyddade minskar de inte direkt skrivkapacitetsbelastningen på den primära servern.

Att tänka på

Funktionen är avsedd för scenarier där replikeringsfördröjning är acceptabel och är avsedd för avlastning av frågor. Det är inte avsett för synkrona replikeringsscenarier där replikdata förväntas vara uppdaterade. Det blir en mätbar fördröjning mellan den primära och repliken. Fördröjningen kan vara minuter eller till och med timmar, beroende på arbetsbelastningen och latensen mellan den primära databasen och replikadatabasen. Data på repliken blir så småningom konsekvent med data på den primära servern. Använd den här funktionen för arbetsbelastningar som kan hantera den här fördröjningen.

Skapa en replik

När du startar arbetsflödet för att skapa en replik skapas ett tomt kluster. Det nya klustret fylls med data som fanns på det primära klustret. Skapandetiden beror på hur mycket data som finns på det primära klustret och hur lång tid som har gått sedan den senaste veckovisa fullständiga säkerhetskopieringen. Tiden kan variera från några minuter till flera timmar.

Funktionen för läsrepliker använder fysisk replikering i PostgreSQL, inte logisk replikering. Standardläget är dataströmsreplikering med replikeringsplatser. Vid behov används loggöverföring för att komma ikapp.

Lär dig hur du skapar en läs-replica i Azure-portalen.

Ansluta till en replik

När du skapar en replik ärver den inte brandväggsregler från det primära klustret. Dessa regler måste konfigureras separat för repliken.

Repliken ärver administratörskontot (citus) från det primära klustret. Alla användarkonton replikeras till läsrepliker. Du kan bara ansluta till en read-replik med hjälp av de användarkonton som är tillgängliga på den primära servern.

Du kan ansluta till replikens koordinatornod med hjälp av dess värdnamn och ett giltigt användarkonto, precis som i ett vanligt kluster. Med en server med namnet min replik med administratörsanvändarnamnet citus kan du till exempel ansluta till replikens koordinatornod med hjälp av psql:

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

Ange lösenordet för användarkontot när du uppmanas att göra det.

Upphöjning av kopior till ett oberoende kluster

Du kan höja upp en replik till ett oberoende kluster som är läs- och skrivbart. En befordrad replik får inte uppdateringar från sitt original och befordran kan inte ångras. Främjade repliker kan ha sina egna repliker.

Det finns två vanliga scenarier för att uppgradera en replika:

  1. Katastrofåterställning Om något går fel med den primära servern eller med en hel region, kan du öppna ett annat kluster för skrivoperationer som en nödåtgärd.

  2. Migrera till en annan region. Om du vill flytta till en annan region skapar du en replik i den nya regionen, väntar på att data ska komma ikapp och höjer sedan upp repliken. För att undvika eventuell dataförlust under promotionen kan du vilja inaktivera skrivningar till det ursprungliga klustret efter att repliken har kommit ikapp.

    Du kan se hur långt en replik har kommit ikapp med måttet replication_lag . Se mått för mer information.

Att tänka på

I det här avsnittet sammanfattas överväganden kring läsreplikfunktionen.

Nya repliker

En läsreplik skapas som ett nytt kluster. Det går inte att skapa ett befintligt kluster till en replik. Du kan inte skapa en replik av en annan läsreplik.

Replikkonfiguration

Repliker ärver beräknings-, lagrings- och arbetsnodinställningar från sina primärinställningar. Du kan ändra vissa – men inte alla – inställningar på en kopia. Du kan till exempel ändra beräkning, brandväggsregler för offentlig åtkomst och privata slutpunkter för privat åtkomst. Du kan inte ändra lagringsstorleken eller antalet arbetsnoder.

Kom ihåg att hålla replikerna tillräckligt robusta för att klara av ändringar som kommer från den primära enheten. Se till att skala upp beräkningskraften i kopior om du skalar upp den på den primära.

Brandväggsregler och parameterinställningar ärvs inte från den primära servern till repliken när repliken skapas eller efteråt.

Replikering mellan regioner

Du kan skapa läs repliker i primärklustrets region eller i någon annan region som stöds av Azure Cosmos DB for PostgreSQL. Gränsen på fem repliker per kluster omfattar alla regioner, dvs. fem repliker totalt, inte fem repliker per region.

Nästa steg