Cotas e limites

Neste documento, listamos as cotas e limites que se aplicam ao BigQuery.

Uma cota restringe quanto de um determinado recurso compartilhado do Google Cloud o projeto do Cloud pode usar, incluindo hardware, software e componentes de rede.

As cotas fazem parte de um sistema que:

  • monitora o uso ou o consumo de produtos e serviços do Google Cloud;
  • restringe o consumo desses recursos por motivos que incluem garantir a equidade e a redução dos picos de uso;
  • mantém as configurações que aplicam automaticamente restrições prescritas;
  • fornece maneiras de fazer ou solicitar alterações na cota.

Quando uma cota é excedida, na maioria dos casos, o sistema bloqueia imediatamente o acesso ao respectivo recurso do Google, e a tarefa que você está tentando executar falha. Na maioria dos casos, as cotas se aplicam a todos os projetos do Cloud. Além disso, elas são compartilhadas entre todos os aplicativos e endereços IP que usam esse projeto.

Muitos produtos e serviços também têm limites não relacionados ao sistema de cotas. Esses limites são restrições, como tamanhos máximos de arquivo ou limitações de esquema do banco de dados, que geralmente não podem ser aumentadas ou diminuídas, a menos que especificado de outra forma.

Por padrão, as cotas e limites do BigQuery são aplicados por projeto. As cotas e os limites aplicáveis de maneira diferente são indicados como tal. por exemplo, o número máximo de colunas por tabela ou o número máximo de solicitações de API simultâneas por usuário. As políticas específicas variam de acordo com a disponibilidade do recurso, o perfil do usuário, o histórico de uso do serviço e outros fatores, e estão sujeitas a alterações sem aviso prévio.

Reposição de cota

As cotas diárias são reabastecidas em intervalos regulares ao longo do dia, refletindo a intenção de orientar comportamentos que limitem a taxa. A atualização intermitente também é feita para evitar interrupções longas quando a cota estiver esgotada. As cotas são geralmente renovadas em questão de minutos, em vez de restauradas de maneira integral uma vez ao dia.

Solicitar aumento de cota

Para aumentar ou diminuir a maioria das cotas, use o Console do Google Cloud. Algumas cotas não podem ser aumentadas acima dos valores padrão.

Para mais informações, consulte as seções a seguir sobre Como trabalhar com cotas:

Para ver instruções passo a passo sobre o processo de solicitação de um aumento de cota no Console do Cloud, clique em Orientação:

Orientações

Permissões

Para visualizar e atualizar suas cotas do BigQuery no Console do Cloud, você precisa das mesmas permissões que qualquer cota do Google Cloud. Para mais informações, consulte Permissões de cota do Google Cloud.

Jobs de cópia

Veja a seguir os limites aplicados a jobs do BigQuery para copiar tabelas. Os limites se aplicam a jobs criados usando a ferramenta de linha de comando bq, o Console do Cloud ou o método de API jobs.insert do tipo cópia. Todos os jobs de cópia contam para esse limite, sejam eles bem-sucedidos ou falham.

Limite Padrão Observações
Jobs de cópia por tabela de destino/dia Consulte Operações de tabela por dia.
Jobs de cópia por dia 100.000 jobs É possível executar até 100.000 jobs de cópia por dia no projeto.
Jobs de cópia entre regiões por tabela de destino/dia 100 jobs Seu projeto pode executar até 100 jobs de cópia entre regiões para uma tabela de destino por dia.
Jobs de cópia entre regiões por dia 2.000 jobs É possível executar até 2.000 jobs de cópia entre regiões por dia.

Veja a seguir os limites aplicados à cópia de conjuntos de dados:

Limite Padrão Observações
Número máximo de tabelas no conjunto de dados de origem 20.000 tabelas Um conjunto de dados de origem pode ter até 20.000 tabelas.
Número máximo de tabelas que podem ser copiadas por execução em um conjunto de dados de destino na mesma região 20.000 tabelas O projeto pode copiar 20.000 tabelas por execução em um conjunto de dados de destino que esteja na mesma região.
Número máximo de tabelas que podem ser copiadas por execução em um conjunto de dados de destino em uma região diferente 1.000 tabelas O projeto pode copiar 1.000 tabelas por execução para um conjunto de dados de destino que está em uma região diferente. Por exemplo, se você configurar uma cópia entre regiões de um conjunto de dados com 8.000 tabelas, o serviço de transferência de dados do BigQuery criará automaticamente oito execuções de maneira sequencial. A primeira execução copia 1.000 tabelas. Vinte e quatro horas depois, a segunda execução copia 1.000 tabelas. Esse processo continua até que todas as tabelas no conjunto de dados sejam copiadas, até o máximo de 20.000 tabelas por conjunto de dados.

Instruções de linguagem de manipulação de dados (DML)

Os limites a seguir se aplicam a instruções da linguagem de manipulação de dados (DML) do BigQuery:

