Cotas e limites

Nesta página, descrevemos as cotas e os limites de produção do Spanner. A cota e o limite podem ser usados de forma intercambiável no console do Google Cloud.

Esses valores estão sujeitos a alterações.

Permissões para verificar e editar cotas

Para visualizar suas cotas, você precisa ter a permissão serviceusage.quotas.get Identity and Access Management (IAM).

Para alterar suas cotas, você precisa ter a permissão do IAM serviceusage.quotas.update. Por padrão, ela está incluída nos seguintes papéis predefinidos: proprietário, editor e administrador de cotas.

Por padrão, essas permissões estão incluídas nos papéis básicos do IAM de proprietário e editor e no papel predefinido de Administrador de cotas.

Verificar suas cotas

Para verificar as cotas atuais dos recursos no seu projeto, use o Console do Google Cloud:

Acesse Cotas

Aumentar suas cotas

À medida que você usa mais o Spanner, as cotas podem aumentar proporcionalmente. Se você espera um aumento considerável no uso, faça sua solicitação com alguns dias de antecedência para garantir que as cotas tenham o limite necessário.

Talvez você também precise aumentar a modificação da cota do consumidor. Para mais informações, consulte Como criar uma modificação de cota do consumidor.

É possível aumentar o limite atual de nós de configuração da instância do Spanner usando o console do Google Cloud.

  1. Acesse a página Cotas.

    Acessar a página "Cotas"

  2. Selecione API Spanner na lista suspensa Serviço.

    Se você não encontrar a API Spanner, isso significa que ela não foi ativada. Para mais informações, consulte Como ativar APIs.

  3. Selecione as cotas que você quer alterar.

  4. Clique em Editar cotas.

  5. No painel Alterações na cota exibido, insira o novo limite.

    Captura de tela da janela de criação de instância

  6. Clique em Concluído e em Enviar solicitação.

    Se não for possível aumentar manualmente o limite de nós para o limite desejado, clique em Inscrever-se para uma cota maior. Preencha o formulário para enviar uma solicitação à equipe do Spanner. Você vai receber uma resposta em até 48 horas após a solicitação.

Aumentar sua cota para uma configuração de instância personalizada

É possível aumentar a cota de nós para sua configuração de instância personalizada.

  1. Para verificar o limite de nós de uma configuração de instância personalizada, verifique o limite de nós da configuração da instância base.

    Use o comando show instance Configuration details se você não souber ou se lembrar da configuração básica da sua configuração de instância personalizada.

  2. Se o limite de nós necessário para a configuração da sua instância personalizada for menor que 85, siga as instruções na seção anterior Aumentar suas cotas. Use o console do Google Cloud para aumentar o limite de nós da configuração da instância base associada à configuração da instância personalizada.

    Se o limite de nós necessário para a configuração da instância personalizada for maior que 85, preencha o formulário Solicitar um aumento de cota para seus nós do Spanner. Especifique o ID da configuração da instância personalizada no formulário.

Limites de nós

Valor Limite
Nós por configuração de instância

Os limites padrão variam de acordo com o projeto e a configuração da instância. Para alterar os limites de cota do projeto ou solicitar um aumento, consulte Aumentar suas cotas.

Limites de instâncias

Valor Limite
Comprimento do ID da instância 2 a 64 caracteres

Limites de instâncias de teste gratuito

Uma instância de teste gratuito do Spanner tem os seguintes limites extras. Para aumentar ou remover esses limites, faça upgrade da sua instância de teste gratuito para uma instância paga.

Valor Limite
Capacidade de armazenamento 10 GB
Limite do banco de dados Crie até cinco bancos de dados
Recursos não compatíveis Backup e restauração
SLA Sem garantias de SLA
Duração do teste Período de teste gratuito de 90 dias

Limites de configuração da instância

Valor Limite
Máximo de configurações de instância personalizadas por projeto 100
Tamanho do ID de configuração da instância personalizada

8 a 64 caracteres

O ID de configuração da instância personalizada precisa começar com custom-

