Partilhar via


Réplicas de leitura no Azure Cosmos DB for PostgreSQL

Importante

O Azure Cosmos DB para PostgreSQL não tem mais suporte para novos projetos. Não use este serviço para novos projetos. Em vez disso, use um destes dois serviços:

  • Use o Azure Cosmos DB para NoSQL para obter uma solução de banco de dados distribuído projetada para cenários de alta escala com um SLA (contrato de nível de serviço) de disponibilidade de 99.999%, dimensionamento automático instantâneo e failover automático em várias regiões.

  • Use a funcionalidade de Clusters Elásticos do Azure para PostgreSQL para PostgreSQL fragmentado, utilizando a extensão Citus de código aberto.

O recurso de leitura de réplica permite replicar dados de um cluster para um cluster apenas de leitura. As réplicas são atualizadas de forma assíncrona com a tecnologia de replicação física PostgreSQL. Pode executar até cinco réplicas a partir do servidor principal.

As réplicas são novos clusters que pode gerir de forma semelhante aos clusters normais. Para cada réplica de leitura, são-lhe faturados a computação aprovisionada nos vCores e o armazenamento em GiB/mês. Os custos de computação e armazenamento para clusters de réplica são os mesmos que para clusters regulares.

Saiba como criar e gerenciar réplicas.

Quando utilizar uma réplica de leitura

A funcionalidade de réplica de leitura ajuda a melhorar o desempenho e o dimensionamento de cargas de trabalho de leitura intensiva. As cargas de trabalho de leitura podem ser isoladas das réplicas e as cargas de trabalho de escrita podem ser encaminhadas para o servidor principal.

Um cenário comum é fazer com que as cargas de trabalho analíticas e de BI utilizem a réplica de leitura como a origem de dados de relatórios.

Como as réplicas são só de leitura, não reduzem diretamente as cargas de capacidade de escrita no servidor principal.

Considerações

O recurso destina-se a cenários em que o atraso de replicação é aceitável e serve para descarregar consultas. Ele não se destina a cenários de replicação síncrona em que se espera que os dados de réplica estejam atualizados. Haverá um atraso mensurável entre o primário e a réplica. O atraso pode ser de alguns minutos ou mesmo de horas, dependendo da carga de trabalho e da latência entre o principal e a réplica. Os dados na réplica eventualmente tornam-se consistentes com os dados no primário. Utilize esta funcionalidade para cargas de trabalho que podem acomodar este atraso.

Criar uma réplica

Quando inicia o fluxo de trabalho de criar réplica, é criado um cluster em branco. O novo cluster é preenchido com os dados que estavam no cluster principal. O tempo de criação depende da quantidade de dados no servidor principal e do tempo decorrido desde o último backup completo semanal. O tempo pode variar entre alguns minutos e várias horas.

A funcionalidade de réplica de leitura utiliza a replicação física do PostgreSQL e não a replicação lógica. O modo predefinido é a replicação por fluxo contínuo usando slots de replicação. Quando necessário, o envio de registos é utilizado para ficar em dia.

Saiba como criar uma réplica de leitura no Portal Azure.

Ligar a uma réplica

Quando cria uma réplica, esta não herda as regras de firewall do cluster principal. Estas regras devem ser configuradas de forma independente para a réplica.

A réplica herda a conta admin (citus) do cluster primário. Todas as contas de utilizador são replicadas para as réplicas de leitura. Só pode conectar-se a uma réplica de leitura utilizando as contas de utilizador disponíveis no servidor principal.

Pode ligar-se ao nó de coordenação da réplica utilizando o seu hostname e uma conta de utilizador válida, tal como faria num cluster regular. Por exemplo, dado um servidor chamado minha réplica com o nome de utilizador de administrador citus, você pode se conectar ao nó coordenador da réplica usando psql:

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

Quando lhe for pedido, introduza a palavra-passe para a conta de utilizador.

Promoção de réplica para um cluster independente

Pode promover uma réplica para um cluster independente que seja legível e editável. Uma réplica promovida já não recebe atualizações do seu original, e a promoção não pode ser anulada. As réplicas promovidas podem ter réplicas próprias.

Existem dois cenários comuns para a promoção de uma réplica:

  1. Recuperação após desastre Se algo der errado com o primário ou com uma região inteira, você pode abrir outro cluster para gravações como um procedimento de emergência.

  2. Migrar para outra região. Se quiser mudar-se para outra região, crie uma réplica na nova região, aguarde que os dados sejam atualizados e, em seguida, promova a réplica. Para evitar uma possível perda de dados durante a promoção, poderá querer desativar as operações de escrita para o cluster original após a réplica estar sincronizada.

    Você pode ver até onde uma réplica se sincronizou usando a métrica replication_lag. Para obter mais informações, veja Métricas.

Considerações

Esta seção resume as considerações sobre o recurso de réplica de leitura.

Novas réplicas

Uma réplica de leitura é criada como um novo cluster. Um cluster existente não pode ser transformado em uma réplica. Não é possível criar uma réplica de outra réplica de leitura existente.

Configuração da réplica

As réplicas herdam as configurações de computação, armazenamento e nós de trabalho dos seus principais. Você pode alterar algumas configurações, mas não todas, em uma réplica. Por exemplo, pode alterar recursos de computação, regras de firewall para acesso público e pontos de extremidade privados para acesso privado. Não é possível alterar o tamanho do armazenamento ou o número de nós de trabalho.

Lembre-se de manter as réplicas fortes o suficiente para suportar as alterações que chegam do primário. Por exemplo, certifique-se de aumentar o poder de computação nas réplicas se aumentar no sistema principal.

As regras de firewall e as configurações de parâmetros não são herdadas do servidor primário para a réplica quando a réplica é criada ou posteriormente.

Replicação entre regiões

As réplicas de leitura podem ser criadas na região do cluster principal ou em qualquer outra região suportada pelo Azure Cosmos DB for PostgreSQL. O limite de cinco réplicas por cluster contabiliza todas as regiões, o que significa um total de cinco e não cinco por região.

Próximos passos