Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Atualizado em 2024-08-19 GMT+08:00

Redistribuição de dados

A redistribuição de dados, em que os dados em nós existentes são alocados uniformemente aos novos nós depois de você escalar um cluster, é uma tarefa demorada, mas crucial, que acelera a resposta do serviço.

Por padrão, a redistribuição é iniciada automaticamente após a expansão do cluster. Para maior confiabilidade, desative a função de redistribuição automática e inicie manualmente uma tarefa de redistribuição depois que a expansão for bem-sucedida. Dessa forma, tanto a escala quanto a redistribuição podem ser tentadas novamente em caso de falhas.

Atualmente, a redistribuição off-line e a redistribuição on-line são suportadas. O modo padrão é a redistribuição off-line.

Antes do início da redistribuição ou quando a redistribuição é pausada, você pode definir prioridades de redistribuição para as tabelas que não foram redistribuídas por esquema ou tabela.

  • A função de redistribuição de cluster é suportada nas versões de cluster 8.1.1.200 ou posteriores.
  • O agendamento off-line não é suportado na versão 8.2.0 ou posterior.
  • Esta função pode ser ativada manualmente somente quando as informações da tarefa do cluster forem exibidas To be redistributed após a expansão.
  • Você também pode selecionar o modo de redistribuição ao configurar a expansão do cluster (consulte Configure parâmetros avançados).
  • As filas de redistribuição são classificadas com base no tamanho de relpage das tabelas. Para garantir que o tamanho de relpage esteja correto, é aconselhável executar a operação ANALYZE nas tabelas a serem redistribuídas.

Redistribuição off-line

Precauções

  • No modo de redistribuição off-line, o banco de dados não oferece suporte a operações DDL e DCL. As tabelas que estão sendo redistribuídas suportam apenas operações DQL simples.
  • Durante a redistribuição de tabelas, um bloqueio compartilhado é adicionado às tabelas. Todas as operações de inserção, atualização e exclusão, bem como as operações DDL nas tabelas, são bloqueadas por um longo período de tempo, o que pode causar um tempo limite de espera de bloqueio. Não execute consultas que levam mais de 20 minutos durante a redistribuição (o tempo padrão para aplicar o bloqueio de gravação durante a redistribuição é de 20 minutos). Caso contrário, a redistribuição de dados pode falhar devido ao tempo limite de espera de bloqueio.

Procedimento

  1. Faça logon no console de gerenciamento do GaussDB(DWS).
  2. Escolha Clusters. Todos os clusters são exibidos por padrão.
  3. Na coluna Operation do cluster de destino, escolha More > Scale Node > Redistribute, conforme mostrado na figura a seguir.

    A página Redistribution é exibida.

  4. Na página Redistribute exibida, mantenha o modo de redistribuição offline padrão e clique em Next: Confirm para enviar a tarefa.

Redistribuição on-line

Precauções

No modo de redistribuição on-line, o banco de dados suporta operações parciais DDL e DCL.

  • Tabelas que estão sendo redistribuídas suportam operações de inserção, exclusão e atualização e algumas operações DDL. Há suporte para as seguintes funções:
    • INSERT, DELETE, UPDATE, MERGE INTO, OVERWRITE, UPSERT
    • Consultas Join em grupos de nós
    • Renomeação de tabela local, modificação de esquema, DROP, TRUNCATE, TRUNCATE-PARTITION
  • As seguintes operações não podem ser executadas em tabelas que estão sendo redistribuídas:
    • Executar instruções ALTER TABLE (exceto para TRUNCATE PARTITION), incluindo adicionar ou excluir colunas ou partições.
    • Criar, modificar ou excluir índices.
    • VACUUM FULL ou CLUSTER não podem ser executados em tabelas durante a redistribuição da tabela.
    • Modificar os objetos de sequência dos quais uma coluna depende, incluindo sua criação e modificação. Instruções típicas são CREATE e ALTER SEQUENCE ... OWNED BY.
    • Durante a redistribuição de uma tabela com mais de 996 colunas, as instruções UPDATE e DELETE não podem ser executadas. As instruções SELECT e INSERT são permitidas.
    • Objetos de banco de dados e de espaço de tabela não podem ser criados, deletados ou modificados durante a redistribuição.
    • Uma troca de partição pode ser executada somente se a redistribuição estiver completa para ambas as tabelas a serem trocadas. As duas tabelas pertencem a grupos de nós diferentes e não permitem a troca de partições se uma delas estiver sendo redistribuída.

Procedimento

  1. Faça logon no console de gerenciamento do GaussDB(DWS).
  2. Escolha Clusters. Todos os clusters são exibidos por padrão.
  3. Na coluna Operation do cluster de destino, escolha More > Scale Node > Redistribute, conforme mostrado na figura a seguir.

  4. Na página Redistribute exibida, defina Advanced como Custom, defina o modo de redistribuição como Online mode e clique em Next: Confirm para enviar a tarefa.

Agendamento off-line

Precauções

O agendamento off-line é semelhante à redistribuição off-line. No modo de agendamento off-line, as tabelas são redistribuídas somente dentro da janela de tempo configurada e a redistribuição é pausada fora da janela de tempo.

  • 8.2.0 e versões posteriores não suportam agendamento off-line.
  • Se um cluster quebrar durante a redistribuição off-line, Redistribution failed será exibida. Se o cluster for recuperado, a redistribuição será retomada automaticamente. Para atualizar o status, clique em Redistribute após a conclusão da redistribuição.

Procedimento

  1. Faça logon no console de gerenciamento do GaussDB(DWS).
  2. Escolha Clusters. Todos os clusters são exibidos por padrão.
  3. Na coluna Operation do cluster de destino, escolha More > Scale Node > Redistribute, conforme mostrado na figura a seguir.

    A página Redistribution é exibida.

  4. Na página Redistribute exibida, defina Advanced como Custom, defina o modo de redistribuição como Offline scheduling e configure a janela de agendamento e clique em Next: Confirm para enviar a tarefa.

No modo de redistribuição agendada e fora da janela de tempo agendada, uma tarefa de redistribuição é pausada e o status do cluster é Redistribution paused.