Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.

Introdução ao Reservations

O BigQuery Reservations permite que você alterne entre o preço sob demanda e fixo. Com preços fixos, compre capacidade dedicada de processamento de consultas. É possível alocar essa capacidade em toda a organização reservando pools de capacidade para diferentes projetos ou partes da organização. Também é possível combinar os dois modelos de faturamento, aproveitando os preços fixos e sob demanda.

Visão geral

O BigQuery oferece dois modelos de preços para análise:

Por padrão, as cobranças são feitas de acordo com o modelo de preços sob demanda. Com as reservas do BigQuery, é possível mudar para o preços fixos adquirindo compromissos. Os compromissos são adquiridos em unidades de slots do BigQuery. O custo de todos os bytes processados está incluído no preço fixo.

Os benefícios do uso do BigQuery Reservations incluem:

  • Previsibilidade. O preço fixo oferece custos previsíveis e consistentes. Você sabe antecipadamente o que está gastando.

  • Flexibilidade. É possível escolher a quantidade de capacidade a ser adquirida. O cálculo das cobranças é feito com um preço fixo por segundo até que você exclua o compromisso de capacidade. É possível combinar os dois modelos de faturamento. Por exemplo, é possível executar algumas cargas de trabalho com preços sob demanda e outras com preços fixos.

    O BigQuery oferece preços fixos com desconto se você adquirir um compromisso mínimo mensal ou anual.

  • Gerenciamento de carga de trabalho. Depois de adquirir os slots, é possível atribuí-los às cargas de trabalho. Dessa forma, uma carga de trabalho tem um pool dedicado de recursos computacionais do BigQuery disponíveis para uso. Ao mesmo tempo, se uma carga de trabalho não usar todos os slots alocados, os slots não utilizados serão compartilhados entre as outras cargas de trabalho automaticamente.

  • Compra centralizada: você pode comprar e alocar slots para toda a organização. Não é necessário comprar slots para cada projeto que usa o BigQuery.

Compromissos

Conceitos do Reservations.

Um compromisso de capacidade é uma compra de capacidade de computação do BigQuery por um período mínimo. Os compromissos são medidos em slots do BigQuery, que são uma unidade de capacidade computacional. Um slot representa uma CPU virtual usada pelo BigQuery. Geralmente, se você comprar mais slots, poderá executar mais consultas ao mesmo tempo. Além disso, as consultas complexas serão executadas com mais rapidez.

O BigQuery oferece vários tipos de planos de compromisso Elas diferem principalmente pelo custo e pela duração mínima do seu compromisso. Para informações atualizadas sobre preços, consulte os preços de taxa fixa.

  • Compromisso anual. Você compra um compromisso de 365 dias. É possível escolher renovar ou converter para um tipo diferente de plano de compromisso após 365 dias.

  • Compromisso mensal. Você adquire um compromisso de 30 dias. Após 30 dias, é possível excluir o plano a qualquer momento.

  • Slots flexíveis: Compre um compromisso de 60 segundos. É possível excluí-lo a qualquer momento após 60 segundos. Slots flexíveis são uma boa maneira de testar o desempenho das cargas de trabalho com faturamento de taxa fixa antes de adquirir um compromisso de longo prazo. Eles também são úteis para lidar com a demanda cíclica ou sazonal ou para eventos de alta carga, como a temporada fiscal.

Independentemente do plano selecionado, os slots não expiram no final do período de compromisso. Você mantém os slots e é cobrado por eles até que sejam excluídos. Também é possível alterar o tipo de plano após a duração mínima.

Os slots estão sujeitos à disponibilidade de capacidade. Quando você tenta adquirir compromissos de slots, o sucesso dessa compra não é garantido. No entanto, quando sua compra for confirmada, a capacidade será garantida até que você exclua o compromisso.

Para mais detalhes sobre esses planos, consulte Planos de compromisso (em inglês).

Reservas

Depois de comprar slots, atribua-os a buckets diferentes, chamados de reservas. As reservas permitem alocar os slots de maneira específica para sua organização.

Por exemplo, é possível criar uma reserva nomeada prod para cargas de trabalho de produção e outra reserva nomeada test para testes. Dessa forma, os jobs de teste não consumirão os recursos que as cargas de trabalho de produção precisam. Também é possível criar reservas para departamentos diferentes da organização.

Uma reserva nomeada default é criada automaticamente quando ao comprar slots. Não há nada de especial na reserva default. Ela é criada para facilitar. Você pode decidir se precisará de outras reservas ou usar apenas a reserva padrão.

Para usar os slots adquiridos, é preciso atribuir um projeto a uma reserva, conforme descrito na próxima seção.

Uma reserva é o nível mais baixo em que você pode especificar a alocação de slot. A alocação de slots para atribuições em uma reserva é processada pelo programador do BigQuery.

Atividades

Para usar os slots comprados, você precisa atribuir um ou mais projetos, pastas ou organizações a uma reserva. Cada nível na hierarquia de recursos herda a atribuição do nível acima dela. Em outras palavras, se um projeto ou pasta não estiver atribuído, esse projeto ou pasta herdará a atribuição da pasta ou organização pai, se houver. Para mais informações sobre a hierarquia de recursos, consulte Como organizar recursos do BigQuery.

Quando um job é iniciado a partir de um projeto atribuído a uma reserva, ele usa os slots dessa reserva. Se um projeto não for atribuído a uma reserva, seja diretamente ou herdado da pasta pai ou organização, os jobs nesse projeto usarão preços sob demanda.

