A partir da V1.1, o Hologres suporta uma instância primária com até 10 instâncias secundárias somente leitura com armazenamento compartilhado. Esse recurso separa o tráfego de leitura e gravação e proporciona isolamento de carga e de falhas sem duplicação de dados. O armazenamento é faturado apenas uma vez.
Configurar instâncias primária e secundárias
Etapa 1: Comprar uma instância secundária somente leitura
Acesse a página de compra do Hologres.
Defina Instance Type como Read-only Secondary Instance.
Em Primary Instance ID of the Read-only Secondary Instance, selecione o ID da instância primária.
Configure os parâmetros restantes. Purchase a Hologres instance.
A instância secundária somente leitura deve estar na mesma região da instância primária.
Etapa 2: Verifique se a instância secundária está anexada
Após a compra, o sistema anexa automaticamente a instância secundária à instância primária selecionada. Aguarde o estado da instância mudar para Running as Expected.
Etapa 3: Conectar-se ao endpoint secundário
Cada instância secundária tem seu próprio endpoint. Direcione o tráfego de leitura para endpoints secundários diferentes e isole as cargas de trabalho por cenário de negócios.
Diretrizes de uso
Execute todas as operações de gravação, DDL, autorização e alterações de parâmetros na instância primária. As instâncias secundárias são somente leitura.
As instâncias secundárias herdam todos os objetos (usuários, tabelas, políticas de acesso) da instância primária. Não crie usuários específicos em uma instância secundária.
Após a configuração, direcione o tráfego de leitura de produção para os endpoints secundários.
Cenários recomendados
|
Cenário |
Instância primária |
Instâncias secundárias |
|
Separação de leitura e gravação |
Ingestão e transformação de dados |
Análise de dados |
|
Isolamento de service online (alta estabilidade P99) |
Todas as operações de gravação |
Réplica dedicada a consultas online, isolada de outras cargas de trabalho |
|
Isolamento de consultas OLAP |
Todas as operações de gravação |
Réplica separada e focada em análises, distinta da réplica de service online |
Como funciona
Recuperação automática de instância única
Toda instância do Hologres tem recuperação automática integrada. Não é necessária nenhuma operação e manutenção (O&M) manual.
Os nós de computação operam em contêineres (Worker Nodes). O Resource Manager verifica periodicamente a integridade de cada contêiner. Se um contêiner não responder em até um minuto (por OOM, falha de hardware ou bugs de software), o Resource Manager inicia um nó de substituição e migra as responsabilidades de shard para ele.
Os dados residem no sistema de armazenamento distribuído Pangu, não nos nós de computação. Como os nós de computação não mantêm estado, o sistema conclui a recuperação sem migração de dados. Esse processo leva aproximadamente um minuto na V1.1 e versões posteriores, de 5 a 10 vezes mais rápido que nas versões anteriores.
As consultas direcionadas a um nó em recuperação falham imediatamente durante o processo.

Arquitetura de armazenamento compartilhado com múltiplas instâncias
A recuperação de instância única ainda causa uma breve janela de indisponibilidade. Para cargas de trabalho que exigem disponibilidade contínua, a V1.1 e versões posteriores suportam a implantação de múltiplas instâncias com armazenamento compartilhado.
|
Componente |
Capacidades |
|
Instância primária |
Operações de leitura e gravação, gerenciamento de permissões, configuração de parâmetros do sistema |
|
Instâncias secundárias |
Somente leitura; a instância primária deve processar todas as alterações (criação de tabelas, autorização de usuários, parâmetros do sistema) |
As instâncias compartilham dados e políticas de acesso, mas não recursos de computação, e proporcionam isolamento de carga e de falhas. O armazenamento é faturado apenas uma vez.

Sincronização entre instâncias
Os estados de memória se sincronizam em tempo real entre as instâncias, com latência de milissegundos dentro da mesma região. O sistema sincroniza automaticamente as operações de gravação da instância primária com todas as instâncias secundárias.
As instâncias secundárias consomem aproximadamente 1/8 da CPU e da memória da instância primária, mesmo quando ociosas. Evite usar especificações significativamente diferentes entre as instâncias primária e secundárias.
Pré-requisitos
Verifique o seguinte:
|
Requisito |
Detalhe |
|
Versão do Hologres |
V1.1 ou posterior para a instância primária. Para versões anteriores, consulte Common upgrade preparation errors ou entre no grupo de usuários do Hologres para solicitar uma atualização. Para mais informações, consulte Get online support for Hologres |
|
Região |
As instâncias primária e secundárias devem estar na mesma região |
|
Paridade de versão |
As instâncias primária e secundárias devem executar a mesma versão do Hologres |
|
Permissões de RAM |
O usuário RAM responsável por anexar e desanexar deve ter a política AliyunHologresFullAccess. Grant permissions to RAM users. |
Limites
|
Restrição |
Detalhe |
|
Máximo de instâncias secundárias |
10 instâncias secundárias somente leitura por instância primária |
|
Contagem de shards |
Todas as instâncias devem ter o mesmo número de shards |
|
Especificações |
As configurações de recursos podem diferir entre as instâncias, mas não devem variar significativamente |
|
Réplicas não anexadas |
Uma instância secundária somente leitura não aceita conexões até ser anexada a uma instância primária |
|
Duração da anexação |
Anexar uma réplica leva aproximadamente de 3 a 5 minutos. A réplica fica indisponível até a conclusão do processo |
|
Disponibilidade da instância primária durante a anexação |
A instância primária permanece totalmente operacional durante a anexação de uma réplica |
|
Limiar de latência de sincronização |
Na V1.3.27 e versões posteriores, o limiar é de 60 minutos (anteriormente 20 minutos). Se a utilização da réplica permanecer em 100% por mais de 60 minutos, o sistema reinicia a réplica automaticamente. Para utilização alta e contínua, ajuste o desempenho ou dimensione horizontalmente. |
|
Leitura direta do MaxCompute |
Quando o MaxCompute lê diretamente da camada de armazenamento do Hologres em uma arquitetura primária-secundária, a URL de conexão deve apontar para a instância primária, não para uma réplica. Ative direct read from Hologres foreign table storage. |