Capacidade de computação, nós e unidades de processamento

Esta página descreve a capacidade de computação do Spanner e as duas unidades de medida usadas 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 uma instância com capacidade de computação menor que 1.000 unidades de processamento (1 nó). Nesse caso, é necessário usar unidades de processamento para especificar a capacidade de computação da 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).

As instâncias com menos de 1.000 unidades de processamento são criadas para tamanhos de dados, consultas e cargas de trabalho menores. Eles têm recursos de computação limitados, o que pode resultar em escalonamento e desempenho não linear para algumas cargas de trabalho e aumentos intermitentes na latência.

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 menores que 1 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 atingir esse tamanho, você precisará adicionar mais 100 unidades de processamento para que o banco de dados cresça. 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 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 entre zonas de uma ou mais regiões 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.

Duas instâncias criadas em uma configuração de instância regional

Este diagrama descreve duas instâncias com configurações regionais:

  • Instância-A mostra uma instância de 1.000 unidades de processamento (1 nó) com a distribuição de capacidade de computação que consome recursos do servidor em cada uma das três zonas.
  • 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 sincronizadas, 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. 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 padrões históricos de uso, o Spanner criou um grande número de divisões nos dados da instância, e, em alguns raros casos, o Spanner não consegue gerenciar as divisões depois da remoção dos nós.

No último caso, tente reduzir a capacidade de computação progressivamente 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 a utilização da CPU e as latências de solicitação em Monitoramento do Cloud para garantir que a utilização da CPU permaneça abaixo de 65% para instâncias regionais e 45% para cada região em instâncias multirregionais. Pode haver um aumento temporário nas solicitações e latências ao remover 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.

É possível usar o console do Google Cloud, a CLI do Google Cloud ou as bibliotecas de cliente do Spanner para mudar a capacidade de computação. Para mais informações, consulte Mudar 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. O aumento da capacidade de computação não aumenta o número de réplicas (que são fixas em uma determinada configuração de instância), mas aumenta os recursos que cada réplica tem na 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