Atribuições None representam a ausência de atribuição. Os projetos atribuídos a None usam preços sob demanda. O caso de uso comum de atribuições None é atribuir uma organização à reserva e desativar alguns projetos ou pastas dessa reserva atribuindo None a eles. Para mais informações, consulte Atribuir um projeto a None.

Ao criar uma atribuição, especifique o tipo de tarefa para essa atribuição:

  • QUERY: use essa reserva para jobs de consulta, incluindo consultas SQL, DDL, DML e BigQuery ML.

  • PIPELINE: use esta reserva para jobs de carregamento, extração e outros jobs do pipeline.

    Por padrão, os jobs de carregamento e extração são gratuitos e usam um pool compartilhado de slots. O BigQuery não garante a capacidade disponível desse pool compartilhado ou sobre a capacidade que você verá. Se você estiver carregando grandes quantidades de dados, o job poderá aguardar à medida que os slots ficam disponíveis. Nesse caso, talvez você queira comprar slots dedicados e atribuir jobs de pipeline a eles. Recomendamos a criação de uma reserva dedicada adicional com o compartilhamento de slot inativo desativado.

    Quando jobs de carregamento são atribuídos a uma reserva, eles perdem o acesso ao pool gratuito. Monitore o desempenho para garantir que os jobs tenham capacidade suficiente. Caso contrário, o desempenho pode ser pior do que usar o pool gratuíto.

  • ML_EXTERNAL: use essa reserva para consultas do BigQuery ML que usam serviços externos ao BigQuery.

    Algumas consultas do BigQuery ML usam serviços externos ao BigQuery. Para usar slots reservados com esses serviços externos, crie uma atribuição com o tipo de job ML_EXTERNAL. Para mais informações, consulte Atribuir slots às cargas de trabalho do BigQuery ML.

Não é possível alocar slots para atribuições específicas. O programador do BigQuery processa a alocação de slots das atribuições em uma reserva.

Programação de slots

Os slots são distribuídos de forma justa entre os projetos e depois dentro dos jobs do projeto.

O programador do BigQuery impõe o compartilhamento igualitário de slots entre projetos com consultas em execução em uma reserva e, em seguida, nos jobs de um determinado projeto. O programador fornece uma igualdade eventual. Talvez haja períodos curtos em que alguns jobs recebam uma parcela desproporcional de slots, mas isso será corrigido pelo programador. O objetivo é encontrar um equilíbrio entre ser muito agressivo na remoção de tarefas em execução (o que resulta em desperdício de tempo do slot) e ser muito tolerante (o que resulta em jobs com longas tarefas em execução recebendo uma parcela desproporcional do tempo de slot).

Se um job importante precisar de mais slots de maneira consistente do que recebe do programador, procure criar uma reserva adicional com um número garantido de slots e atribuir o job a essa reserva. Para mais informações, consulte Gerenciamento de carga de trabalho.

Slots inativos

É possível que alguns slots fiquem inativos a qualquer momento. Isso inclui:

  • slots não atribuídos a nenhuma reserva;
  • slots que estão atribuídos a uma reserva, mas não estão em uso no momento.

Por padrão, as consultas em execução em uma reserva usam automaticamente slots ociosos de outras reservas. Isso significa que um job sempre poderá ser executado enquanto houver capacidade. As consultas iniciadas com slots sob demanda usarão os slots inativos de outras reservas antes de compensar a diferença com os slots sob demanda. A capacidade inativa é imediatamente preemptiva para a reserva atribuída original conforme necessário, independentemente da prioridade da consulta que precisa dos recursos. Isso acontece automaticamente em tempo real.

Para desativar essa funcionalidade e forçar uma reserva a usar somente os slots provisionados, defina ignore_idle_slots como true. As reservas com ignore_idle_slots definido como true não recebem slots inativos.

Enquanto ignore_idle_slots for falso, uma reserva poderá ter uma contagem de slots de 0 e ainda ter acesso a slots não utilizados. Se você estiver usando apenas a reserva default, recomendamos configurá-la dessa maneira.

As atribuições do tipo ML_EXTERNAL são uma exceção ao comportamento descrito acima. Os slots usados pelos jobs de criação de modelos externos do BigQuery ML não são preemptivos. Ou seja, eles não ficam disponíveis para outros jobs em execução na reserva até serem liberados. Esses jobs não usam slots inativos de outras reservas.

Limitações

  • As reservas que você compra não podem ser compartilhadas com outras organizações.
  • É necessário criar uma reserva e um projeto de administração separados para cada organização.
  • Há um limite de cinco projetos de administração para cada organização que podem ter um compromisso ativo em um determinado local.
  • A capacidade de inatividade não pode ser compartilhada entre organizações ou entre diferentes projetos de administração em uma única organização.
  • Compromissos são um recurso regional. Compromissos comprados em uma região ou multirregião não podem ser usados em outra região ou multirregião. Não é possível mover os compromissos entre regiões ou entre regiões e multirregiões.
  • Compromissos comprados em um projeto não podem ser movidos para um projeto diferente.

Cotas

A cota de slots é o número máximo de slots que é possível adquirir em um local. Você não é cobrado pelas cotas, e sim por compromissos adquiridos. Para mais informações, consulte Cotas e limites. Para mais informações sobre como aumentar a cota de slots, consulte Como solicitar um aumento de cota.

Preços

Para saber mais sobre preços, consulte Preços de taxa fixa.

A seguir