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:
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.
Acesse a página Cotas.
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.
Selecione as cotas que você quer alterar.
Clique em Editar cotas.
No painel Alterações na cota exibido, insira o novo limite.
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.
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.
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 |
Limites de bancos de dados
Valor | Limite |
---|---|
Bancos de dados por instância |
|
Papéis por banco de dados | 100 |
Comprimento do ID do banco de dados | 2 a 30 caracteres |
Tamanho do armazenamento1 |
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.