Limite Padrão Observações
Instruções DML por dia Ilimitado As instruções DML são contabilizadas no número de operações de tabelas por dia (ou no número de operações de tabelas particionadas por dia) para tabelas particionadas ). No entanto, o número de instruções DML que seu projeto pode executar por dia não é limitado. Após o uso do limite diário de operações da tabela (ou operações de tabela particionada), você receberá erros para operações de tabela não DML. No entanto, é possível continuar a executar instruções DML sem receber erros.
Instruções DML mutantes simultâneas por tabela Duas Instruções O BigQuery executa até duas instruções DML mutantes simultâneas (UPDATE, DELETE e MERGE) em cada tabela. As instruções DML mutantes adicionais de uma tabela são enfileiradas.
Instruções DML mutantes na fila por tabela 20 instruções Uma tabela pode ter até 20 instruções DML mutantes na fila que aguardam execução. Se você enviar instruções DML mutantes adicionais para a tabela, essas instruções falharão.
Tempo máximo na fila para a instrução DML 6 horas Uma instrução DML de prioridade interativa pode aguardar na fila por até seis horas. Se a instrução não for executada após seis horas, ela falhará.

Para mais informações sobre como modificar instruções DML, consulte Simultaneidade de DML UPDATE, DELETE, MERGE.

Conjuntos de dados

Os limites a seguir se aplicam aos conjuntos de dados do BigQuery.

Limite Padrão Observações
Número máximo de conjuntos de dados Ilimitado Não há limite no número de conjuntos de dados que um projeto pode ter.
Número de tabelas por conjunto de dados Ilimitado Ao usar uma chamada de API, o desempenho da enumeração fica lento quando você se aproxima de 50.000 tabelas em um conjunto de dados. O Console do Cloud pode exibir até 50.000 tabelas para cada conjunto de dados.
Número de visualizações autorizadas na lista de controle de acesso de um conjunto de dados 2.500 visualizações autorizadas A lista de controle de acesso de um conjunto de dados pode conter até 2.500 visualizações autorizadas.
Número de operações de atualização de conjunto de dados por conjunto de dados a cada 10 segundos 5 operações Seu projeto pode realizar até cinco operações de atualização de conjunto de dados a cada 10 segundos. O limite de atualização do conjunto de dados inclui todas as operações de atualização de metadados realizadas por:
Comprimento máximo de uma descrição de conjunto de dados 16.384 caracteres Ao adicionar uma descrição a um conjunto de dados, o texto pode ter no máximo 16.384 caracteres.

Jobs de exportação

A cota a seguir se aplica a jobs que exportam dados do BigQuery exportando dados usando a ferramenta de linha de comando bq, o Console do Cloud ou o export-type jobs.insert método de API.

Cota Padrão Observações
Número máximo de bytes exportados por dia 50 TB Seu projeto pode exportar até 50 terabytes por dia.
Para exportar mais do que 50 TB de dados por dia, use a API Storage Read ou a instrução EXPORT DATA.
Ver cota no Console do Cloud

Veja a seguir os limites aplicados a jobs que exportam dados do BigQuery utilizando a ferramenta de linha de comando bq, o Console do Cloud ou o tipo de exportação Método de API jobs.insert.

Limite Padrão Observações
Número máximo de exportações por dia 100.000 exportações O projeto pode executar até 100.000 exportações por dia.
URIs curinga por exportação 500 URIs Uma exportação pode ter até 500 URIs curinga.

Jobs de carregamento

Os limites a seguir se aplicam ao carregamento de dados no BigQuery, usando o Console do Cloud, a ferramenta de linha de comando bq ou o tipo de carga. Método de API jobs.insert.

Limite Padrão Observações
Carregar jobs por tabela por dia Consulte o Número máximo de operações de tabela por dia. Os jobs de carregamento com falha são contabilizados nesse limite. Os jobs de carregamento, incluindo os com falha, contam para o limite no número máximo de operações de tabela por dia para a tabela de destino.
Carregar jobs por dia 100.000 jobs O projeto pode executar até 100.000 jobs de carregamento por dia. Os jobs de carregamento com falha são contabilizados nesse limite.
Máximo de colunas por tabela 10.000 colunas Uma tabela pode ter até 10.000 colunas.
Tamanho máximo por job de carregamento 15 TB O tamanho total de todos os seus arquivos de entrada CSV, JSON, Avro, Parquet e ORC pode ser de até 15 TB.
Número máximo de URIs de origem na configuração do job 10.000 URIs Uma configuração de job pode ter até 10.000 URIs de origem.
Número máximo de arquivos por job de carga 10.000.000 arquivos Um job de carregamento pode ter até 10 milhões de arquivos no total, incluindo todos os arquivos correspondentes a todos os URIs curinga.
Limite de tempo de execução do job de carregamento 6 horas Um job de carregamento falhará se for executado por mais de seis horas.
Avro: tamanho máximo dos blocos de dados do arquivo 16 MB O limite de tamanho para blocos de dados de arquivo Avro é de 16 MB.
CSV: tamanho máximo de células 100 MB As células CSV podem ter até 100 MB de tamanho.
CSV: tamanho máximo da linha 100 MB As linhas CSV podem ter até 100 MB.
CSV: tamanho máximo de arquivo - compactado 4 GB O limite de tamanho para um arquivo CSV compactado é de 4 GB.
CSV: tamanho máximo de arquivo, não compactado 5 TB O limite de tamanho para um arquivo CSV não compactado é de 5 TB.
JSON: tamanho máximo de linha 100 MB As linhas JSON podem ter até 100 MB de tamanho.
JSON: tamanho máximo de arquivo compactado 4 GB O limite de tamanho para um arquivo JSON compactado é de 4 GB.
JSON: tamanho máximo de arquivo, não compactado 5 TB O limite de tamanho para um arquivo JSON descompactado é de 5 TB.

Se você exceder os limites de jobs de carregamento regularmente devido a atualizações frequentes, considere usar dados de streaming no BigQuery.

Jobs de consulta

