Todos os produtos
Search
Central de documentação

Hologres:Escolha as especificações de instância corretas

Última atualização: Sep 15, 2026

As instâncias do Hologres são dimensionadas em incrementos de Compute Unit (CU). Como o Hologres utiliza uma arquitetura de separação entre computação e armazenamento, o storage escala de forma independente. Portanto, escolher uma especificação de instância consiste essencialmente em selecionar a capacidade de computação adequada para sua carga de trabalho.

Esta página explica como a quantidade de CUs se relaciona com conexões, contagem de shards e desempenho de consultas, permitindo que você escolha uma especificação inicial e saiba quando ajustá-la.

Conceitos principais

CU (Compute Unit) — Unidade base de recursos para instâncias do Hologres. Cada 16 CUs correspondem a um nó de computação.

Shard — Unidade de particionamento de dados no Hologres. Cada shard processa solicitações de leitura e escrita para uma parte dos dados. Os shards dentro do mesmo Table Group distribuem os dados de cada tabela para que junções entre tabelas colocalizadas evitem movimentação de dados entre shards (uma junção local). Quando os dados abrangem vários shards, um operador de redistribuição os reorganiza pela rede, gerando sobrecarga de agendamento.

Table Group — Agrupamento lógico que determina a organização dos shards. Todas as tabelas no mesmo Table Group compartilham o mesmo layout de shards, possibilitando junções locais entre essas tabelas.

Nó frontend — Camada de acesso que gerencia as conexões recebidas. O total de conexões de uma instância equivale a: conexões máximas por nó frontend × número de nós frontend.

Como a contagem de shards afeta o desempenho

O comportamento dos shards varia conforme o tipo de carga de trabalho:

Carga de trabalho

Efeito de mais shards

Escrita e atualização de dados

Maior throughput — as escritas são paralelizadas entre os shards

Consultas pontuais (com shard pruning)

Maior concorrência — cada consulta atinge apenas um shard

Consultas OLAP (Online Analytical Processing)

Retornos decrescentes — múltiplos shards precisam se coordenar, aumentando a sobrecarga de agendamento

Tabelas orientadas a linhas

Melhor desempenho de leitura — distribuição natural entre os shards

Após escalar horizontalmente uma instância, apenas o aumento de recursos de computação melhora a concorrência de consultas. Na maioria dos casos, mantenha a contagem de shards inalterada, a menos que você precise especificamente de maior throughput de escrita. Se o scale-out for inferior a cinco vezes o tamanho original, não ajuste a contagem de shards.

Importante

Não é possível modificar o número máximo de conexões. Quando uma instância sofre scale-out ou scale-in, os limites de conexão se ajustam automaticamente. No entanto, a contagem padrão de shards para bancos de dados existentes não muda durante o dimensionamento; atualize-a manualmente se necessário. Novos bancos de dados usam a contagem padrão de shards da nova especificação.

Quando ajustar sua especificação

Antes de consultar a tabela de recomendações, verifique se a especificação atual é realmente o gargalo. Os sinais abaixo indicam que provavelmente é necessário alterar a especificação:

Sinal

Ação provável

A contagem de conexões está próxima ou no limite da instância

Faça scale-out (adiciona nós frontend e eleva o teto de conexões)

O throughput de escrita não acompanha a taxa de ingestão

Faça scale-out e depois aumente a contagem de shards para bancos de dados existentes

A latência de consultas OLAP está alta, mas a concorrência é baixa

Faça scale-out para obter mais nós de computação; não aumente a contagem de shards

A concorrência de consultas pontuais estagnou

Faça scale-out e depois aumente a contagem de shards se o shard pruning estiver ativo

Execute a instrução a seguir para verificar o uso atual de conexões em relação ao limite:

-- Returns the maximum connections for a single frontend node.
-- Multiply by the number of frontend nodes to get the instance total.
show max_connections;

Se nenhum desses sinais estiver presente, a especificação atual provavelmente é suficiente.

Especificações recomendadas por volume de dados

A especificação ideal depende de mais fatores além da contagem de linhas. Frequência de acesso, volume de dados acessados, carga de computação (consultas pontuais vs. análises), throughput de escrita e quantidade de tabelas dentro de um Table Group também influenciam. Utilize a tabela a seguir como ponto de partida.

Nota

Estas recomendações são diretrizes, não limites rígidos. Uma tabela com pouco volume de dados pode rodar em uma instância com muitos shards; uma tabela grande pode rodar em uma instância com um único shard. Alinhe a contagem de shards à sua meta de concorrência, mantendo os dados concentrados o bastante para evitar sobrecarga desnecessária de reorganização.

Tamanho total dos dados

Especificação recomendada

Contagem de shards recomendada

Adequação da carga de trabalho

