Escalonamento
Escalonar um cluster é o processo de adicionar ou remover nós do cluster em resposta a mudanças na carga de trabalho ou nas necessidades de armazenamento de dados do cluster. Ao criar um cluster, também é possível configurar o fator de escalonamento do nó para o cluster. Antes de configurar o escalonamento, entenda as limitações.
É possível escalonar o cluster do Bigtable com base em métricas, como o uso da CPU do cluster. Por exemplo, se o cluster estiver com uma grande carga e o uso da CPU for alto, adicione nós ao cluster até o uso da CPU caia. Também é possível economizar dinheiro removendo nós do cluster quando ele não estiver sendo usado intensamente.
É possível escalonar um cluster Bigtable das seguintes maneiras:
Escalonamento horizontal
- Escalonamento automático
- Alocação manual de nós
Na maioria dos casos, escolha o escalonamento automático. Quando você ativa o escalonamento automático de um cluster, o Bigtable monitora continuamente o cluster e ajusta automaticamente o número de nós com base nas suas configurações.
Escalonamento vertical da camada na memória
A camada na memória do Bigtable usa o escalonamento vertical totalmente gerenciado para capacidade de processamento, o que permite que os clusters respondam quase instantaneamente a picos no tráfego de leitura de pontos.
O escalonamento vertical ajusta automaticamente cada nó para acomodar as demandas de carga de trabalho e funciona perfeitamente com o escalonamento automático do Bigtable. Cada nó do Bigtable com a camada na memória ativada tem um limite de escalonamento vertical. Se esse limite for atingido, o escalonamento automático do Bigtable adicionará nós na configuração máxima de nós para oferecer suporte à carga de trabalho e reequilibrar o tráfego.
Para mais informações sobre limites de escalonamento vertical, consulte Cotas e limites. Para mais informações sobre a capacidade de capacidade de processamento na memória por nó, consulte Entender o desempenho.
Fator de escalonamento do nó
Ao criar um cluster do Bigtable, você tem a opção de configurar o cluster com um fator de escalonamento de nó 2x. Ao escolher essa configuração, o Bigtable trata dois nós padrão como um nó de computação único maior, e o cluster é sempre escalonado em incrementos de dois nós. Como resultado, há menos limites de computação entre os nós do cluster. Dependendo da carga de trabalho, os benefícios do escalonamento de nós 2x incluem o seguinte:
- Melhoria na capacidade de processamento e na estabilidade da latência de cauda
- Maior capacidade de absorver hotspots
É possível criar um cluster com o fator de escalonamento de nó 2x ativado ao usar o Google Cloud console ou a CLI gcloud.
É possível configurar o escalonamento de nó 2x com escalonamento automático ou alocação manual de nós. Na edição Enterprise Plus, é necessário ativar o escalonamento de nó 2x para acessar o limite de armazenamento em camadas expandido de 64 TB por nó (pré-lançamento).
Para limitações, consulte Limitações do fator de escalonamento de nós.
Clusters pequenos
O escalonamento de nó 2x é ideal para cargas de trabalho maiores. Se você estiver considerando mudar do escalonamento de nó padrão (por um fator de um) para o escalonamento de nó 2x, considere as implicações de custo. Para uma carga de trabalho menor, como uma executada em um cluster com um nó, o uso do escalonamento de nó 2x custa o dobro. Da mesma forma, o uso do escalonamento de nó 2x para uma carga de trabalho que antes era executada em um cluster com três nós aumenta os custos em 33%.
Por outro lado, para uma carga de trabalho que antes era executada em um cluster grande, como um cluster com 50 nós, o efeito de um fator de escalonamento de nó 2x é pequeno em relação ao número de nós.
O Bigtable retorna um erro se você tentar criar um cluster com o fator de escalonamento de nó 2x em uma zona não compatível.
Limitações
O escalonamento de cluster está sujeito à disponibilidade de nós, leva tempo para ser concluído, não pode compensar um design de esquema inadequado e precisa ser feito gradualmente. As seções a seguir descrevem essas limitações, bem como as limitações que se aplicam ao escalonamento de nó 2x.
Disponibilidade de nós
Elas se aplicam se um cluster tiver a alocação de nós manual ou o escalonamento automático ativados. Consulte os detalhes em Disponibilidade de nós e cotas.
Atraso no reequilíbrio dos nós
Após adicionar nodes ao cluster, é necessário esperar até 20 minutos sob carga para ver uma melhoria significativa no desempenho do cluster. Se a carga de trabalho envolver breves bursts de alta atividade, a adição de nós ao cluster com base na carga da CPU não melhorará o desempenho. Quando o Bigtable reequilibrar os dados, o breve burst da atividade terminará.
Para planejar esse atraso, adicione nós ao cluster, de maneira programática ou por meio do Google Cloud console, antes de aumentar a carga no cluster. Essa abordagem dá ao Bigtable tempo para reequilibrar os dados entre os nós adicionais antes que a carga de trabalho aumente. Em clusters que usam alocação manual de nós, altere o número de nós. Nos clusters que usam o escalonamento automático, altere o número mínimo de nós. Depois que o tráfego voltar ao normal, mude as configurações do nó de volta.
A camada na memória processa picos de tráfego com escalonamento vertical quase instantâneo. Quando o Bigtable adiciona nós por escalonamento automático e a capacidade de capacidade de processamento da camada na memória aumenta, ele gerencia automaticamente o particionamento de dados na camada na memória.
Aumentos de latência devido a uma redução muito rápida
Ao diminuir o número de nós em um cluster para realizar uma redução, tente não reduzir o tamanho do cluster em mais de 10% em um período de 10 minutos. A redução muito rápida pode causar problemas de desempenho, como o aumento de latência, se os outros nós do cluster ficarem temporariamente sobrecarregados.
Problemas de design do esquema
Se houver problemas com o design do esquema para a tabela, adicionar nós ao cluster do Cloud Bigtable pode não melhorar o desempenho. Por exemplo, se você tiver um grande número de leituras ou gravações em uma única linha da tabela, todas as leituras ou gravações serão direcionadas para o mesmo nó no cluster. Como resultado, a adição de nós não melhora o desempenho. Em contrapartida, se as leituras e as gravações estiverem distribuídas uniformemente entre as linhas da tabela, a adição de nós melhorará o desempenho em geral.
Para detalhes sobre como projetar um esquema que permita o escalonamento eficaz do Bigtable, consulte Como projetar seu esquema.
Limitações das edições
A camada na memória e o escalonamento vertical estão disponíveis apenas para clusters SSD na edição Enterprise Plus.
Limitações do fator de escalonamento de nós
Não é possível converter um cluster com escalonamento de nó padrão para usar o escalonamento de nó 2x. É necessário criar um novo cluster e ativar o escalonamento de nó 2x no momento da criação. Para mais informações sobre como adicionar um cluster a uma instância, consulte Modificar uma instância.
Não é possível configurar o escalonamento de nó 2x para um cluster HDD.
É possível criar clusters configurados com escalonamento de nó 2x em todas as regiões do Bigtable, mas não em todas as zonas. As zonas a seguir não podem conter um cluster com escalonamento de nó 2x:
- me-central2-b
- southamerica-east1-c
A seguir
- Saiba mais sobre o escalonamento automático do Bigtable.
- Saiba como monitorar sua instância, de maneira programática e por meio do Google Cloud console.