Tipos de instância e flexibilidade
- Mais de 50 tipos de instância disponíveis em configurações otimizadas para compute, memória e armazenamento
- Armazenamento com NVMe em todos os tipos de instância para E/S de disco consistente e de alto desempenho
- Escalonamento independente de recursos: escolha o equilíbrio ideal entre CPU, memória e armazenamento com base na sua carga de trabalho
Como escolher o tipo de instância certo
Como o escalonamento funciona
Processo de escalonamento
- Provisioning do standby: Uma nova instância standby é criada com o tipo de instância de destino (CPU, memória e configuração de armazenamento)
- Restauração a partir de backups no S3: O standby é inicializado restaurando o backup mais recente armazenado no S3
-
Reaplicação paralela de WAL: O standby aplica todas as alterações do Write-Ahead Log (WAL) desde o backup usando mecanismos de restauração paralela com tecnologia WAL-G
- O WAL-G permite operações de restauração rápidas e paralelizadas
- O criador do WAL-G faz parte da equipe da Ubicloud, com a qual temos parceria, garantindo ampla expertise e otimização
- Sincronização da replicação: O standby alcança a instância primária transmitindo e aplicando continuamente as alterações de WAL em andamento
-
Failover: Assim que o standby estiver totalmente sincronizado, um failover controlado promove o standby à nova instância primária
- Esta é a única etapa que causa indisponibilidade (~30 segundos)
- Todas as conexões ativas são interrompidas durante o failover
- Os clientes precisam se reconectar após a conclusão do failover
- Desativação da instância antiga: A instância original é desativada após a conclusão do failover
Duração do escalonamento
- Restauração do backup: Tempo para restaurar o backup completo mais recente do S3 na nova instância
- Reaplicação do WAL: Tempo para reaplicar as mudanças incrementais do WAL desde o último backup completo
- Restauração paralela: Os mecanismos de restauração paralela do WAL-G aceleram significativamente o processo
Restauração em paralelo com WAL-G
- Download e descompressão em paralelo: vários segmentos de backup são baixados do S3 e descomprimidos simultaneamente
- Reaplicação eficiente de WAL: alterações incrementais de WAL são aplicadas em paralelo sempre que possível
- Streaming otimizado: streaming direto do armazenamento S3, sem cópias intermediárias
- Restauração rápida: embora o tempo total dependa do volume de dados, a abordagem paralelizada torna o processo bastante rápido
Iniciando uma operação de escalonamento
- Acesse a aba Configurações da sua instância
- Na seção Escalonamento, vá até Tamanho do serviço
- Selecione o tipo de instância desejado
- Revise as alterações e clique em “Aplicar alterações”
Estratégias de escalonamento
Escalonamento vertical
- Controle granular: Escolha entre mais de 50 tipos de instância para ajustar com precisão CPU, memória e armazenamento
- Otimização da carga de trabalho: Selecione configurações otimizadas para sua carga de trabalho específica (intensiva em computação, memória ou armazenamento)
- Eficiência de custo: Pague apenas pelos recursos de que você precisa, sem provisionar recursos em excesso
Réplicas de leitura para escalabilidade horizontal
- Direcione as consultas de leitura para instâncias dedicadas de réplica de leitura
- Cada réplica de leitura é uma instância do Postgres totalmente independente, com sua própria capacidade de processamento e memória
- As réplicas de leitura transmitem alterações de WAL a partir do armazenamento de objetos para garantir uma replicação eficiente
Escalonamento de CDC para a integração com o ClickHouse
- Escalone os workers de CDC de 1 a 24 núcleos de CPU
- A memória é ajustada automaticamente para 4x o número de núcleos de CPU
- Ajuste o escalonamento por meio da OpenAPI do ClickPipes
Escalonamento automático
- 85% de uso de disco: Você recebe uma notificação pelo console da Cloud e por e-mail.
- 90% de uso de disco: O escalonamento automático é iniciado. O armazenamento é aumentado para o próximo tamanho disponível para a família da sua instância. A CPU e a memória permanecem inalteradas, a menos que o tamanho atual da instância não ofereça suporte a um disco maior. Nesse caso, o tamanho da instância também é aumentado. As réplicas de leitura são escaladas junto com a primária.
- 95% de uso de disco: A transição ignora qualquer janela de manutenção configurada e ocorre assim que o novo servidor estiver pronto.
Transição e conexões
Modo somente leitura
As leituras continuam funcionando, enquanto as operações de gravação falham com o erro padrão do Postgres
cannot execute INSERT in a read-only transaction. Se o espaço livre continuar diminuindo, as conexões existentes serão encerradas para que cada sessão adote a configuração de somente leitura; as leituras voltarão a funcionar assim que os clientes se reconectarem. O modo somente leitura é desativado automaticamente quando o espaço livre é recuperado, geralmente logo após a conclusão da transição de aumento de escala.
Exemplo
- Ao atingir 870 GB usados (85%), você recebe uma notificação de armazenamento.
- Ao atingir 922 GB usados (90%), o escalonamento automático é iniciado. Um servidor substituto com 2048 GB de armazenamento é provisionado e restaurado a partir do backup mais recente, enquanto sua instância continua atendendo ao tráfego.
- Quando o substituto estiver atualizado, será feita a transição, dentro da sua janela de manutenção, se houver uma configurada. As conexões são interrompidas por menos de um minuto, sua aplicação se reconecta ao mesmo hostname e o uso volta a cerca de 45%.
- Se o espaço livre cair abaixo de 2% (cerca de 20 GB) antes da conclusão da transição, a instância ficará no modo somente leitura. As gravações serão retomadas automaticamente assim que a transição para o disco maior for concluída.