Condividi tramite


Repliche in lettura in Azure Cosmos DB for PostgreSQL

SI APPLICA A: Azure Cosmos DB for PostgreSQL (con tecnologia basata sull'estensione di database Citus per PostgreSQL)

La funzionalità relativa alle repliche in lettura consente di replicare i dati da un cluster a un altro cluster di sola lettura. Le repliche vengono aggiornate in modo asincrono tramite la tecnologia di replica fisica di PostgreSQL. È possibile eseguire fino a cinque repliche dal server primario.

Le repliche consistono in nuovi cluster gestibili in modo simile ai cluster normali. Per ogni replica in lettura, viene addebitato il costo delle risorse di calcolo e di archiviazione sottoposte a provisioning, espresse rispettivamente in vCore e GiB/mese. I costi di calcolo e archiviazione per i cluster di replica sono gli stessi dei normali cluster.

Informazioni su come creare e gestire le repliche.

Quando usare una replica in lettura

La funzionalità di replica in lettura aiuta a migliorare prestazioni e scalabilità dei carichi di lavoro con utilizzo elevato della lettura. I carichi di lavoro di lettura possono essere isolati alle repliche, mentre i carichi di lavoro di scrittura possono essere indirizzati al primario.

Uno scenario comune consiste nel fare in modo che i carichi di lavoro BI e analitici usino le repliche in lettura come origine dati per la creazione di report.

Poiché le repliche sono di sola lettura, non riducono direttamente gli oneri per la capacità di scrittura sul primario.

Considerazioni

La funzionalità è destinata agli scenari in cui il ritardo di replica è accettabile ed è destinata all'offload delle query. Non è progettata per scenari di replica sincrona, in cui i dati di replica devono essere aggiornati. Esisterà un ritardo misurabile significativo tra il primario e la replica. Il ritardo può essere di minuti o anche ore, a seconda del carico di lavoro e della latenza tra primario e replica. I dati nella replica diventeranno alla fine coerenti con i dati nel primario. Usare questa funzionalità per i carichi di lavoro in grado di sostenere questo ritardo.

Creare una replica

Quando viene avviato il flusso di lavoro per la creazione della replica, viene creato un cluster vuoto. Questo nuovo cluster viene riempito con i dati presenti nel cluster primario. Il tempo necessario per la creazione dipende dalla quantità di dati nel primario e dal tempo trascorso dall'ultimo backup completo settimanale. Il tempo può variare da pochi minuti a diverse ore.

La funzionalità di replica in lettura usa la replica fisica di PostgreSQL e non la replica logica. La modalità predefinita è la replica di streaming tramite gli slot di replica. Se necessario, viene usato il log shipping per mettersi in pari.

Informazioni su come creare una replica di lettura nel portale di Azure.

Connessione a una replica

Quando si crea una replica, questa non eredita le regola del firewall del cluster primario, Queste regole devono essere configurate in modo indipendente per la replica.

La replica eredita l'account amministratore (citus) dal cluster primario. Tutti gli account utente vengono replicati nelle repliche in lettura. È possibile connettersi a una replica in lettura solo tramite gli account utente che sono disponibili nel server primario.

È possibile connettersi al nodo coordinatore di una replica usando il relativo nome host e un account utente valido, come si farebbe per un normale cluster. Ad esempio, dato un server denominato replica con il nome utente amministratore citus, è possibile connettersi al nodo coordinatore della replica usando psql:

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

Quando richiesto, immettere la password per l'account dell'utente.

Promozione della replica in un cluster indipendente

È possibile promuovere una replica in un cluster indipendente leggibile e scrivibile. Una replica promossa non riceve più aggiornamenti dall'originale e la promozione non può essere annullata. Le repliche promosse possono avere repliche personalizzate.

Esistono due scenari comuni per promuovere una replica:

  1. Ripristino di emergenza. Se si verifica un errore con il primario o con un'intera area, è possibile aprire un altro cluster per le scritture come procedura di emergenza.

  2. Migrazione a un'altra area. Se si vuole passare a un'altra area, creare una replica nella nuova area, attendere che i dati siano aggiornati, quindi promuovere la replica. Per evitare di perdere dati durante la promozione, è possibile disabilitare le scritture nel cluster originale dopo che la replica si è aggiornata.

    È possibile verificare l'avanzamento di una replica usando la metrica replication_lag. Per altre informazioni, vedere le metriche.

Considerazioni

Questa sezione riepiloga le considerazioni sulla funzionalità di replica in lettura.

Nuove repliche

Una replica in lettura viene creata come nuovo cluster. Un cluster esistente non può essere impostato come replica. Non è possibile creare una replica di un'altra replica in lettura.

Configurazione della replica

Le repliche ereditano le impostazioni di calcolo, archiviazione e nodo di lavoro dai relativi elementi primari. È possibile modificare alcune impostazioni, ma non tutte, in una replica. Ad esempio, è possibile modificare il calcolo, le regole del firewall per l'accesso pubblico e gli endpoint privati per l'accesso privato. Non è possibile modificare le dimensioni di archiviazione o il numero di nodi di lavoro.

Ricordarsi di mantenere le repliche abbastanza forti per mantenere le modifiche in arrivo dal database primario. Ad esempio, assicurarsi di aumentare la potenza di calcolo nelle repliche se si esegue un aumento sull'elemento primario.

Le regole del firewall e le impostazioni dei parametri vengono ereditate dal server principale e applicate alla replica quando viene creata o in un secondo momento.

Replica tra più aree

È possibile creare repliche in lettura nell'area del cluster primario o in qualsiasi altra area supportata da Azure Cosmos DB for PostgreSQL. Il limite di cinque repliche per cluster conta in tutte le aree, ovvero cinque totali, non cinque per area.

Passaggi successivi