As cotas a seguir se aplicam a jobs de consulta criados automaticamente com a execução de consultas interativas, consultas programadas e jobs enviados usando o jobs.query e o tipo de consulta jobs.insertmétodos de API:

Cota Padrão Observações
Uso de consultas por dia Ilimitado O projeto pode executar um número ilimitado de consultas por dia.
Ver cota no Console do Cloud
Uso de consultas por dia por usuário Ilimitado Os usuários podem executar um número ilimitado de consultas por dia.
Ver cota no Console do Cloud
Bytes por região entre consultas federadas do Cloud SQL por dia 1 TB Se o local de processamento da consulta do BigQuery e o local da instância do Cloud SQL forem diferentes, a consulta será entre regiões. Seu projeto pode executar até 1 TB em consultas entre regiões por dia. Veja as consultas federadas do Cloud SQL.
Ver cota no Console do Cloud

Os limites a seguir se aplicam a jobs de consulta criados automaticamente com a execução de consultas interativas, consultas programadas e jobs enviados com os tipos de jobs.query e Métodos de API jobs.insert:

Limite Padrão Observações
Limite de taxa simultânea para consultas interativas 100 consultas O projeto pode executar até 100 consultas interativas simultâneas. As consultas com resultados retornados do cache de consulta são descontadas desse limite durante o tempo que leva para o BigQuery determinar que é uma ocorrência em cache. As consultas de simulação não contam para esse limite. É possível especificar uma consulta de simulação usando a sinalização --dry_run Para mais informações sobre estratégias para não exceder esse limite, consulte Como solucionar erros de cota.
Limite de taxa simultânea para consultas interativas em fontes de dados externas do Cloud Bigtable 4 consultas O projeto pode executar até quatro consultas simultâneas em uma fonte de dados externa do Bigtable.
Limite diário do tamanho da consulta Ilimitado Por padrão, não há limite de tamanho de consulta diário. No entanto, é possível definir limites para a quantidade de dados que os usuários podem consultar criando cotas personalizadas.
Limite de taxa simultânea para consultas de SQL legado que contêm UDFs 6 consultas O projeto pode executar até seis consultas SQL legadas simultâneas com funções definidas pelo usuário (UDFs). Esse limite inclui consultas interativas e em lote. Consultas interativas que contêm UDFs também são consideradas em relação ao limite de taxa simultânea para consultas interativas. Esse limite não se aplica a consultas de SQL padrão.
Limite diário de atualização da tabela de destino Consulte o Número máximo de operações de tabela por dia. As atualizações nas tabelas de destino em um job de consulta são contabilizadas no limite do número máximo de operações de tabela por dia para as tabelas de destino. As atualizações da tabela de destino incluem operações de anexação e substituição, feitas por consultas executadas usando o Console do Cloud, usando a ferramenta de linha de comando bq ou chamando o método jobs.query e métodos de API jobs.insert do tipo de consulta.
Limite de tempo de execução da consulta/script 6 horas Uma consulta ou script pode ser executado por até seis horas e, em seguida, falhar. No entanto, às vezes as consultas são repetidas. Uma consulta pode ser tentada até três vezes, e cada tentativa pode ser executada por até seis horas. Como resultado, é possível que uma consulta tenha um tempo de execução total de mais de seis horas.
Número máximo de recursos referenciados por consulta 1.000 recursos Uma consulta pode fazer referência a um total de até 1.000 tabelas, visualizações únicas, funções definidas pelo usuário (UDFs) únicas e funções com valor de tabela (TVFs) únicas (Visualizar) após a expansão completa. Este limite inclui o seguinte:
  • Tabelas, visualizações, UDFs e funções de tabela referenciadas diretamente pela consulta.
  • Tabelas, visualizações, UDFs e funções de tabela referenciadas por outras funções de visualização/UDFs/tabela referenciadas na consulta.
  • Tabelas resultantes da expansão de tabelas de caracteres curinga usadas na consulta ou nas outras funções de visualização/UDFs/tabela referenciadas.
Tamanho máximo de consulta de SQL legado não resolvido 256 KB Uma consulta de SQL legado não resolvida pode ter até 256 KB de comprimento. Se a consulta for mais longa, você receberá o seguinte erro: The query is too large. para permanecer dentro desse limite, substitua grandes matrizes ou listas por parâmetros de consulta.
Tamanho máximo de uma consulta de SQL padrão não resolvida 1 MB Uma consulta SQL padrão não resolvida pode ter até 1 MB de comprimento. Se a consulta for mais longa, você receberá o seguinte erro: The query is too large. para permanecer dentro desse limite, considere substituir grandes matrizes ou listas por parâmetros de consulta.
Tamanho máximo de consulta de SQL legado e padrão resolvido 12 MB O limite no tamanho da consulta resolvida inclui o tamanho de todas as visualizações e tabelas curinga referenciadas pela consulta.
Número máximo de parâmetros de consulta de SQL padrão 10.000 parâmetros Uma consulta no SQL padrão pode ter até 10.000 parâmetros.
Tamanho máximo de resposta 10 GB compactados Os tamanhos variam de acordo com as taxas de compactação dos dados. O tamanho real da resposta pode ser significativamente superior a 10 GB. O tamanho máximo da resposta é ilimitado ao gravar grandes resultados de consultas em uma tabela de destino.
Tamanho máximo da linha 100 MB O tamanho máximo da linha é aproximado, porque o limite é baseado na representação interna dos dados da linha. Esse limite é aplicado durante determinados estágios da execução do job de consulta.
Máximo de colunas em uma tabela, um resultado de consulta ou uma definição de visualização 10.000 colunas Uma definição de tabela, resultado da consulta ou visualização pode ter até 10.000 colunas.
Máximo de slots simultâneos para preços sob demanda 2.000 slots Com o preço sob demanda, seu projeto pode ter até 2.000 slots simultâneos. Os slots do BigQuery são compartilhados entre todas as consultas em um único projeto. É possível que o BigQuery vá além desse limite para acelerar suas consultas. Para verificar quantos slots você está usando, consulte Como monitorar o BigQuery usando o Cloud Monitoring.
Uso máximo da CPU por dados verificados para preços sob demanda 256 segundos de CPU por MiB verificado Com os preços sob demanda, sua consulta pode usar até aproximadamente 256 segundos de CPU por MiB de dados verificados. Se a consulta consumir muita CPU para a quantidade de dados processados, ela falhará com um erro billingTierLimitExceeded. Para mais informações, consulte billingTierLimitExceeded.

