Todos os produtos
Search
Central de documentação

Hologres:Rebalanceamento de shards (Rebalance)

Última atualização: Jun 28, 2026

O Hologres V2.0.21 e versões posteriores oferecem suporte à função Rebalance, que aciona o rebalanceamento de shards. Este tópico descreve como usar a função Rebalance para rebalancear shards.

Informações gerais

Normalmente, os nós worker do Hologres carregam os shards uniformemente. No entanto, em alguns cenários, como após uma recuperação rápida, os shards podem ficar distribuídos de forma desigual entre os nós worker. Nesse caso, acione o rebalanceamento de shards para redistribuí-los. Isso garante que todos os nós worker da instância carreguem os shards uniformemente.

Limitações

A função Rebalance tem suporte apenas no Hologres V2.0.21 e versões posteriores. Se sua instância executar uma versão anterior à V2.0.21, use Atualizar uma instância ou entre no grupo de chat do Hologres para solicitar a atualização da instância. Para obter mais informações, consulte Como obtenho mais suporte online?.

Sintaxe do comando

Instâncias de uso geral e secundárias

Em instâncias de uso geral ou secundárias, a função Rebalance redistribui os shards entre os nós worker. A sintaxe é:

SELECT hg_rebalance_instance();
  • Valores de retorno:

    • true: O rebalanceamento de shards foi acionado com sucesso.

    • false: Indica que o rebalanceamento de shards não é necessário.

    • Error: Falha ao acionar o rebalanceamento de shards, por exemplo, devido a um pod com defeito.

  • Um estado balanceado ocorre quando a diferença no número de shards em cada nó worker é de, no máximo, um. Por exemplo:

    • Se uma instância tiver dois nós worker e dois shards, cada nó worker receberá um shard.

    • Caso uma instância tenha dois nós worker e três shards, um nó worker receberá um shard e o outro, dois shards.

  • O rebalanceamento de shards geralmente leva de 2 a 3 minutos. A duração real depende da quantidade de grupos de tabelas na instância. Quanto mais grupos de tabelas, maior será o tempo de rebalanceamento. As operações de gravação são interrompidas por aproximadamente 15 segundos durante esse processo.

  • Como o rebalanceamento de shards é uma operação assíncrona, execute a seguinte instrução SQL para verificar seu progresso:

  • SELECT hg_get_rebalance_instance_status();
  • Valores de retorno:

    • DOING: O rebalanceamento de shards está em andamento.

    • DONE: O rebalanceamento de shards foi concluído.

Instâncias de virtual warehouse

Diferentemente das instâncias de uso geral e secundárias, uma instância de virtual warehouse pode dividir recursos de computação em vários virtual warehouses. Portanto, para rebalancear shards nesse tipo de instância, rebalanceie cada virtual warehouse separadamente. Para obter mais informações, consulte Rebalancear shards em um virtual warehouse.

Perguntas frequentes

Identificação de distribuição desequilibrada de shards

Ao executar uma consulta, a carga deve ser distribuída uniformemente por todos os nós worker. Se um nó worker não tiver shards atribuídos, sua carga será significativamente menor que a dos outros nós worker.

  • Exemplo de distribuição equilibrada de shards: A figura a seguir mostra uma instância com 10 nós worker. Durante operações de consulta e gravação, o painel de monitoramento exibe utilização de CPU semelhante em todos os 10 nós worker.image.png

  • Exemplo de distribuição desequilibrada de shards: Se um nó worker não possuir shards, o painel de monitoramento apresentará um padrão semelhante ao da figura a seguir, em que um nó worker tem carga muito menor que os demais.image.png

    Execute a seguinte instrução SQL para verificar quais nós worker carregaram shards:

    SELECT DISTINCT worker_id FROM hologres.hg_worker_info;
    • Análise do resultado: Os resultados mostram que apenas nove nós worker carregaram shards, deixando um sem nenhum.

    • Ação: Acione o rebalanceamento de shards. Após a conclusão da operação, o painel de monitoramento mostra que a utilização de CPU do nó worker anteriormente subutilizado aumenta para um nível comparável ao dos outros.image.png

    • Execute a consulta novamente para verificar quais nós worker carregaram shards. Os resultados mostrarão que todos os 10 nós worker carregaram shards. A consulta retorna a coluna worker_id com 10 valores de ID de worker (por exemplo, grgfs, fj4wt e twn5z).