Cotas e limites

O BigQuery limita a taxa máxima de solicitações de entrada e aplica cotas apropriadas por projeto. Políticas específicas variam de acordo com a disponibilidade do recurso, do perfil de usuário, do histórico de uso do serviço e de outros fatores e estão sujeitas a alterações sem aviso prévio.

As listas abaixo esboçam os limites atuais de taxas e cotas do sistema.

Consultas

Os seguintes limites se aplicam às chamadas de função jobs.query e ao tipo de consulta jobs.insert.

  • Limite de taxa simultânea para consultas interativas em preços sob demanda: 50 consultas simultâneas. Consultas que retornam resultados em cache ou consultas configuradas com a propriedade dryRun não utilizam esse limite.
  • Limite de taxa simultânea para consultas que contêm funções definidas pelo usuário (UDFs, na sigla em inglês): 6 consultas simultâneas, inclusive as interativas e em lote. Consultas interativas que contêm UDFs são consideradas em relação ao limite de taxa simultânea para consultas interativas.
  • Limite diário do tamanho da consulta: ilimitado por padrão, mas é possível especificar limites usando cotas personalizadas.
  • Limite diário de atualização: 1.000 atualizações por tabela, por dia. Aplicável somente à tabela de destino em uma consulta.
  • Limite de tempo de execução de consulta: 6 horas.
  • Máximo de slots simultâneos por projeto do BigQuery para preço sob demanda: 2.000
  • Número máximo de tabelas referenciadas por consulta: 1.000
  • Número máximo de visualizações autorizadas por conjunto de dados: 1.000
  • Comprimento máximo de consulta não resolvida: 256 KB
  • Comprimento máximo de consulta resolvida: 12 MB, incluindo o comprimento de todas as visualizações e tabelas com caracteres curinga referenciadas
  • Tamanho máximo da resposta: 128 MB compactado1 (ilimitado ao gravar resultados de consulta grandes em uma tabela de destino)
    1Os tamanhos variam de acordo com as taxas de compactação para os dados. O tamanho real da resposta pode ser significativamente maior que 128 MB.

O número padrão de slots para consultas sob demanda é compartilhado entre todas as consultas em um único projeto. Via de regra, se você processa menos de 100 GB de consultas de uma vez, é improvável que use todos os 2.000 slots. Para verificar quantos slots você está usando, consulte Como monitorar o BigQuery usando o Stackdriver. Se você precisar de mais de 2.000 slots, entre em contato com seu representante de vendas para conferir se o preço fixo atende às suas necessidades.

Operações de atualização de conjunto de dados e de tabela

Os seguintes limites se aplicam às operações de atualização de conjunto de dados e de tabela:

Instruções da Linguagem de manipulação de dados

O seguinte limite se aplica à Linguagem de manipulação de dados (DML, na sigla em inglês):

  • Máximo de instruções UPDATE/DELETE por dia por tabela: 96.
  • Máximo de instruções UPDATE/DELETE por dia por projeto: 1.000.
  • Máximo de instruções INSERT por dia por tabela: 1.000.
  • Máximo de instruções INSERT por dia por projeto: 1.000.

O processamento das instruções da DML é consideravelmente mais caro do que o das instruções SELECT.

Carregar jobs

