Crie uma ou mais instâncias RDS somente leitura para descarregar o tráfego de leitura da instância primária e aumentar o throughput de leitura em cargas de trabalho com alto volume de leituras.
Visão geral
Ao criar uma instância RDS somente leitura, os dados são replicados da instância secundária sem interromper as cargas de trabalho da instância primária. As atualizações na instância primária se sincronizam automaticamente com todas as instâncias somente leitura.
Instâncias primárias com SSDs locais premium suportam até 5 instâncias somente leitura. Instâncias primárias com discos em nuvem suportam até 32.
Instâncias somente leitura em SSDs locais premium utilizam arquitetura de alta disponibilidade.
Instâncias somente leitura em discos em nuvem usam arquitetura de nó único, sem nós em espera. Para garantir a disponibilidade, adquira múltiplas instâncias somente leitura e utilize libpq ou JDBC para failovers automáticos. Para mais informações, consulte Implementar failover automático e divisão de leitura/escrita. Você também pode usar o recurso de proxy de banco de dados para divisão automática de leitura/escrita. Para mais detalhes, veja O que são proxies de banco de dados?
A figura a seguir ilustra a topologia entre a instância primária e suas instâncias somente leitura.
Cenários
A instância primária está sobrecarregada com solicitações de leitura. Crie instâncias somente leitura para aliviar esse tráfego.
A instância primária fica temporariamente indisponível devido a backup ou manutenção. As instâncias somente leitura continuam atendendo às solicitações de leitura, assegurando a continuidade dos negócios.
Execute consultas de análise de dados e relatórios nas instâncias somente leitura sem impactar o desempenho da instância primária.
Utilize a divisão de leitura/escrita para eliminar contenção de bloqueios e melhorar o throughput do sistema.
Regras de faturamento
As instâncias RDS somente leitura aceitam os modelos de assinatura e pagamento conforme o uso. Para preços de assinatura, visite a página de compra do ApsaraDB RDS. Para obter mais informações sobre os custos de uma instância RDS somente leitura no modelo de pagamento conforme o uso, consulte Tipos de instância somente leitura.
Recursos
Regiões e zonas: as instâncias somente leitura devem estar na mesma região da instância primária, mas podem residir em zonas diferentes.
Tipo de rede: as instâncias somente leitura podem usar um tipo de rede diferente do da instância primária. Para mais detalhes, consulte Alterar o tipo de rede.
Gerenciamento de contas e bancos de dados: contas e bancos de dados se sincronizam automaticamente a partir da instância primária. Não é necessário gerenciá-los separadamente nas instâncias somente leitura.
Listas de permissões de endereços IP: o sistema replica as listas de permissões de endereços IP da instância primária durante a criação da instância somente leitura. Após a criação, essas listas são gerenciadas de forma independente. Para modificar as listas de permissões de uma instância somente leitura, siga as instruções em Configurar uma lista de permissões de IP.
Monitoramento e alertas: acompanhe métricas de desempenho como uso de disco, IOPS, conexões e utilização de CPU por meio de gráficos.
Divisão de leitura/escrita: o recurso de proxy de banco de dados encaminha solicitações de escrita para a instância primária e solicitações de leitura para as instâncias somente leitura. Para saber como ativar o proxy de banco de dados em uma instância RDS primária, consulte O que são proxies de banco de dados?
Limites de instâncias: até 32 instâncias somente leitura para instâncias primárias com discos em nuvem ou até 5 para SSDs locais premium.
Limites
Backup de dados: políticas de backup e backups manuais são configurados apenas na instância primária, não nas instâncias somente leitura.
Migração de dados: não é possível migrar dados para instâncias somente leitura.
Gerenciamento de banco de dados: não é permitido criar nem excluir bancos de dados.
Gerenciamento de contas: não é possível criar contas, conceder permissões, alterar senhas ou excluir contas em instâncias somente leitura.
-
Especificações e capacidade de armazenamento:
Para instâncias com disco em nuvem: o armazenamento da instância somente leitura deve ser maior ou igual ao da instância primária. Se a instância primária possuir mais memória que a instância somente leitura, esta última reinicia durante alterações de especificação.
Para instâncias com SSD local premium: as especificações e o armazenamento da instância somente leitura não podem ser inferiores aos da instância primária.
Caso uma instância somente leitura enfrente erros inesperados, como falhas de replicação, o sistema a reconstrói automaticamente.
Quando a instância primária é liberada, instâncias somente leitura por assinatura recebem reembolso automático e são liberadas, enquanto instâncias por pagamento conforme o uso são liberadas diretamente.
Perguntas frequentes
-
P: Posso alterar o método de faturamento de uma instância somente leitura?
R: Sim. Para mais informações, consulte Alterar o método de faturamento de uma instância de pagamento conforme o uso para assinatura ou Alterar o método de faturamento de uma instância de assinatura para pagamento conforme o uso.
-
P: Alterar as configurações, liberar ou mudar o método de faturamento de uma instância somente leitura afeta a instância primária?
R: Não, essas ações não afetam a instância primária.
-
P: Posso usar as contas criadas na instância primária para acessar a instância somente leitura?
R: Sim. As contas da instância primária se sincronizam com a instância somente leitura, mas não podem ser gerenciadas nela. Essas contas possuem permissões somente leitura na instância correspondente.
-
P: É possível converter uma instância somente leitura em uma instância regular, por exemplo, para recuperação de desastres?
R: Não, essa operação não é suportada.
-
P: Posso fazer backup dos dados em uma instância somente leitura? Backups automáticos podem ser executados nessa instância?
R: Não. Backups não são necessários para instâncias somente leitura. Todos os backups ocorrem na instância primária.
-
P: A instância somente leitura suporta replicação paralela?
R: O ApsaraDB RDS for PostgreSQL utiliza replicação física por streaming, que depende da sincronização e reprodução de logs WAL para replicar dados. Esse método é altamente eficiente e não exige replicação paralela.
-
P: Como os logs de transação são limpos?
R: Após a conclusão de um backup de log WAL do ApsaraDB RDS for PostgreSQL, o kernel limpa automaticamente os logs durante uma operação de checkpoint.
-
P: Como determinar se a replicação está normal com base na latência de replicação?
R: Normalmente, a latência de replicação é inferior a um segundo. Latências superiores a um segundo indicam atraso na sincronização de dados. Em casos extremos, a replicação pode ser desconectada.
-
P: Quais são as causas comuns de latência de replicação?
R: As causas mais frequentes e suas respectivas soluções são:
-
Causa 1: a instância somente leitura possui especificações significativamente inferiores às da instância primária, o que pode gerar alta latência de replicação.
Solução: faça upgrade do tipo de instância da instância somente leitura. Para mais informações, consulte Alterar especificações da instância.
-
Causa 2: o parâmetro
max_standby_streaming_delaynão está configurado adequadamente, resultando em alta latência de replicação. Para saber como definir parâmetros, consulte Modificar os parâmetros de uma instância ApsaraDB RDS for PostgreSQL.Solução: ajuste o valor do parâmetro
max_standby_streaming_delay:Um valor baixo reduz a latência de replicação entre a instância somente leitura e a primária, mas pode causar o cancelamento de transações na instância somente leitura.
Um valor excessivamente alto pode provocar alta latência de replicação.
-