Nesta página, descrevemos a capacidade de computação do Spanner e as duas unidades usada para quantificá-la: nós e unidades de processamento.
Capacidade de computação
A capacidade de computação define a quantidade de servidores e recursos de disponíveis para os bancos de dados de uma instância. Ao criar uma instância, especifique a capacidade dela como unidades de processamento ou nós, com 1.000 unidades de processamento iguais a 1 nó.
A unidade de medida usada não importa, a menos que você esteja criando um instância com capacidade de computação menor que 1.000 unidades de processamento (1 nó); Nesse caso, é preciso usar unidades de processamento para especificar a capacidade de computação a instância.
Ao definir ou alterar a capacidade de computação de uma instância, unidades de processamento em múltiplos de 100 (100, 200, 300 e assim por diante). Quando o número de unidades de processamento chegarem a 1.000, você poderá especificar múltiplos de 1.000 unidades de processamento (1000, 2000, 3000 e assim por diante) ou como nós (1, 2, 3 e assim por diante).
Instâncias com menos de 1.000 unidades de processamento são criadas para dados menores tamanhos, consultas e cargas de trabalho. Eles têm recursos de computação limitados pode resultar em escalonamento não linear e desempenho para algumas cargas de trabalho e sofrem aumentos intermitentes nas latências.
Limites de armazenamento de dados
Conforme detalhado em Cotas e de código aberto, para oferecer alta disponibilidade latência ao acessar um banco de dados, o Spanner usa capacidade de computação de uma instância como base para determinar os limites de armazenamento, seguindo estas diretrizes:
- Para instâncias com menos de um nó (1.000 unidades de processamento), o Spanner aloca 409,6 GB de dados para cada 100 unidades de processamento no banco de dados.
- Para instâncias de um nó ou mais, o Spanner aloca 4 TB de dados para cada nó. Maior capacidade de armazenamento (10 TB por nó) está disponível em Instância regional, birregional e multirregional do Spanner personalizadas. Para mais informações, consulte Melhorias de desempenho e armazenamento.
Por exemplo, para criar uma instância para um banco de dados de 300 GB, é possível pode definir a capacidade de computação como 100 unidades de processamento. Essa quantidade de recursos A capacidade mantém a instância abaixo do limite até que o banco de dados aumente que 409,6 GB. Depois que o banco de dados atinge desse tamanho, é preciso adicionar mais 100 unidades de processamento para permitir que o banco de dados crescer. Caso contrário, o Spanner pode rejeitar gravações no banco de dados. Para mais informações, consulte Recomendações para a utilização do armazenamento do banco de dados.
O Spanner cobra pelo armazenamento que as instâncias e não a cota total de armazenamento deles.
Desempenho
Os valores de capacidade de processamento de leitura e gravação de pico que uma determinada quantidade de capacidade de computação podem fornecer dependem da configuração da instância, bem como do design do esquema e das características do conjunto de dados. Para mais mais informações, consulte a Visão geral de desempenho.
Você usa instâncias com menos de mil unidades de processamento para tamanhos de dados menores, consultas e cargas de trabalho. Para cargas de trabalho maiores, os recursos de computação limitados deles pode resultar em escalonamento não linear e desempenho, com de aumento nas latências.
Capacidade de computação e configurações de instância
Conforme descrito em Configurações regionais, birregionais e multirregionais, O Spanner distribui uma instância pelas zonas de uma ou mais para oferecer alto desempenho e alta disponibilidade. Consequentemente, O Spanner também distribui recursos de servidor fornecidos a capacidade de computação da instância.
Aqui está um diagrama que ilustra essa distribuição de recursos do servidor.
Este diagrama descreve duas instâncias com configurações regionais:
- Instance-A mostra uma instância de 1.000 unidades de processamento (1 nó) com seus distribuição da capacidade de computação, consumindo recursos do servidor em cada um dos três zonas de controle.
- Instância-B mostra uma instância de 2.000 unidades de processamento (2 nós) com seus distribuição da capacidade de computação, consumindo recursos do servidor em cada um dos três zonas de controle.
Observe o seguinte neste diagrama:
Para cada instância, o Spanner aloca recursos de servidor em cada zona da configuração regional. Cada recurso de servidor por zona usa réplica de dados na zona. Para informações sobre réplicas de dados na instância do Terraform, consulte Configurações regionais, birregionais e multirregionais. Para informações sobre como o Spanner mantém essas réplicas de dados em sincronia, consulte Replicação.
Os recursos de servidor da Instance-A aparecem em caixas únicas, enquanto os os recursos da instância-B são mostrados em caixas subdivididas em duas partes. Isso mostra que o Spanner aloca servidor recursos de maneira diferente para instâncias de tamanhos variados:
- Para instâncias com até 1.000 unidades de processamento (1 nó), O Spanner aloca recursos de servidor em um único servidor tarefa por zona.
- Para instâncias com mais de 1.000 unidades de processamento (1 nó), O Spanner aloca recursos em vários servidores por zona, com uma tarefa para cada mil unidades de processamento. Usando várias tarefas de servidor por zona oferecem melhor desempenho e permitem Spanner a ser criado divisões de banco de dados e melhorar ainda mais o desempenho.
Alterar a capacidade de computação
Após criar uma instância, é possível aumentar a capacidade de computação dela posteriormente. Em na maioria dos casos, as solicitações são concluídas em poucos minutos. Em raras ocasiões, uma escala pode levar até uma hora para ser concluído.
Na maioria dos casos, também é possível diminuir a capacidade computacional. Há alguns casos em que não é possível diminuir a capacidade de computação:
- A remoção da capacidade de computação exigiria que sua instância armazenasse mais de 4 TB de dados por 1.000 unidades de processamento (1 nó).
- Com base nos seus padrões históricos de uso, o Spanner criou um grande número de divisões para sua dos dados da instância e, em alguns casos raros, o Spanner não poderia para gerenciar as divisões depois de remover a capacidade de computação.
No último caso, tente reduzir a capacidade de computação progressivamente em quantidades menores até encontrar a capacidade mínima que o Spanner precisa gerenciar todas as divisões da instância. Se a instância não precisar mais a tantas divisões devido a uma mudança nos padrões de uso, o Spanner pode mesclar algumas divisões e tentar reduzir o a capacidade de computação da instância após uma ou duas semanas.
Ao remover a capacidade de computação, monitore o uso da CPU e solicite latências no Cloud Monitoring para garantir que a CPU o uso permanece abaixo de 65% para e 45% para cada região do instâncias multirregionais. Pode haver um aumento temporário nas solicitações latências de rede ao mesmo tempo que remove a capacidade de computação.
O Spanner não tem um modo de suspensão. Spanner A capacidade de computação é um recurso dedicado e, mesmo quando carga de trabalho, o Spanner frequentemente executa trabalho em segundo plano para otimizar e proteger seus dados.
Use o console do Google Cloud, Google Cloud CLI ou o cliente Spanner para alterar a capacidade de computação. Para mais informações, consulte Alterar a capacidade de computação.
Capacidade de computação versus réplicas
Se você precisar escalonar verticalmente o servidor e os recursos de armazenamento na instância, aumente a capacidade de computação da instância. Aumentar a computação não aumenta o número de réplicas (que são fixas em um determinado da instância, mas aumenta os recursos de cada réplica a instância. Aumentar a capacidade de computação dá a cada réplica mais CPU e RAM o que aumenta a capacidade de processamento da réplica (ou seja, mais leituras e gravações por segundo pode ocorrer).
A seguir
- Saiba como criar e gerenciar instâncias.