Conceitos

Esta página descreve os conceitos associados ao BigQuery Reservations.

Conceitos do Reservations.

Projeto de administração

O BigQuery Reservations ajuda você a gerenciar com segurança todos os recursos do BigQuery da sua organização do Google Cloud de forma centralizada. Para fazer isso, escolha um único projeto do Google Cloud como seu projeto de administração.

Você escolhe um projeto de administração ativando a API do BigQuery Reservations nele.

Esse projeto cria e mantém a propriedade dos recursos do BigQuery Reservations e é a principal fonte de faturamento desses recursos. Esses recursos podem ser compartilhados com todos os outros projetos na organização usando transferências. O Google recomenda que você crie um novo projeto com um nome descritivo.

Qualquer projeto que usar uma reserva pertencente ao projeto do administrador não será faturado pela análise (isto é, execução de consultas), mas continuará a ser faturado separadamente pelo armazenamento.

Compromissos

Um compromisso de capacidade é uma aquisição de capacidade de computação com um período mínimo de compromisso de uso (por exemplo, um mês). A capacidade de computação no BigQuery é medida na forma de slots, que é um pacote de recursos que inclui uma quantidade dinâmica de CPU, RAM e memória distribuída. Um compromisso de capacidade não pode ser excluído até que o final do período de compromisso passe.

Os compromissos ativam o sistema de taxa fixa para sua organização. Para obter mais informações, consulte o preço fixo do BigQuery.

Comportamentos

  • O tamanho mínimo de um compromisso é de 500 slots, e os compromissos estão disponíveis em incrementos de 500 slots, sem limite máximo.
  • Não há limite para o número de compromissos que você pode ter.
  • Os compromissos de capacidade são um recurso regional. Compromissos comprados em uma região não podem ser usados em nenhuma outra região, e compromissos não podem ser movidos entre regiões.
  • Os compromissos não podem ser atualizados. Para aumentar sua capacidade líquida comprometida, você precisa comprar um compromisso adicional.
  • Você é cobrado por segundo desde o momento em que sua compra de compromisso for bem-sucedida.
  • É possível converter o compromisso em um tipo de compromisso de duração mais longa a qualquer momento. Consulte Como converter compromissos em tipos de compromisso de maior duração para mais informações.

Propriedades

  • Contagem de slots (especificar na criação):
    • O número de slots neste compromisso.
  • Plano de compromisso (especificar na criação):
    • A duração do compromisso.
  • Estado (gerado pelo sistema; não especificado na criação):
    • Pendente: a capacidade solicitada tem provisionamento pendente.
    • Ativo: a capacidade solicitada está provisionada e pronta para uso.
  • Horário de término do compromisso (gerado pelo sistema com base no plano de compromisso).
  • Plano de renovação (somente para planos Anuais):
    • Indica o tipo de compromisso para o qual o plano anual será convertido quando o horário de término do plano expirar.

Planos de compromisso

O BigQuery oferece planos de compromisso flexíveis, mensais e anuais:

  • Slots flexíveis:
    • Não é possível cancelar por 60 segundos após ativação do compromisso.
    • Depois de 60 segundos, é possível cancelar a qualquer momento. Você será cobrado apenas pelos segundos em que o compromisso permaneceu ativo.
    • Por exemplo:
      • Se você comprar um compromisso às 6:00:00 do dia 5 de outubro, começará a ser cobrado nesse momento.
      • Não será possível cancelar antes das 6:01:00 de 5 de outubro.
      • Se você cancelar às 6:01:01 de 5 de outubro, será cobrado por 61 segundos (das 6:00:00 de 5 de outubro às 6:01:01 de 5 de outubro).
    • Se não cancelar, continuará sendo cobrado.
  • Compromissos mensais:
    • Não é possível cancelar durante 30 dias depois que o compromisso estiver ativo.
    • Depois de 30 dias, é possível cancelar a qualquer momento, e você será cobrado apenas pelos segundos em que seu compromisso esteve ativo.
    • Por exemplo:
      • Se você comprar um compromisso às 6:00:00 do dia 5 de outubro, começará a ser cobrado nesse momento.
      • Não será possível cancelar até o dia 4 de novembro às 6h00min00.
      • Caso cancele no dia 5 de novembro às 7h10min10, você será cobrado por 30 dias mais um dia, uma hora, dez minutos e dez segundos (5 de outubro às 6h00min00 – 5 de novembro às 7h10min10).
    • Se não cancelar, continuará sendo cobrado.
  • Compromissos anuais:
    • Não é possível cancelar por 365 dias depois que o compromisso estiver ativo.
    • Antes da data de término do compromisso, é possível optar por renovar o compromisso anual ou convertê-lo em mensal ou flexível. Para mais informações, consulte Como renovar compromissos.
    • Por exemplo:
      • Se você comprar um compromisso no dia 5 de outubro de 2019 às 6:00:00, começará a ser cobrado no momento.
      • Você não pode cancelar ou renovar até o dia 4 outubro de 2020 às 6:00:00 (2020 é um ano bissexto).
      • Se você optar por renovar automaticamente antes das 6:00:00 de 4 de outubro de 2020, o compromisso será renovado por mais um ano às 6:00:00 de 4 de outubro de 2020.
      • Se optar por renovar para um compromisso flexível antes das 6:00:00 de 4 de outubro de 2020, ele será renovado como flexível às 6:00:00 de 4 de outubro de 2020, e será cobrada a taxa de slots flexíveis. É possível cancelar a qualquer momento.
      • Se optar por renovar para um compromisso mensal antes das 6:00:00 de 4 de outubro de 2020, ele será renovado como mensal às 6:00:00:00 de 4 de outubro de 2020, e será cobrada a taxa de compromisso mensal. Não será possível cancelar por 30 dias.
  • Slots de avaliação

    • Não é possível cancelar durante 182 dias depois que o compromisso estiver ativo.
    • Após esse período, o compromisso será convertido em slots flexíveis. É possível realizar o cancelamento a qualquer momento e ser cobrado somente pelos segundos em que o compromisso estava ativo. Você começará a receber taxas referentes a slots flexíveis.
    • Por exemplo:
      • Se você comprar um compromisso no dia 5 de outubro de 2020 às 6:00:00, começará a ser cobrado no momento.
      • Não será possível cancelar até o dia 5 de abril de 2021 às 6h00min00.
      • No dia 5 de abril de 2021 às 6h00min00, seu compromisso será convertido em slots flexíveis, você será cobrado pelas taxas de slots flexíveis e poderá cancelar a qualquer momento.