As consultas programadas usam recursos do serviço de transferência de dados do BigQuery, mas não são transferências e não estão sujeitas a limites de job de carregamento.

Segurança no nível da linha

Os limites a seguir se aplicam às políticas de acesso no nível da linha do BigQuery:

Limite Padrão Observações
Número máximo de políticas de acesso de linha por tabela. 100 políticas Uma tabela pode ter até cem políticas de acesso de linha.
Número máximo de políticas de acesso de linha por tabela. 100 políticas Uma consulta pode acessar até um total de 100 políticas de acesso de linha.
Número máximo de instruções DDL CREATE / DROP por política a cada 10 segundos 5 instruções O projeto pode fazer até cinco instruções CREATE ou DROP por recurso de política de acesso de linha a cada 10 segundos.
DROP ALL ROW ACCESS POLICIES instruções por tabela a cada 10 segundos Instruções Seu projeto pode fazer até cinco instruções DROP ALL ROW ACCESS POLICIES por tabela a cada 10 segundos.
Número máximo de chamadas rowAccessPolicies.list Consulte Limites para todas as APIs do BigQuery.
Número máximo de chamadas rowAccessPolicies.getIamPolicy Consulte Cotas da API IAM.

Inserções de streaming

Veja a seguir os limites e as cotas aplicáveis aos dados de streaming no BigQuery. Para mais informações sobre estratégias para não exceder esses limites, consulte Como solucionar erros de cota.

Inserções de streaming sem campos insertId

Se você não preencher o campo insertId ao inserir linhas, o limite a seguir será aplicado. Para mais informações, consulte Como desativar a eliminação de duplicação por melhor esforço. Essa é a maneira recomendada de usar o BigQuery para conseguir limites de cota de ingestão de streaming maiores.

Limite Padrão Observações
Máximo de bytes por segundos 1 GB Se você não preencher o campo insertId para cada linha inserida, seu projeto poderá fazer streaming de até 1 GB por segundo. Exceder esse limite causa quotaExceeded erro.

Inserções de streaming com campos insertId

Se você preencher o campo insertId ao inserir linhas, as cotas a seguir serão aplicadas. Se você exceder essas cotas, receberá erros quotaExceeded.

Cota Padrão Observações
Máximo de linhas por segundo por projeto nas multirregiões us e eu: 500.000 linhas

insertIdSe você preencher o campo para cada linha inserida, o limite será de 500.000 linhas por segundo nas multirregiões e , por projeto. Essa cota é cumulativa dentro de uma determinada multirregião. Ou seja, a soma de linhas transmitidas por segundo para todas as tabelas em um determinado projeto dentro de uma multirregião está limitada a 500.000. Cada tabela tem um limite extra de 100.000 linhas por segundo.

Ultrapassar o limite por projeto ou tabela causará erros de quotaExceeded.

Máximo de linhas por segundo em cada projeto em todos os outros locais 100.000 linhas

insertIdSe você preencher o campo us para cada linha inserida, o limite será de 100.000 linhas por segundo em todas as localizações, exceto nas multirregiões eu e , por projeto ou tabela. Esse limite é cumulativo dentro de uma determinada região. Ou seja, a soma de linhas transmitidas por segundo para todas as tabelas em um determinado projeto dentro de uma região está limitada a 100.000.

Exceder essa quantidade causará erros quotaExceeded.

Máximo de linhas por segundo em cada tabela 100.000 linhas

insertIdSe você preencher o campo para cada linha inserida, o limite será de 100.000 linhas por segundo em cada tabela.

Exceder essa quantidade causará erros quotaExceeded.

Máximo de bytes por segundo 100 MB

insertIdSe você preencher o campo para cada linha inserida, o limite será de 100 MB por segundo em cada tabela.

Exceder essa quantidade causará erros quotaExceeded.

Todas as inserções de streaming

As cotas de streaming a seguir se aplicam ao campo insertId, mesmo que ele não seja preenchido:

Limite Padrão Observações
Tamanho máximo da linha 10 MB Exceder esse valor causa o erro invalid.
Limite de tamanho da solicitação HTTP 10 MB

Exceder esse valor causa o erro invalid.

Observação: a solicitação é transformada internamente de HTTP/JSON para uma estrutura de dados interna. Essa estrutura de dados tem o próprio limite de tamanho. É difícil prever o tamanho da estrutura de dados interna resultante, mas se você mantiver as solicitações HTTP em 10 MB ou menos, a chance de atingir o limite interno será baixa.