Menos de 40 milhões de linhas

32 núcleos ou mais

10–20

Desenvolvimento e testes. Não adequado para testes de estresse.

40 milhões–400 milhões de linhas

64 núcleos ou mais

20–40

Cargas de trabalho simples: throughput de escrita moderado, sem concorrência mista de OLAP + consultas pontuais.

400 milhões–4 bilhões de linhas

128 núcleos ou mais

40–80

Equilíbrio entre escritas e consultas. Ponto de partida padrão para produção.

4 bilhões–40 bilhões de linhas

256 núcleos ou mais

80–240

Escrita de alto throughput ou OLAP em larga escala. Use múltiplos Table Groups; divida por coesão de negócios ou volume de dados; especifique o Table Group explicitamente ao criar tabelas.

40 bilhões–400 bilhões de linhas

512 núcleos ou mais

160–400

OLAP em escala muito grande ou cargas multi-tenant. Use múltiplos Table Groups (mesma orientação acima). Reserve contagens altas de shards apenas para tabelas muito grandes — tabelas padrão não se beneficiam disso.

Recursos padrão por especificação de instância

Desde 25 de abril de 2022, instâncias de uso geral suportam de 512 CUs a 1.024 CUs. Para especificações superiores, envie um ticket. Antes de fazer upgrade para uma especificação maior, atualize a instância para a versão V1.1.58 ou posterior.

Instâncias de grupo de computação suportam qualquer especificação de 32 CUs a 8.192 CUs sem necessidade de ticket.

Nota
  • Cada 16 CUs correspondem a um nó de computação.

  • Para especificações de até 512 CUs: o número de nós de computação é igual ao número de nós frontend.

  • Total máximo de conexões = conexões máximas por nó frontend × número de nós frontend. Os valores entre parênteses mostram o valor por nó seguido pela quantidade de nós.

Especificação da instância

Nós de computação

Contagem padrão de shards

Conexões máximas (V2.1 e anteriores)

Conexões máximas (V2.2 e posteriores)

Conexões reservadas para Superuser (V1.1 e posteriores)

32 CUs

2

20

256 (128 × 2)

512 (256 × 2)

10 (5 × 2)

48–80 CUs

3–5

40

128 × número de nós de computação

256 × número de nós de computação

5 × número de nós de computação

96–112 CUs

6–7

60

128 × número de nós de computação

256 × número de nós de computação

5 × número de nós de computação

128–192 CUs

8–12

80

128 × número de nós de computação

256 × número de nós de computação

5 × número de nós de computação

208–352 CUs

13–22

120

128 × número de nós de computação

256 × número de nós de computação

5 × número de nós de computação

368–992 CUs

23–62

160

128 × número de nós de computação

256 × número de nós de computação

5 × número de nós de computação

O que muda automaticamente durante o dimensionamento

Ao realizar scale-out ou scale-in em uma instância, as seguintes alterações ocorrem automaticamente:

Configuração

Comportamento durante o dimensionamento

Conexões máximas

Ajustadas automaticamente para corresponder à nova especificação

Contagem padrão de shards (novos bancos de dados)

Usa o padrão da nova especificação

Contagem padrão de shards (bancos de dados existentes)

Não muda — atualize manualmente se necessário

Isso significa que, após um scale-out, os bancos de dados existentes mantêm sua contagem original de shards. Os nós de computação adicionais ainda melhoram a concorrência de consultas porque mais núcleos processam cada consulta. Atualize a contagem de shards manualmente apenas se precisar de maior throughput de escrita ou planejar adicionar significativamente mais dados.

Visualizar e gerenciar conexões

Verificar o limite atual de conexões

Após conectar-se a uma ferramenta de desenvolvimento, execute a instrução a seguir para ver o máximo de conexões de um único nó frontend:

-- View the maximum connections for a single frontend node.
-- Connections are balanced across all frontend nodes.
show max_connections;

Multiplique o valor retornado pelo número de nós frontend para obter o limite total de conexões da instância.

Gerenciar conexões ao atingir o limite

Cada instância reserva conexões para a função Superuser. Quando o limite de conexões é atingido, um Superuser pode se conectar e usar SQL para visualizar e liberar conexões ociosas, ou escalar verticalmente a instância. Para detalhes, consulte Connections.

Visualizar e modificar a contagem de shards

Fazer scale-out em uma instância não altera a contagem de shards dos bancos de dados existentes; ajuste-a manualmente se sua carga de trabalho exigir. Aumente a contagem de shards quando precisar de maior throughput de escrita. Para tabelas orientadas a linhas, mais shards também melhoram o desempenho de leitura devido à distribuição natural dos dados.

Para instruções, consulte Table Group and Shard Count user guide.

Próximos passos