Limites de bancos de dados

Valor Limite
Bancos de dados por instância
  • Para instâncias de 1 nó (1.000 unidades de processamento) e maiores: 100 bancos de dados
  • Para instâncias com menos de um nó: 10 bancos de dados por 100 unidades de processamento
Papéis por banco de dados 100
Comprimento do ID do banco de dados 2 a 30 caracteres
Tamanho do armazenamento1
  • Para instâncias de um nó (1.000 unidades de processamento) e mais: 4 TB por nó
  • Para instâncias menores que 1 nó: 409,6 GB por 100 unidades de processamento

Uma capacidade de armazenamento maior de 10 TB por nó está disponível em algumas configurações regionais e multirregionais do Spanner. Para mais informações, consulte Melhorias de desempenho e armazenamento.

Os backups são armazenados separadamente e não entram na conta do limite. Para mais informações, consulte Métricas de utilização do Storage.

O Spanner cobra pelo armazenamento real utilizado em uma instância, e não pelo armazenamento total disponível.

Limites de backup e restauração

Valor Limite
Número de operações de criação de backup em andamento por banco de dados 1
Número de operações de restauração de banco de dados em andamento por instância (na instância do banco de dados restaurado, não no backup) 10
Tempo de retenção máximo do backup Um ano (incluindo o dia extra em anos bissextos)

Limites de esquemas

Instruções DDL

Valor Limite
Tamanho da instrução DDL para uma única mudança de esquema 10 MB
Tamanho da instrução DDL para todo o esquema de um banco de dados, conforme retornado por GetDatabaseDdl 10 MB

Tabelas

Valor Limite
Tabelas por banco de dados 5,000
Comprimento do nome da tabela 1 a 128 caracteres
Colunas por tabela 1.024
Comprimento do nome da coluna 1 a 128 caracteres
Tamanho dos dados por célula 10 MB
Número de colunas em uma chave de tabela

16

Inclui colunas de uma chave compartilhadas com qualquer tabela pai

Profundidade de intercalação da tabela

7

Uma tabela de nível superior com tabelas filhas tem profundidade 1.

Uma tabela de nível superior com tabelas netas tem profundidade 2 e assim por diante.

Tamanho total de uma chave de índice ou de tabela

8 KB

Inclui o tamanho de todas as colunas que compõem a chave

Tamanho total de colunas não chave

1.600 MB

Inclui o tamanho de todas as colunas não chave de uma tabela

Índices

Valor Limite
Índices por banco de dados 10.000
Índices por tabela 128
Comprimento do nome do índice 1 a 128 caracteres
Número de colunas em uma chave de índice

16

O número de colunas indexadas (exceto as colunas de STORING) mais o número de colunas da chave primária na tabela base

Visualizações

Valor Limite
Visualizações por banco de dados 5,000
Ver tamanho do nome 1 a 128 caracteres
Profundidade de aninhamento

10

Uma visualização que se refere a outra tem profundidade de aninhamento 1. Uma visualização que se refere a outra visualização que ainda se refere a outra visualização tem profundidade de aninhamento 2 e assim por diante.

Limites de consulta

Valor Limite
Colunas em uma cláusula GROUP BY 1.000
Valores em um operador IN 10.000
Chamadas de funções 1.000
Mesclagens 20
Chamadas de funções aninhadas 75
Cláusulas GROUP BY aninhadas 35
Expressões de subconsulta aninhadas 25
Instruções de subseleção aninhadas 60
Parâmetros 950
Comprimento da instrução de consulta 1 milhão de caracteres
STRUCT campos 1.000
Filhos da expressão de subconsulta 50
Uniões em uma consulta 200

Limites para criar, ler, atualizar e excluir dados

Valor Limite
Tamanho do commit (incluindo índices e fluxo de alterações) 100 MB
Leituras simultâneas por sessão 100
Mutações por confirmação (incluindo índices)2 80.000
Instruções DML particionadas simultâneas por banco de dados 20.000

Limites administrativos