máximo de linhas por solicitação 50.000 linhas É recomendado o máximo de 500 linhas. Nas operações em lote, o desempenho e a capacidade podem aumentar, mas a latência por solicitação pode ser prejudicada. Com poucas linhas por solicitação, a ingestão pode ficar ineficiente por causa do excesso de recursos utilizados no processamento de cada solicitação. Com muitas filas, o rendimento da saída pode diminuir. Teste dados representativos (esquema e tamanhos dos dados) para determinar o tamanho ideal do lote para os seus dados.
Comprimento do campo insertId: 128 caracteres Exceder esse valor causa o erro invalid.

Se você precisar de uma cota de streaming maior para o projeto, poderá desativar a eliminação de duplicação por melhor esforço. Para cotas de streaming adicionais, consulte Solicitar um aumento de cota.

Funções de tabela

Os limites a seguir se aplicam às funções de tabela do BigQuery:

Limite Padrão Observações
Comprimento máximo de um nome de função de tabela 256 caracteres O nome de uma função de tabela pode ter até 256 caracteres.
Comprimento máximo de um nome de argumento 128 caracteres O nome de um argumento de função de tabela pode ter até 128 caracteres.
Número máximo de argumentos: 256 argumentos Uma função de tabela pode ter até 256 argumentos.
Profundidade máxima da cadeia de referência de uma função de tabela 16 referências Uma cadeia de referência da função de tabela pode ter até 16 referências.
STRUCTProfundidade máxima de um argumento ou de uma saída do tipo : 15 15 níveis Um argumento STRUCT para uma função de tabela pode ter até 15 níveis de profundidade. Da mesma forma, um registro STRUCT na saída de uma função da tabela pode ter até 15 níveis de profundidade.
STRUCTNúmero máximo de campos em argumentos ou tabelas de retorno do tipo por função de tabela: 1.024 campos Um argumento STRUCT para uma função de tabela pode ter até 1.024 campos. Da mesma forma, um registro STRUCT na saída de uma função de tabela pode ter até 1.024 campos.
Número máximo de colunas na tabela de retorno 1.024 colunas Uma tabela retornada por uma função de tabela pode ter até 1.024 colunas.
Comprimento máximo de nomes de colunas da tabela de retorno: 128 caracteres Os nomes das colunas das tabelas retornadas podem ter até 128 caracteres.
Número máximo de atualizações por função de tabela a cada 10 segundos 5 atualizações Seu projeto pode atualizar uma função de tabela até cinco vezes a cada 10 segundos.

Tabelas

Todas as tabelas

Os limites a seguir se aplicam a todas as tabelas do BigQuery.

Limite Padrão Observações
Comprimento máximo de uma descrição de coluna 1.024 caracteres Ao adicionar uma descrição a uma coluna, o texto pode ter no máximo 1.024 caracteres.
Profundidade máxima de registros aninhados: 15 níveis Colunas do tipo RECORD podem conter tipos RECORD aninhados, também chamados de registros filhos. O limite máximo de profundidade aninhado é de 15 níveis. Esse limite não depende do fato que os registros sejam escalares ou baseados em matrizes (repetidos).

Tabelas externas

Os limites a seguir se aplicam a tabelas com dados armazenados no Cloud Storage em formato Parquet, ORC, Avro, CSV ou JSON.

Limites Padrão Observações
Número máximo de URIs de origem por tabela externa 10.000 URIs Cada tabela externa pode ter até 10.000 URIs de origem.
Número máximo de arquivos por tabela externa 10.000.000 arquivos Uma tabela externa pode ter até 10 milhões de arquivos, incluindo todos os arquivos correspondentes a todos os URIs curinga.
Tamanho máximo de dados armazenados no Cloud Storage por tabela externa 600 TB Uma tabela externa pode ter até 600 terabytes em todos os arquivos de entrada. Esse limite se aplica aos tamanhos dos arquivos, conforme armazenados no Cloud Storage. esse tamanho não é o mesmo usado na fórmula de preço de consulta. Para tabelas particionadas externamente, o limite é aplicado depois da remoção de partições.

Tabelas particionadas

Os limites a seguir se aplicam às tabelas particionadas do BigQuery.

Os limites de partição se aplicam ao total combinado de todos os jobs de carregamento, jobs de cópia e jobs de consulta{101. }que anexem ou substituam uma partição de destino ou que usem uma instrução DML DELETE, INSERT, MERGE, TRUNCATE TABLE ou UPDATE. para gravar dados em uma tabela.

As instruções DML são contabilizadas no limite de partições, mas não são limitadas por elas. Em outras palavras, o número total de operações diárias que são contabilizadas no limite inclui instruções DML, mas esse tipo de comando não falha devido a esse limite. Por exemplo, você atingirá o limite diário de operações de partição se executar 500 jobs de cópia que anexam dados a mytable$20210720 e 1.000 jobs de consulta que anexam dados a mytable$20210720.

Um único job pode afetar várias partições. Por exemplo, uma instrução DML pode atualizar dados em várias partições (para tabelas de tempo de ingestão e particionadas). Jobs de consulta e jobs de carregamento também podem gravar em várias partições, mas apenas para tabelas particionadas.

O BigQuery usa o número de partições afetadas por um job ao determinar a quantidade da cota consumida pelo job. As inserções de streaming não afetam essa cota.

Para informações sobre estratégias para permanecer dentro dos limites de tabelas particionadas, consulte Solução de problemas de erros de cota.