Os limites a seguir se aplicam ao carregamento de dados no BigQuery.

  • Limite diário: 1.000 jobs carregados por tabela, por dia (inclusive falhas), 50.000 jobs carregados por projeto, por dia (inclusive falhas)
  • O limite de 1.000 jobs de carga por tabela por dia não pode ser aumentado.
  • Limites de tamanho de linha e célula:
    Formato de dados Limite máximo
    CSV 10 MB (tamanho da linha e célula)
    JSON 10 MB (tamanho da linha)
    Avro 16 MB (tamanho do bloco)
  • Máximo de colunas por tabela: 10.000
  • Tamanhos máximos dos arquivos:
    Tipo de arquivo Compactado Não compactado
    CSV 4 GB
    • Com valores entre aspas em novas linhas: 4 GB
    • Sem valores em novas linhas: 5 TB
    JSON 4 GB 5 TB
    Avro Arquivos Avro compactados não são compatíveis, mas os blocos de dados compactados são. O BigQuery aceita os codecs DEFLATE e Snappy. 5 TB (1 MB para o cabeçalho do arquivo)
  • Tamanho máximo por job carregado: 15 TB em todos os arquivos de entrada para CSV, JSON e Avro.
  • Número máximo de URIs na configuração do job: 10.000 URIs.
  • Número máximo de arquivos por job carregado: 10 milhões de arquivos correspondentes a todos os curingas.
  • Limite de tempo de execução do job: 6 horas.

Para mais informações sobre os formatos de dados compatíveis com o BigQuery, consulte Preparar dados para o BigQuery.

Jobs de cópia

O seguinte limite se aplica à cópia de tabelas no BigQuery:

  • Limite diário: 1.000 jobs de cópia por tabela (copiar tabela de destino), por dia (inclusive falhas), 10.000 jobs de cópia por projeto (em que o job de cópia é executado) por dia (inclusive falhas)

Solicitações de exportação

Confira abaixo os limites para exportar dados do BigQuery:

  • Limite diário: 1.000 exportações por dia com limite acumulado de 10 TB por dia
  • Limite de URI de vários caracteres curinga: 500 URIs por exportação

Atualizações da tabela particionada

Os seguintes limites se aplicam às tabelas particionadas:

  • Limite diário: 2.000 atualizações de partições por tabela, por dia.
  • Limite de taxa: 50 atualizações de partições a cada 10 segundos.

As gravações em uma partição de tabela de jobs de consulta (incluindo DML), jobs carregados e jobs de cópia contam em relação aos limites de atualização da partição.

Inserções de streaming

Os seguintes limites se aplicam a dados de streaming no BigQuery:

  • Tamanho máximo da linha: 1 MB. Quando esse valor é excedido, ocorre o erro invalid.
  • Limite de tamanho de solicitação HTTP: 10 MB. Exceder esse valor causará o erro invalid.
  • Máximo de linhas por segundo: 100.000 linhas por segundo, por projeto. Quando esse valor é excedido, ocorre o erro quotaExceeded. O número máximo de linhas por segundo por tabela também é de 100.000. Você pode usar toda essa cota em uma tabela ou pode dividir essa cota entre várias tabelas em um projeto.
  • Máximo de linhas por solicitação: 10.000 linhas por solicitação. Recomendamos 500 linhas, no máximo. Nas operações em lote, o desempenho e a capacidade podem aumentar, mas às custas de latência por solicitação. O processamento pode ficar ineficiente com poucas linhas por solicitação, além da sobrecarga de cada solicitação. A capacidade pode diminuir com muitas linhas por solicitação. Recomendamos o uso de aproximadamente 500 linhas por solicitação, mas os testes com dados representativos, como esquema e tamanhos dos dados, ajudam você a determinar o tamanho ideal do lote.
  • Bytes máximos por segundo: 100 MB por segundo, por tabela. Quando esse valor é excedido, ocorre o erro quotaExceeded.

Se você precisa de mais cotas de dados de streaming, use o formulário Solicitação personalizada de cota do BigQuery. Normalmente, uma resposta é enviada de 2 a 3 dias úteis.

Solicitações da API

  • Solicitações da API por segundo, por usuário: se você faz mais de cem solicitações por segundo, pode haver uma limitação. Isso não se aplica a inserções de streaming.

Quando as cotas são recarregadas?

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 está esgotada. Normalmente, mais cota é disponibilizada em minutos em vez de um reabastecimento global uma vez por dia.

Códigos de erro

Erros de cota e limite retornam o código de resposta HTTP 403 ou 400. Consulte Como resolver problemas para receber uma lista completa de códigos de erros e etapas para solução de problemas.

Enviar comentários sobre…