Como renovar compromissos

Antes da data de término, é possível escolher o que acontecerá com um compromissos anual depois que ele terminar. As seguintes opções estão disponíveis:

  • Renovar por mais um ano.
  • Recusar a renovação. Converter para compromisso mensal na data de término do compromisso. Será cobrada a taxa mensal e será possível cancelar a qualquer momento.
  • Recusar a renovação. Converter para um compromisso flexível na data de término do compromisso. Será cobrada a taxa de slots flexíveis e será possível cancelar a qualquer momento.

Para mais informações sobre como escolher sua opção de renovação, consulte Como renovar compromissos.

Como cancelar compromissos

Depois de criar um compromisso, não será possível cancelá-lo até o horário de término do compromisso.

Se você adquiriu um compromisso acidentalmente ou cometeu um erro ao configurá-lo, entre em contato com o suporte do Cloud Billing para receber ajuda.

Reservas

Uma reserva permite dividir os compromissos de capacidade em cargas de trabalho, equipes e departamentos. Cada reserva é um pool isolado de slots do BigQuery, com o benefício extra de a capacidade ociosa ser compartilhada sem interrupções entre reservas.

Depois que você compra os slots pela primeira vez, o sistema cria automaticamente uma reserva chamada default. Não há nada de especial em relação à reserva default. Ela é criada para a conveniência do usuário. Os usuários podem criar mais reservas para uso próprio e alocar slots especificamente para eles.

Você atribui projetos, pastas e organizações às reservas. Os jobs iniciados a partir de um projeto atribuído a uma reserva serão executados a partir dessa reserva. Quando vários projetos são alocados a uma reserva, os slots são distribuídos de forma justa entre os projetos primeiro e depois dentro dos jobs do projeto.

Reservas.

Slots inativos

As consultas em execução em uma reserva usam automaticamente slots ociosos de outras reservas. A capacidade ociosa é imediatamente preemptiva de volta à reserva pai, conforme necessário. Isso não causa interrupções nas consultas que usam a capacidade ociosa. Isso acontece automaticamente e em tempo real.

Ao definir ignore_idle_slots como verdadeiro, essa funcionalidade da reserva é desativada e somente os slots explicitamente provisionados para ela são utilizados.

Slots não alocados

Slots não alocados são slots confirmados, mas não atribuídos a uma reserva específica. Eles não são desperdiçados. São compartilhados igualmente entre os projetos e as consultas de acordo com as regras explicadas em Compartilhamento de slots entre reservas.

Compartilhamento de slots em uma reserva

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 for prejudicado por essa política de imparcialidade, procure criar uma reserva adicional com um número garantido de slots (consulte Gerenciamento de carga de trabalho). É possível atribuir esse job à nova reserva, que fornecerá o número mínimo de slots.

Compartilhamento de slots entre reservas

O compartilhamento de slots não alocados ou ociosos funciona de maneira muito similar ao modo como o compartilhamento funciona em uma reserva. Os slots são compartilhados igualmente entre todos os projetos com consultas em execução, em todas as reservas com ignore_idle_slots definido como falso e, então, entre as consultas nesses projetos.

Os slots inativos ou não alocados são compartilhados apenas entre reservas criadas no mesmo projeto do administrador. Se você usou projetos do administrador separados para criar reservas, não há compartilhamento de slot ocioso entre as reservas desses projetos do administrador.

Tarefas

Atribuições são usadas para atribuir projetos, pastas e organizações a uma reserva. Um projeto que é atribuído a uma reserva usa essa reserva para processar jobs.

As atribuições podem ser feitas para dois tipos de job:

  • Atribuições com tipo de job QUERY determinam uma atribuição de reserva para consultas, incluindo consultas SQL, DDL, DML e BigQuery ML.
  • Atribuições com tipo de job PIPELINE indicam que os jobs de carregamento e extração de lotes devem usar a reserva.

As atribuições de reserva podem ser feitas no nível do projeto, da pasta ou da organização. As atribuições no nível da pasta ou da organização determinam que todos os projetos dessa pasta ou organização usem uma reserva específica. As atribuições no nível mais baixo substituem as atribuições nos níveis superiores. Por isso, é possível que um projeto específico substitua a atribuição padrão da organização.

As atribuições de reserva têm os seguintes elementos:

  • Cessionário: um usuário da reserva que pode executar consultas usando a capacidade alocada na reserva. Pode ser um projeto, uma pasta ou uma organização.
  • Tipo de job: o tipo de job ao qual a atribuição se destina.

A seguir