Limite Padrão Observações
Número máximo de partições por tabela particionada: 4.000 partições Cada tabela particionada pode ter até 4.000 partições. Se você exceder esse limite, use o clustering além do particionamento ou em vez dele.
Número máximo de partições modificadas por um único job: 4.000 partições Cada operação de job (consulta ou carregamento) pode afetar até 4.000 partições. O BigQuery rejeita qualquer job de consulta ou de carregamento que tente modificar mais de 4.000 partições.
Modificações de partição por tabela particionada por tempo de ingestão por dia 5.000 modificações. Seu projeto pode fazer até 5.000 modificações de partições por dia em uma tabela particionada por tempo de ingestão.
Modificações de partição por tabela particionada por coluna por dia 30.000 modificações.

O projeto pode fazer até 30 mil modificações de partições por dia em uma tabela particionada por coluna.

Número de operações de partição por 10 segundos por tabela 50 operações Seu projeto pode executar até 50 operações de particionamento por tabela particionada a cada 10 segundos.
Número de intervalos possíveis para particionamento de intervalo 10.000 intervalos Uma tabela particionada por intervalo pode ter até 10.000 intervalos possíveis. Esse limite se aplica à especificação de partição durante a criação da tabela. Depois de criar a tabela, o limite também se aplica ao número real de partições.

Tabelas padrão

Os limites a seguir se aplicam às tabelas padrão do BigQuery.

Limite Padrão Observações
Operações de tabela por dia 1.500 operações

O projeto pode fazer até 1.500 vezes por tabela por dia,seja para anexar dados, seja para truncar a tabela. Esse limite inclui o total combinado de todos os jobs de carregamento, jobs de cópia e jobs de consulta. que anexam ou substituem uma tabela de destino ou que usam DML DELETE, INSERT, MERGE, TRUNCATE TABLE } ou UPDATE para gravar dados em uma tabela.

As instruções DML são contabilizadas nesse limite, mas não são limitadas por ele. Em outras palavras, o total de operações diárias que contam para o limite inclui instruções DML, mas instruções DML não falham devido a esse limite. Por exemplo, você atingirá a cota se executar 500 jobs de cópia que anexam dados a mytable e 1.000 jobs de consulta que anexam dados a mytable.

Para informações sobre operações de tabela por dia para tabelas particionadas, consulte Operações de tabela particionada por dia.

Taxa máxima de operações de atualização de metadados de tabela por tabela 5 operações por 10 segundos Seu projeto pode fazer até cinco operações de atualização de metadados de tabela a cada 10 segundos por tabela. Esse limite se aplica a todas as operações de atualização de metadados da tabela, realizadas ao: Esse limite também inclui o total combinado de todos os jobs de carregamento, jobs de cópia e jobs de consulta que se anexam a uma tabela de destino ou a substituem. Esse limite não se aplica a operações de DML.

Se você exceder esse limite, receberá uma mensagem de erro como Exceeded rate limits: too many table update operations for this table. Esse erro é transitório; tente novamente com uma espera exponencial.

Para identificar as operações que contam para esse limite, é possível inspecionar seus registros.

Número máximo de colunas por tabela 10.000 colunas Cada definição de tabela, resultado da consulta ou visualização pode ter até 10.000 colunas.

Snapshots da tabela

Os limites a seguir se aplicam aos instantâneos da tabela do BigQuery:

Limite Padrão Observações
Número máximo de jobs de snapshots da tabela simultâneos: 100 jobs O projeto pode executar até 100 jobs de snapshots de tabela simultâneos.
Número máximo de jobs de snapshots da tabela por dia: 50.000 jobs O projeto pode executar até 50.000 jobs de snapshots de tabela por dia.
Número máximo de jobs por snapshot da tabela por dia: 50 jobs Seu projeto pode executar até 50 jobs por dia por snapshot de tabela.
Número máximo de atualizações de metadados por snapshot da tabela a cada 10 segundos: 5 atualizações O projeto pode atualizar os metadados de um snapshot de tabela até cinco vezes a cada 10 segundos.

UDFs

Os limites a seguir se aplicam a funções definidas pelo usuário (UDFs) temporárias e persistentes em consultas SQL do BigQuery.

Limite Padrão Observações
Saída máxima por linha 5 MB A quantidade máxima de dados que a UDF JavaScript pode gerar ao processar uma única linha é de aproximadamente 5 MB.
Máximo de consultas SQL legadas simultâneas com UDFs em JavaScript 6 consultas O projeto pode ter até seis consultas SQL legadas simultâneas que tenham UDFs em JavaScript. Esse limite inclui consultas interativas e em lote. Consultas interativas que contêm UDFs também são consideradas em relação ao limite de taxa simultânea para consultas interativas. Esse limite não se aplica a consultas de SQL padrão.
Máximo de recursos de UDF em JavaScript por consulta 50 recursos Um job de consulta pode ter até 50 recursos de UDF em JavaScript, como blobs de código in-line ou arquivos externos.
Tamanho máximo do blob de código in-line 32 KB Um blob de código in-line em uma UDF pode ter até 32 KB.
Tamanho máximo de cada recurso de código externo 1 MB O tamanho máximo de cada recurso de código JavaScript é de 1 MB.

Os limites a seguir se aplicam a UDFs permanentes:

Limite Padrão Observações
Tamanho máximo de um nome de UDF 256 caracteres Um nome de UDF pode ter até 256 caracteres.
Número máximo de argumentos: 256 argumentos Uma UDF pode ter até 256 argumentos.
Tamanho máximo de um nome de argumento 128 caracteres Um nome de argumento de UDF pode ter até 128 caracteres.
Profundidade máxima de uma cadeia de referências da UDF 16 referências Uma cadeia de referência de UDF pode ter até 16 referências profundas.
Profundidade máxima de um argumento ou uma saída do tipo STRUCT. 15 níveis Um argumento ou saída de UDF do tipo STRUCT pode ter até 15 níveis de profundidade.
Número máximo de campos em argumentos de tipo STRUCT ou saída por UDF 1.024 campos Uma UDF pode ter até 1.024 campos em argumentos de tipo e saída STRUCT.
Número máximo de bibliotecas JavaScript em uma instrução CREATE FUNCTION 50 bibliotecas Uma instrução CREATE FUNCTION pode ter até 50 bibliotecas JavaScript.
Tamanho máximo dos caminhos da biblioteca JavaScript incluídos 5.000 de caracteres O caminho para uma biblioteca JavaScript incluída em uma UDF pode ter até 5.000 caracteres.
Taxa máxima de atualização por UDF: 5 a cada 10 segundos 5 atualizações O projeto pode atualizar uma UDF até cinco vezes a cada 10 segundos.

Visualizações

Os limites a seguir se aplicam às visualizações do BigQuery.

Limite Padrão Observações
Número máximo de níveis de visualização aninhados: 16 tiers O BigQuery é compatível com até 16 níveis de visualizações aninhadas. Se houver mais de 16 níveis, será retornado um erro INVALID_INPUT.
Tamanho máximo de uma consulta de SQL padrão usada para definir uma visualização 256 mil caracteres O texto de uma consulta SQL padrão que define uma visualização pode ter até 256 mil caracteres.
Número máximo de visualizações autorizadas por conjunto de dados: 2.500 visualizações autorizadas A lista de controle de acesso de um conjunto de dados pode ter até 2.500 visualizações autorizadas.

API BigQuery

Nesta seção, descrevemos as cotas e os limites que se aplicam a todas as solicitações da API BigQuery e as que se aplicam a tipos específicos de solicitações.

Todas as APIs do BigQuery

A cota a seguir se aplica a todas as solicitações da API BigQuery:

Cota Padrão Observações
Solicitações por dia Ilimitado Seu projeto pode fazer um número ilimitado de solicitações da API BigQuery por dia.
Ver cota no Console do Cloud

Os limites a seguir se aplicam a todas as solicitações da API BigQuery:

Limite Padrão Observações
Número máximo de solicitações de API por segundo por usuário e por método 100 solicitações Um usuário pode fazer até 100 solicitações de API por segundo para um método de API. Se um usuário fizer mais de 100 solicitações por segundo para um método, poderá haver uma limitação. Esse limite não se aplica a inserções de streaming.
Número máximo de solicitações de API simultâneas por usuário 300 solicitações Se um usuário faz mais de 300 solicitações simultâneas, a limitação pode ocorrer. Esse limite não se aplica a inserções de streaming.
Tamanho máximo do cabeçalho da solicitação 16 KiB A solicitação da API BigQuery pode ser de até 16 KiB, incluindo o URL de solicitação e todos os cabeçalhos. Esse limite não se aplica ao corpo da solicitação, como em uma solicitação POST.

Solicitações jobs.get

O limite a seguir se aplica a solicitações de API jobs.get:

Limites Padrão Observações
Máximo de solicitações jobs.get por segundo 1.000 solicitações O projeto pode fazer até 1.000 solicitações jobs.get por segundo.

Solicitações jobs.query

O limite a seguir se aplica às solicitações da API jobs.query:

Limite Padrão Observações
Tamanho máximo de resposta jobs.query 10 MB Por padrão, não há contagem máxima de linhas para o número de linhas de dados a serem retornadas por jobs.query página de resultados. No entanto, é aplicado o limite de 10 MB no tamanho máximo da resposta. O número de linhas a serem retornadas pode ser alterado por meio do parâmetro maxResults.

Solicitações projects.list

O limite a seguir se aplica às solicitações da API projects.list:

Limite Padrão Observações
Máximo de solicitações projects.list por segundo 2 solicitações Seu projeto pode fazer até duas solicitações projects.list por segundo.

Solicitações tabledata.list

A cota a seguir se aplica às solicitações tabledata.list. Outras APIs, incluindo jobs.getQueryResults e busca de resultados de jobs.query e jobs.insert também pode consumir essa cota.

Cota Padrão Observações
Bytes da lista de tabledata por minuto 3,6 GB Seu projeto pode retornar no máximo 3,6 GB de dados de linhas da tabela por minuto. Essa cota se aplica ao projeto que contém a tabela que está sendo lida.
Veja a cota no Console do Cloud

Os limites a seguir se aplicam a solicitações tabledata.list:

Limite Padrão Observações
Número máximo de solicitações tabledata.list por segundo 1.000 solicitações O projeto pode fazer até 1.000 solicitações tabledata.list por segundo.
Máximo de linhas retornadas por tabledata.list solicitações por segundo 150.000 Linhas Seu projeto pode retornar até 150.000 linhas por segundo usando solicitações tabledata.list. O limite se aplica ao projeto que contém a tabela que está sendo lida.
Máximo de linhas por resposta de tabledata.list 100.000 Linhas Uma chamada tabledata.list pode retornar até 100.000 linhas de tabela. Para mais informações, consulte Como fazer paginação de resultados usando a API.