Valor Limite
Tamanho da solicitação de ações administrativas3 1 MB
Limitação de taxa para ações administrativas4

Cinco por segundo, por projeto e por usuário

(média de mais de 100 segundos)

Limites de solicitações

Valor Limite
Tamanho da solicitação, que não seja o das confirmações5 10 MB

Alterar limites do fluxo

Valor Limite
Fluxos de alterações por banco de dados 10
Mudar as transmissões que assistem qualquer coluna não chave6 3
Leitores simultâneos por partição de dados de fluxo de alteração7 5

Limites do Data Boost

Valor Limite
Solicitações simultâneas do Boost de dados8 200

Observações

1. Para oferecer alta disponibilidade e baixa latência no acesso a um banco de dados, o Spanner define limites de armazenamento com base na capacidade de computação da instância:

  • 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 no banco de dados.
  • Para instâncias de um nó ou mais, o Spanner aloca 4 TB de dados para cada nó.

Por exemplo, para criar uma instância para um banco de dados de 600 GB, você precisa definir a capacidade de computação dele como 200 unidades de processamento. Essa quantidade de capacidade de computação vai manter a instância abaixo do limite, até que o banco de dados cresça para mais de 819,2 GB. Depois que o banco de dados atingir esse tamanho, você precisará adicionar mais 100 unidades de processamento para permitir que o banco de dados cresça. Caso contrário, as gravações no banco de dados podem ser rejeitadas. Para mais informações, consulte Recomendações para a utilização do armazenamento do banco de dados.

Para ter uma experiência de crescimento tranquila, adicione a capacidade de computação antes que o limite do seu banco de dados seja atingido.

2. As operações de inserção e atualização consideram a multiplicidade do número de colunas que elas afetam, e as colunas de chave primária são sempre afetadas. Por exemplo, inserir um novo registro poderá contabilizar cinco mutações caso os valores sejam inseridos em cinco colunas. A atualização de três colunas em um registro também poderá contar como cinco mutações se o registro tiver duas colunas de chave primária. As operações de exclusão e de remoção de intervalos contam como uma mutação, independentemente do número de colunas afetadas. Excluir uma linha de uma tabela mãe que tem a anotação ON DELETE CASCADE também conta como uma mutação, independentemente do número de linhas filhas intercaladas. A exceção é que, se houver índices secundários definidos em linhas que estejam sendo excluídas, as alterações nos índices secundários serão contadas individualmente. Por exemplo, se uma tabela tiver dois índices secundários, a exclusão de um intervalo de linhas da tabela contará como uma mutação para a tabela, além de duas mutações para cada linha excluída. Isso acontece porque as linhas no índice secundário podem estar dispersas no espaço de chave, tornando impossível para o Spanner chamar uma única operação de intervalo de exclusão nos índices secundários. Índices secundários incluem os índices de backup de chaves externas.

Para encontrar a contagem de mutações de uma transação, consulte Como recuperar estatísticas de confirmação para uma transação.

Os fluxos de alterações não adicionam nenhuma mutação que conta para esse limite.

3. O limite de uma solicitação de ação administrativa exclui confirmações, solicitações listadas na observação 5 e alterações de esquemas.

4. Essa limitação de taxa inclui todas as chamadas para a API admin, inclusive chamadas para apurar operações de longa duração em uma instância, um banco de dados ou um backup.

5. Esse limite inclui solicitações de criação e atualização de um banco de dados, leitura, streaming de leituras, execução de consultas SQL e realização de consultas SQL de streaming.

6. Um fluxo de alterações que observa uma tabela inteira ou um banco de dados implicitamente observa todas as colunas da tabela ou do banco de dados e, portanto, é contabilizado nesse limite.

7. Esse limite se aplica a leitores simultâneos da mesma partição de fluxo de alterações, sejam eles pipelines do Dataflow ou consultas diretas de API.

8. Os limites padrão variam de acordo com o projeto e as regiões. Para mais informações, consulte Monitorar e gerenciar o uso de cotas do Data Boost.