Se o aumento do tráfego de leitura tornar a resposta do banco de dados mais lenta, adicione nós somente leitura para escalar horizontalmente a capacidade de leitura do cluster. Essa ação melhora o throughput e reduz a carga no nó primário (nó de leitura/gravação). Em períodos de baixa demanda, remova nós somente leitura ociosos para economizar custos. O endpoint de cluster do PolarDB distribui automaticamente as requisições de leitura entre os nós somente leitura, o que simplifica o gerenciamento de conexões da aplicação.
Pré-requisitos
Antes de começar, verifique se as seguintes condições foram atendidas:
Método de faturamento: O cluster de destino deve usar o método de faturamento Subscription ou Pay-as-you-go.
Status do cluster: O cluster de destino deve estar no estado Running, sem outras tarefas de alteração de configuração em andamento, como mudanças nas configurações de nós de computação ou atualizações de versões secundárias.
Impactos e limitações
Antes de adicionar ou remover um nó somente leitura, compreenda os impactos e as limitações para planejar adequadamente a operação.
Impacto no serviço
Adição de um nó somente leitura: A inclusão de um único nó somente leitura leva aproximadamente 5 minutos. Se você adicionar vários nós simultaneamente, eles serão provisionados em paralelo. O tempo real necessário depende de fatores como a carga de trabalho do cluster e a quantidade de bancos de dados e tabelas. Esse processo não afeta o funcionamento do cluster.
Remoção de um nó somente leitura: Ao remover um nó somente leitura, as conexões ativas nesse nó sofrem uma desconexão transitória, mas os demais nós permanecem inalterados. Execute essa operação fora dos horários de pico e garanta que sua aplicação possua um mecanismo de reconexão automática. Se a aplicação estiver conectada a um endpoint de cluster, o PolarDB retira automaticamente o nó excluído da tabela de roteamento, eliminando a necessidade de modificar as configurações da aplicação.
Limites de quantidade de nós
-
Enterprise Edition:
Cluster Edition: Um cluster suporta até 15 nós somente leitura. É obrigatório manter pelo menos um nó somente leitura para garantir alta disponibilidade. Portanto, não é possível remover o último nó restante.
Multi-master Cluster (Limitless) Edition: Um cluster suporta até 63 nós de leitura/gravação e 15 nós somente leitura (nós somente leitura globais).
Standard Edition: Um cluster suporta até 7 nós somente leitura.
Limites de especificação de nós
Para assegurar a estabilidade e a alta disponibilidade do cluster, as especificações dos nós primários e somente leitura seguem as restrições abaixo:
Um novo nó somente leitura deve ter, no mínimo, metade da memória do nó primário.
-
A quantidade mínima de núcleos de CPU para um novo nó somente leitura varia conforme o número de núcleos do nó primário, conforme descrito a seguir:
Núcleos do nó primário
Mínimo de núcleos somente leitura
2
2
4
4
8
4
16
8
32
16
64
32
88
64
120
64
Clusters da Multi-master Cluster (Limitless) Edition não estão sujeitos a esses limites.
Ao adicionar um nó IMCI somente leitura, suas especificações devem ser superiores às do nó primário (leitura/gravação) para suportar a carga analítica adicional.
Adicionar um nó
Faça login no console do PolarDB. No painel de navegação à esquerda, clique em Clusters e selecione a região onde o cluster está implantado.
-
Acesse a página Add/Remove Node utilizando um dos métodos a seguir:
Na linha correspondente ao cluster desejado, clique em Add/Remove Node na coluna Actions.
Clique no ID do cluster alvo para abrir a página Basic Information. Na seção Database Nodes, clique em Add/Remove Node.
-
Na caixa de diálogo Add/Remove Node, selecione Add Node (ou Add Global Read-Only Node) e clique em OK.
NotaTambém é possível adicionar outros tipos de nós conforme a necessidade do seu negócio, como Add Read-Write Node, Add AI Node, Add Read-only IMCI Node ou Add Search Node.
Nós de leitura/gravação podem ser adicionados exclusivamente em clusters da Multi-master Cluster (Limitless) Edition.
Para incluir um nó IMCI somente leitura, um nó de IA ou um nó de busca, confirme se a versão do cluster atende aos requisitos do recurso correspondente.
-
Na página Upgrade/Downgrade, valide a Current Configuration. Clique no ícone
para inserir um novo nó e definir suas especificações.NotaÉ permitido clicar nesse botão repetidamente para provisionar múltiplos nós de uma só vez.
-
Defina quando a alteração de configuração deve entrar em vigor:
Switch Now: A mudança ocorre imediatamente.
Scheduled Switch: Escolha um horário dentro das próximas 24 horas. A tarefa será concluída em até 30 minutos após o momento agendado. Consulte ou cancele a operação na página Scheduled Tasks.
Leia e aceite os termos de serviço, clique em Buy Now e finalize o pagamento. Após a confirmação do pagamento, a tarefa será executada no horário programado.
-
(Opcional) Caso tenha adicionado outros tipos de nós, consulte as orientações abaixo para os próximos passos:
Nó de leitura/gravação: Execute a instrução
CREATE DATABASE <name> [POLARDB_WRITE_NODE master_id];para criar um banco de dados no novo nó. Para mais detalhes, veja Uso de Clusters Multi-master.Nó de IA: Para executar uma instrução SQL de IA, adicione a dica
/*polar4ai*/no início do comando. Saiba mais sobre casos de uso em Data-Agent.Nó IMCI somente leitura: Crie um índice columnstore acrescentando o comentário
COLUMNAR=1a uma tabela ou coluna específica. Mais informações disponíveis em Adicionar um índice columnstore.Nó de busca: Utilize APIs REST compatíveis com Elasticsearch para criar índices e pesquisar dados. Consulte Usar Intelligent Search para instruções detalhadas.
Remover um nó
Observações
Nó de leitura/gravação
Antes de excluir um nó de leitura/gravação de um Multi-master Cluster, transfira os pontos de acesso de todos os bancos de dados desse nó para outros nós de leitura/gravação disponíveis. Veja mais em Uso de Clusters Multi-master.
Sem essa etapa, os bancos de dados ficarão inacessíveis. Nessa situação, restaure o acesso reatribuindo um nó de leitura/gravação a esses bancos. Para isso, execute o seguinte comando: ALTER DATABASE <name> POLARDB_WRITE_NODE <new_master_id>;.
-
Consulte a distribuição dos bancos de dados no nó de leitura/gravação.
SELECT * FROM INFORMATION_SCHEMA.INNODB_CC_GLOBAL_LOCK_INFO WHERE LOCK_MODE = 'SLS_X' AND MASTER_ID = <master_id>; -
Transfira os pontos de acesso de todos os bancos de dados ou objetos retornados pela consulta para outros nós de leitura/gravação.
NotaO resultado pode conter uma entrada chamada
mysql/global_ddl_lockcom o tipoobjectdefinido comoTable. Trata-se de um item interno que não requer transferência.ALTER DATABASE <name> POLARDB_WRITE_NODE <new_master_id>;
Nó de IA
Após a remoção do último nó de IA, o sistema purga imediatamente o nó e seus dados associados, como tabelas vetoriais. Instruções SQL de IA enviadas ao cluster deixarão de receber resposta, embora outras instruções SQL continuem funcionando normalmente.
Para evitar perda de dados, faça backup das informações necessárias antes de prosseguir com a exclusão.
Nó IMCI somente leitura
Uma vez removido o último nó IMCI somente leitura, o cluster perde a capacidade de acelerar consultas por meio de índices columnstore. Para retomar o uso desses índices e melhorar o desempenho, adicione um novo nó IMCI somente leitura e aguarde a reconstrução automática dos índices columnstore.
O Cluster Endpoint mascara automaticamente os nós com falha, dispensando alterações na configuração da aplicação.
Nó de busca
Depois que todos os nós de busca forem removidos, o sistema purga imediatamente esses nós e seus dados associados. Requisições via API REST enviadas ao cluster não receberão mais resposta, mas outras instruções SQL permanecerão operacionais.
Para prevenir perda de informações, realize os backups de dados necessários antes de excluir os nós.
Procedimento
Faça login no console do PolarDB. No painel de navegação à esquerda, clique em Clusters e selecione a região onde o cluster está implantado.
-
Acesse a página Add/Remove Node através de um dos métodos abaixo:
Na linha do cluster desejado, clique em Add/Remove Node na coluna Actions.
Clique no ID do cluster para navegar até a página Basic Information. Dentro da seção Database Nodes, clique em Add/Remove Node.
Na caixa de diálogo Add/Remove Node, escolha Delete Node (ou Delete Global Read-Only Node), Delete Read-Write Node, Delete AI Node, Delete Read-only IMCI Node ou Delete Search Node conforme a necessidade do seu negócio e clique em OK.
-
Na página Upgrade/Downgrade, valide a Current Configuration. Clique no ícone de subtração
ao lado do nome do nó para removê-lo.NotaÉ possível remover diversos nós simultaneamente.
-
Escolha o momento em que a alteração de configuração deve entrar em vigor:
Switch Now: A mudança entra em vigor imediatamente.
Scheduled Switch: Defina um horário dentro das próximas 24 horas. A conclusão da tarefa ocorre em até 30 minutos após o momento especificado. Gerencie ou cancele a tarefa na página Scheduled Tasks.
Leia e aceite os termos de serviço, clique em Buy Now e conclua o pagamento. Assim que o pagamento for confirmado, a tarefa será executada no horário agendado.
Faturamento
A adição ou remoção de nós impacta apenas as taxas de nós de computação. Custos de recursos como armazenamento permanecem inalterados.
-
Pay-as-you-go
Novos nós são cobrados por hora, desde o momento da criação até a liberação.
Remova nós a qualquer momento para interromper a cobrança referente a eles.
-
Subscription
Ao adicionar um nó, pague uma taxa única proporcional ao período entre a data atual e a expiração do cluster.
Ao remover um nó, o sistema calcula automaticamente o valor residual e emite um reembolso. Consulte a Política de reembolso para downgrade de configuração para mais detalhes.
FAQ
-
Como proceder diante de um erro de "recursos insuficientes" ao adicionar um nó?
Caso o sistema exiba a mensagem Insufficient resources. Please try again in another region or zone, significa que a especificação selecionada está esgotada na zona atual. Recomendamos adotar uma das medidas seguintes:
Selecionar uma especificação similar: Tente optar por uma especificação ligeiramente inferior.
Alterar a zona. Para evitar escassez de recursos em futuras operações de dimensionamento, altere manualmente a zona.
-
É possível adicionar nós de leitura/gravação a um cluster **PolarDB?**
A adição de nós de leitura/gravação é permitida apenas em clusters da Multi-master Cluster (Limitless) Edition. Verifique se o seu cluster pertence a essa edição.
-
O que fazer se o sistema informar que nenhuma alteração de especificação foi detectada ao adicionar ou remover um nó?
Essa mensagem indica que nenhum nó foi adicionado ou removido ainda. Siga as instruções na tela: clique no ícone
para adicionar um nó ou clique no ícone de subtração
ao lado do nome do nó para removê-lo. -
Como resolver o erro The number of DB nodes is incorrect. ao remover um nó?
Para garantir alta disponibilidade (HA) e failover automático, um cluster PolarDB Cluster Edition exige a presença de pelo menos um nó somente leitura.
-
Ao remover nós, posso manter apenas um nó primário e um nó IMCI somente leitura?
Não. Para adicionar ou manter um nó IMCI somente leitura, é obrigatório ter pelo menos um nó somente leitura convencional no cluster.
-
Minha aplicação sofre alta pressão de escrita. Adicionar nós somente leitura resolverá o problema?
Não. Nós somente leitura processam exclusivamente requisições de leitura (
SELECT). Todas as operações de escrita (INSERT/UPDATE/DELETE) são tratadas unicamente pelo nó primário. Se o gargalo for desempenho de escrita, atualize as especificações do nó primário em vez de adicionar nós somente leitura.
Tópicos relacionados
Impacto da quantidade de nós no desempenho: Desempenho OLTP
Recurso de nó IMCI somente leitura: In-Memory Column Index (IMCI)
Recurso de nó de busca: Intelligent Search (PolarSearch)
Recurso de nó de IA: PolarDB for AI
APIs relacionadas
|
API |
Descrição |
|
Adiciona nós a um cluster PolarDB. |
|
|
Remove nós de um cluster PolarDB. |