Solicitações tables.insert

O método tables.insert cria uma nova tabela vazia em um conjunto de dados. O limite a seguir se aplica a solicitações tables.insert. Esse limite inclui instruções SQL que criam tabelas, como CREATE TABLE, e consultas que gravam resultados em tabelas de destino.

Limite Padrão Observações
Máximo de solicitações tables.insert por segundo 10 solicitações Seu projeto pode fazer até 10 solicitações de tables.insert por segundo.

API BigQuery Connection

As cotas a seguir se aplicam às chamadas da API BigQuery Connection:

Cota Padrão Observações
Solicitações de leitura por minuto 1.000 solicitações Seu projeto pode fazer até 1.000 solicitações por minuto aos métodos da API BigQuery Connection que leem dados de conexão.
Ver cota no Console do Cloud
Solicitações de gravação por minuto 100 solicitações por minuto Seu projeto pode fazer até 100 solicitações por minuto para os métodos da API BigQuery Connection que criam ou atualizam conexões.
Ver cota no Console do Cloud

API BigQuery Reservation

As cotas a seguir se aplicam à API BigQuery Reservation:

Cota Padrão Observações
Solicitações por minuto por região 100 solicitações Seu projeto pode fazer um total de até 100 chamadas para os métodos da API BigQuery Reservation por minuto e por região.
Veja as cotas no Console do Cloud
Número de chamadas SearchAllAssignments por minuto por região 100 solicitações O projeto pode fazer até 100 chamadas para o método SearchAllAssignments por minuto e por região.
Ver cotas no Console do Cloud
Solicitações para SearchAllAssignments por minuto, por região e por usuário 10 solicitações Cada usuário pode fazer até 10 chamadas ao método SearchAllAssignments por minuto e por região.
Ver cotas no Console do Cloud
Nos resultados da pesquisa do Console do Google Cloud, pesquise por por usuário.
Número total de slots para cada região (exceto região dos EUA e região da UE) por região 0 slots O número máximo de slots do BigQuery que é possível adquirir em cada região usando o Console do Google Cloud.
Ver cotas no Console do Cloud
Número total de slots na região da UE 1.000 slots O número máximo de slots do BigQuery que podem ser adquiridos na multirregião UE usando o Console do Google Cloud.
Ver cotas no Console do Cloud
Número total de slots para a região dos EUA 4.000 slots O número máximo de slots do BigQuery que é possível comprar na multirregião EUA usando o Console do Google Cloud.
Ver cotas no Console do Cloud

API IAM

As cotas a seguir se aplicam quando você usa a funcionalidade de gerenciamento de identidade e acesso no BigQuery para recuperar e definir as políticas do IAM, além de testar as permissões dele.

Cota Padrão Observações
Solicitações IamPolicy por minuto 3.000 solicitações Seu projeto pode fazer até 3.000 solicitações de IAM por segundo.
Ver cota no Console do Cloud
IamPolicy solicita minuto por usuário 1.500 solicitações Cada usuário pode fazer até 1.500 solicitações do IAM por minuto por projeto.
Veja a cota no Console do Cloud

API Storage Read

As cotas a seguir se aplicam às solicitações da API BigQuery Storage Read:

Cota Padrão Observações
Solicitações de leitura dos planos de dados por minuto por usuário 5.000 solicitações Cada usuário pode fazer até 5.000 chamadas ReadRows por minuto por projeto.
Ver cota no Console do Cloud
Solicitações de leitura do plano de controle por minuto por usuário 5.000 solicitações Cada usuário pode fazer até 5.000 chamadas de operação de metadados da Storage Read API por minuto por projeto. As chamadas de metadados incluem os métodos CreateReadSession e SplitReadStream.
Veja a cota no Console do Cloud

O limite a seguir se aplica às solicitações da API BigQuery Storage Read:

Limite Padrão Observações
Tamanho máximo da linha/filtro 1 MB Ao usar a chamada CreateReadSession da API Storage Read, você é limitado a um comprimento máximo de 1 MB para cada linha ou filtro.

API Storage Write

As cotas a seguir se aplicam às solicitações da API Storage Write (Visualização):

Cota Padrão Observações
Solicitações CreateWriteStream por minuto 100 solicitações Seu projeto pode fazer até 100 chamadas para CreateWriteStream por minuto. Se você receber um erro porque excedeu esse limite, repita a operação com espera exponencial. Além disso, tente limitar as chamadas para CreateWriteStream. O streaming padrão não está sujeito a esta cota. Se você não precisar de uma semântica exata com o modo confirmado, considere o uso do stream padrão.
Ver cota no Console do Cloud
Solicitações FlushRows por minuto 10.000 solicitações Seu projeto pode fazer até 10.000 chamadas para o método FlushRows por minuto.
Veja a cota no Console do Cloud
Bytes pendentes 100 GB O projeto pode gravar até 100 GB no modo pendente antes de confirmar os streams.
Veja a cota no Console do Cloud

O limite a seguir se aplica às solicitações da API Storage Write (Visualização):

Limite Padrão Observações
Conexões simultâneas 1.000 conexões O projeto pode ter até 1.000 conexões simultâneas.

Limitar o uso de cota

Para saber como limitar o uso de um recurso específico especificando uma cota menor que a padrão, consulte Como limitar o uso.

Resolver problemas

Para ver informações sobre como solucionar erros relacionados a cotas e limites, consulte Como solucionar problemas de erros de cota no BigQuery.