Réplicas de leitura no Azure Cosmos DB for PostgreSQL
APLICA-SE A: Azure Cosmos DB para PostgreSQL (alimentado pela extensão de banco de dados Citus para PostgreSQL)
O recurso de réplica de leitura permite replicar dados de um cluster para um cluster somente 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 destina-se a 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. Ocorrerá um atraso significativo entre o cluster principal 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 cluster principal e a réplica. Os dados na réplica podem tornar-se consistentes com os dados no cluster principal. Utilize esta funcionalidade para cargas de trabalho que podem acomodar este atraso.
Criar uma réplica
Quando iniciar o fluxo de trabalho de 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 cluster principal e o tempo decorrido desde a última cópia de segurança completa 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 de transmissão em fluxo com blocos de replicação. Quando necessário, o envio de registos é utilizado para atualização.
Saiba como criar uma réplica de leitura no portal do 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 na 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 ligar-se a uma réplica de leitura com as contas de utilizador que estão disponíveis no servidor principal.
Pode ligar-se ao nó de coordenação da réplica ao utilizar o nome do anfitrião e uma conta de utilizador válida, tal como num cluster normal. Por exemplo, dado um servidor chamado minha réplica com o nome de usuário admin 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 da réplica para o cluster independente
Pode promover uma réplica para um cluster independente que pode ser lido e escrito. Uma réplica promovida já não recebe atualizações do cluster 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:
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.
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 escritas para o cluster original após a réplica ser atualizada.
Você pode ver até onde uma réplica alcançou usando a
replication_lag
métrica. 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.
Configuração da réplica
As réplicas herdam configurações de computação, armazenamento e nó de trabalho de suas principais. Você pode alterar algumas configurações, mas não todas, em uma réplica. Por exemplo, você pode alterar 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 acompanhar as mudanças que chegam do primário. Por exemplo, certifique-se de escalonar o poder de computação em réplicas se você escaloná-lo no 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
- Saiba como criar e gerenciar réplicas de leitura no portal do Azure.