Conceitos

beta product

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 e de forma centralizada todos os recursos do BigQuery da sua organização do Google Cloud. Para tanto, você precisa escolher um projeto do Google Cloud como seu projeto de administração.

Para fazer isso, ative a API BigQuery Reservations no projeto escolhido.

Esse projeto criará e será o proprietário dos recursos do BigQuery Reservations. Ele também será a principal fonte de faturamento desses recursos. Os recursos poderão ser compartilhados com todos os outros projetos na organização por meio de atribuições. O Google recomenda que você crie um projeto novo com um nome que o descreva.

Não será cobrada a análise (execução de consultas) em qualquer outro projeto que usar uma reserva de propriedade do projeto de administração. No entanto, o armazenamento continuará a ser cobrado separadamente.

Compromissos

Compromisso de capacidade é a compra de capacidade de computação por 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 são pacotes de recursos que incluem uma quantidade dinâmica de CPU, RAM e memória distribuída. Não é possível excluir um compromisso de capacidade antes do final do período de compromisso.

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

Comportamentos

  • O tamanho mínimo de compromisso é de 500 slots. Eles também estão disponíveis em incrementos de 500 slots, sem limite máximo.
  • Os compromissos de capacidade são um recurso regional. Os compromissos comprados em uma região não podem ser usados em nenhuma outra. Eles também não podem ser migrados para outras regiões.
  • Os compromissos não podem ser atualizados. Para aumentar sua capacidade líquida comprometida, você precisa comprar um compromisso extra.
  • Você será cobrado por segundo desde o momento em que a compra do compromisso for confirmada.

Propriedades

  • Contagem de slots (especifique na criação):
    • O número de slots neste compromisso.
  • Plano de compromisso (especifique na criação):
    • A duração do compromisso.
  • Estado (gerado pelo sistema, não especifique na criação):
    • Pendente: a capacidade solicitada tem provisionamento pendente.
    • Ativo: a capacidade solicitada está provisionada e pronta para uso.
  • Tempo final do compromisso (gerado pelo sistema com base no plano de compromisso).
  • Renovação automática (somente para planos Anuais):
    • Estende o prazo de validade do compromisso em um ano após o fim.

Planos de compromisso

O BigQuery oferece planos de compromisso mensais e anuais:

  • 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. Você será cobrado apenas pelos segundos em que o compromisso permaneceu ativo.
    • Por exemplo:
      • Se você comprar um compromisso às 6h00m00s do dia 5 de outubro, começará a ser cobrado a partir desse mesmo momento.
      • Não será possível cancelar até o dia 4 de novembro às 6h00m00s.
      • Caso você cancele às 7h10m10s do dia 5 de novembro, você será cobrado por 30 dias mais um dia, uma hora, dez minutos e dez segundos (das 6h00m00s de 5 de outubro às 7h10m10s de 5 de novembro).
    • Se você não cancelar, continuará sendo cobrado.
  • Compromissos anuais:
    • Não é possível cancelar durante 365 dias depois que o compromisso estiver ativo.
    • Os compromissos anuais podem ser renovados após a data de término do compromisso. Os compromissos que não forem renovados serão transferidos para compromissos mensais, que podem ser cancelados a qualquer momento.
    • Por exemplo:
      • Se você comprar um compromisso às 6h00m00s do dia 5 de outubro de 2019, começará a ser cobrado a partir desse mesmo momento.
      • Não será possível cancelar ou renovar o compromisso até as 6h00m00s do dia 4 outubro de 2020, já que 2020 é um ano bissexto.
      • Se antes das 6h00m00s de 4 outubro de 2020 você optar pela renovação automática, o compromisso será renovado por mais um ano a partir desse momento.
      • Se antes das 6h00m00s de 4 outubro de 2020 você optar pela não renovação automática, seu compromisso será transferido para categoria mensal no horário e dia mencionado. Nesse caso, será cobrada uma taxa mensal e você terá a opção de cancelar o compromisso a qualquer momento.

Reservas

Com uma reserva, é possível dividir seus compromissos de capacidade entre cargas de trabalho, equipes e departamentos. Cada reserva é um pool isolado de slots do BigQuery, mas com o benefício extra da capacidade ociosa ser compartilhada facilmente entre reservas.

Depois que você compra os slots pela primeira vez, o sistema cria automaticamente uma reserva chamada default. Os usuários podem criar mais reservas para uso próprio e alocar slots especificamente para eles. As reservas usam automaticamente slots ociosos de outras reservas. Ao definir ignore_idle_slots como verdadeiro, essa funcionalidade da reserva é desativada e somente os slots explicitamente provisionados para ela são utilizados.

É possível atribuir projetos, pastas e organizações às reservas para que usem os slots nas consultas. Quando vários projetos são alocados a uma reserva, os slots são distribuídos de forma justa primeiro entre os projetos e depois dentro dos jobs do projeto.

Reservas.

Slots não alocados

Slots não alocados são aqueles que estão comprometidos, mas não foram atribuídos a uma reserva específica. Os slots não alocados não são desperdiçados, mas sim compartilhados igualmente entre as reservas. Nesse caso, ignore_idle_slots não pode estar definido como falso.

Compartilhamento de slot em uma reserva

O programador do BigQuery impõe o compartilhamento igualitário de slots entre projetos em uma reserva e, em seguida, entre os jobs de um determinado projeto. O programador promove a imparcialidade de vez em quando. Isso significa que pode haver períodos curtos em que alguns jobs recebam uma parcela desproporcional de slots, mas o programador acabará corrigindo isso. O objetivo é tentar encontrar um equilíbrio entre ser muito agressivo com a remoção de tarefas em execução, o que resultaria em desperdício de tempo do slot, e ser tolerante demais, o que resultaria em jobs com longas tarefas em execução recebendo uma parcela desproporcional do tempo de slot.

Se um job importante for constantemente prejudicado por essa política de imparcialidade, procure criar uma reserva extra com um número garantido de slots. Consulte as informações sobre gerenciamento de carga de trabalho. Esse job poderá ser atribuído à nova reserva, que fornecerá o número mínimo de slots a ele.

Tarefas

As atribuições servem para atribuir projetos, pastas e organizações a uma reserva. Um projeto que é atribuído a uma reserva usa ela para processar jobs. Uma atribuição de reserva é um recurso filho de uma reserva.

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

  • Atribuições com o tipo de job QUERY determinam uma atribuição de reserva para consultas, incluindo em SQL, DDL, DML e BigQuery ML.
  • Atribuições com o tipo de job PIPELINE indicam que os jobs de carregamento e extração em lote precisam 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 inferior substituem as feitas em níveis superiores. Por isso, é possível que a atribuição de um projeto específico modifique 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