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 de nós para o cluster. Antes de configurar o escalonamento, entenda as limitações.
É possível escalonar um cluster Bigtable das seguintes maneiras:
- 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 para um cluster, o Bigtable monitora continuamente o cluster e ajusta automaticamente o número de nós com base nas suas configuraçõ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. Para economizar dinheiro, remova os nós do cluster quando ele não estiver sendo muito usado.
Fator de escalonamento do nó
Ao criar um cluster do Bigtable, você pode configurá-lo com um fator de escalonamento de nós 2x. Quando você escolhe 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 e na estabilidade da latência de cauda
- Maior capacidade de absorver pontos de acesso
É possível criar um cluster com o fator de escalonamento de nós 2x ativado ao usar o consoleGoogle Cloud ou a CLI gcloud.
É possível configurar o escalonamento de nós 2x com escalonamento automático ou alocação manual de nós.
Para limitações, consulte Limitações do fator de escalonamento de nós.
Clusters pequenos
O escalonamento de nós 2x é ideal para cargas de trabalho maiores. Se você estiver pensando em mudar do escalonamento padrão de nós (por um fator de um) para o escalonamento de nós 2x, considere as implicações de custo. Para uma carga de trabalho menor, como uma executada em um cluster com um nó, usar o escalonamento de nós 2x custa o dobro. Da mesma forma, usar o escalonamento de nós 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 era executada em um cluster grande, como um cluster com 50 nós, o efeito de um fator de escalonamento de nós de 2x é pequeno em relação ao número de nós.
O Bigtable retorna um erro se você tentar criar um cluster com fator de escalonamento de nós 2x em uma zona sem suporte.
Limitações
O escalonamento do 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 que se aplicam ao escalonamento de nós 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 console do Google Cloud , 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. Quando o tráfego voltar ao normal, mude as configurações de nó novamente.
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 houver um grande número de leituras ou gravações em uma única linha da tabela, todas as leituras ou gravações irão para o mesmo node do cluster. A adição de nodes 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, veja Como projetar seu esquema.
Limitações do fator de escalonamento de nós
Não é possível converter um cluster com escalonamento automático de nós padrão para usar o escalonamento automático de nós 2x. É necessário criar um cluster e ativar o escalonamento automático de nós 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ós 2x para um cluster de HDD.
É possível criar clusters configurados com escalonamento de nós 2x em todas as regiões do Bigtable, mas não em todas as zonas. As seguintes zonas não podem conter um cluster com escalonamento de nós 2x:
- asia-south1-c
- europe-central2-c
- me-central2-b
- me-central2-c
- northamerica-northeast1-a
- northamerica-northeast1-b
- southamerica-east1-c
- us-south1-b
- us-south1-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 console Google Cloud .