Introdução ao gerenciamento de cargas de trabalho

Com o gerenciamento de cargas de trabalho do BigQuery, você controla os recursos e as funcionalidades disponíveis para análise de dados na sua organização e define modelos de faturamento. A capacidade de computação do BigQuery, medida em slots, pode ser comprada em reservas e compromissos que você atribui em toda a organização para executar jobs.

O BigQuery oferece dois modelos de gerenciamento de carga de trabalho para análise de dados, também conhecidos como computação. Com o faturamento sob demanda, você paga pelos bytes processados ao consultar os dados. Com o faturamento baseado em capacidade, você reserva capacidade de processamento para cargas de trabalho com a opção de aumentar e diminuir a capacidade automaticamente.

É possível alternar entre modelos de faturamento sob demanda e com base em capacidade a qualquer momento ou combinar os dois. O modelo baseado em capacidade oferece controle explícito sobre slots e capacidade de análise, enquanto o modelo sob demanda não.

Contrapartidas do Reservations.

Os modelos a seguir definem como você gerencia cargas de trabalho e como é cobrado:

  • Preços sob demanda: por padrão, você é cobrado pelos dados verificados pelas suas consultas. Você tem uma capacidade de processamento de consultas fixa por projeto e paga apenas pelo número de bytes processados ao usá-los.

  • Preços baseados em capacidade: você compra a capacidade de processamento de consultas dedicadas ou de escalonamento automático a uma taxa com desconto. A capacidade é medida em slots alocados para cargas de trabalho ou partes da organização. O faturamento baseado em capacidade oferece a opção de compromissos, que permitem se comprometer com um nível consistente de capacidade de processamento durante um período de um ou três anos por um preço com desconto. Não há cobrança por bytes processados ao usar o modelo baseado em capacidade. As vantagens dos preços baseados em capacidade incluem:

    • Custo. Uma prática recomendada é definir o uso mensal mínimo de análises como seu compromisso baseado em capacidade do BigQuery para reduzir custos.
    • Previsibilidade. Slots baseados em capacidade permitem taxas mensais mais consistentes.
    • Compra centralizada: é possível comprar e alocar slots para toda a organização, e não para cada projeto que usa o BigQuery.
    • Flexibilidade. Você escolhe a capacidade dedicada a ser alocada a uma carga de trabalho ou permite que o BigQuery escalone automaticamente a capacidade com base nos requisitos da carga de trabalho. A cobrança é feita em incrementos por segundo, com um período de uso mínimo de um minuto.

A criação de um compromisso de capacidade é opcional ao trabalhar com reservas que usam edições do BigQuery, mas pode reduzir os custos de cargas de trabalho em estado estável.

É possível combinar modelos de faturamento. Por exemplo, é possível executar algumas cargas de trabalho com preços sob demanda e outras com preços baseados em capacidade. Como o modelo de faturamento é especificado por projeto, seria necessário usar vários projetos para os jobs de consulta. Para entender melhor os preços de reservas do BigQuery, consulte estes links:

Slots

A capacidade de processamento no BigQuery é medida em slots. Os slots representam CPUs virtuais usadas para consultar dados. Em geral, o acesso a mais slots permite executar mais consultas simultâneas e consultas complexas podem ser executadas mais rapidamente. O modelo de preços com base em capacidade permite reservar um volume de slots. Suas consultas são executadas dentro dessa capacidade, e você paga por essa capacidade continuamente a cada segundo que ela é implantada. Por exemplo, se você comprar 2.000 slots do BigQuery, suas consultas agregadas serão limitadas a usar 2.000 CPUs virtuais a qualquer momento. Você tem essa capacidade até excluí-la e paga por 2.000 slots até excluí-los.

Para saber mais sobre os slots e como eles são usados, consulte Entender os slots.

Cotas de slots

As cotas de slots fornecem uma proteção para o BigQuery. O tipo de cota depende do modelo de preços dos slots:

  • Modelo de preços sob demanda: a cota de slot por projeto com recurso de burst transitório é suficiente para a maioria dos usuários. Dependendo das cargas de trabalho, o acesso a mais slots pode melhorar o desempenho da consulta. Para verificar quantos slots sua conta usa, confira o monitoramento do BigQuery.

  • Modelo de preços baseado em capacidade: as cotas e limites de reserva definem o número máximo de slots que podem ser comprados em um local. Você só é cobrado por suas reservas e compromissos, não pelas cotas.

Para mais informações sobre como aumentar a cota de slots, consulte Como solicitar um aumento de cota.

Reservas

Os slots são comprados, atribuídos a recursos e alocados a jobs em pools chamados reservas. As reservas permitem atribuir slots de maneira que faça sentido para sua organização. Por exemplo, é possível criar uma reserva chamada prod para cargas de trabalho de produção e uma reserva separada chamada test para teste, assim, os jobs de teste não competem por recursos de cargas de trabalho de produção. Também é possível criar reservas para departamentos diferentes da organização.

Se você adquirir compromissos de slot antes de criar uma reserva, uma reserva chamada default será criada automaticamente para sua comodidade. A reserva default não tem comportamento especial. É possível criar outras reservas, se necessário, ou usar a reserva padrão.

Para mais informações sobre preços, consulte preços baseados em capacidade e preços sob demanda.

Limitações de reserva

  • As reservas que você cria não são compartilhadas com outras organizações.
  • É necessário criar uma reserva e um projeto de administração separados para cada organização.
  • Cada organização pode ter no máximo cinco projetos de administração com compromissos ativos em um único 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 de administração não podem ser movidos para outro.
  • Compromissos comprados com uma edição não podem ser usados com reservas de outra.
  • Os slots inativos não são compartilhados entre reservas de diferentes edições.
  • Os slots de escalonamento automático não são compartilháveis porque serão reduzidos quando não forem mais necessários.

Atribuições de reserva

Para usar os slots comprados, você precisa atribuir um ou mais projetos, pastas ou organizações a uma reserva. Uma reserva é o nível mais baixo em que você pode especificar a alocação de slot. Quando um job em um projeto é executado, ele usa slots da reserva atribuída. Os recursos podem herdar atribuições de seus pais na hierarquia de recursos. Mesmo que um projeto não seja atribuído a uma reserva, ele herda a atribuição da pasta pai ou da organização, se houver. Se um projeto não tiver uma reserva atribuída ou herdada, o job usará preços sob demanda. Para mais informações sobre a hierarquia de recursos, consulte Como organizar recursos do BigQuery.

Os recursos podem ser atribuídos a None para representar a ausência de uma atividade. Os projetos atribuídos a None sempre usam preços sob demanda. Um caso de uso comum para atribuições None é atribuir uma organização a uma reserva e, em seguida, usar None para remover determinados projetos ou pastas dessa reserva. 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 essa reserva para jobs de carregamento e extração.

    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 disponibilidade de capacidade para esse pool compartilhado ou a capacidade que você vê. Se você estiver carregando grandes quantidades de dados, seu job poderá aguardar a disponibilidade dos slots. Nesse caso, talvez você queira comprar slots dedicados e atribuir jobs de PIPELINE a eles. Como prática recomendada, crie outra reserva dedicada com Ignorar slots inativos ativado. Para mais informações sobre slots inativos, consulte Slots inativos.

    Quando os jobs de carregamento e extração são atribuídos a uma reserva, eles perdem o acesso ao pool gratuito. Monitore a utilização de recursos e os jobs para garantir que as reservas tenham capacidade suficiente para ter um desempenho melhor do que usar o pool gratuito.

  • BACKGROUND: use essa reserva ao optar por use sua própria reserva para executar os jobs de gerenciamento de índice da Pesquisa do BigQuery ou jobs em segundo plano da Captura de dados alterados do BigQuery (CDC). Além disso, use essa reserva ao replicar bancos de dados de origem no BigQuery com as operações de aplicação em segundo plano do Datastream. Reservas BACKGROUND não estão disponíveis na edição Standard.

  • ML_EXTERNAL: use essa reserva para consultas do BigQuery ML que usam serviços externos ao BigQuery. Para mais informações, consulte Atribuir slots às cargas de trabalho do BigQuery ML. Reservas ML_EXTERNAL não estão disponíveis na edição Standard.

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. Para mais informações sobre como os slots são usados, consulte Alocação de slots em uma reserva.

Entenda o gerenciamento de cargas de trabalho

O BigQuery Reservations é um recurso com escopo de organização que normalmente pertence a um projeto, mas pode ser usado por outros projetos dentro da organização. Você compra reservas de forma centralizada para serem usadas em toda a organização. É possível exigir que departamentos ou divisões individuais gerenciem as reservas comprando a capacidade comprometida e atribuindo essa capacidade ao departamento ou à divisão. O projeto de administração está associado a uma conta do Cloud Billing, que é cobrada pela capacidade.

É possível usar uma organização distinta do Google Cloud para cada um dos departamentos ou divisões. Neste cenário, você define um projeo de administração para cada departamento e gerencia as reservas para esse departamento no projeto de administração. Não há compartilhamento de capacidade inativa ou de compromisso entre organizações.

Os slots inativos e não alocados são compartilhados apenas entre reservas criadas no mesmo projeto de administração e dentro da mesma edição. Se você usar mais de um projeto de administração, os slots não serão compartilhados entre reservas de projetos diferentes.

Administrar cargas de trabalho da organização

Quando você cria compromissos e reservas, eles são associados a um projeto do Google Cloud. Esse projeto gerencia os recursos do BigQuery Reservations e é a principal fonte de faturamento desses recursos. Esse projeto não precisa ser o mesmo projeto que contém seus jobs do BigQuery.

Como prática recomendada, crie um projeto dedicado para os recursos de reservas. Esse projeto é chamado de administrador de administração, porque centraliza o faturamento e o gerenciamento dos compromissos. Dê a este projeto um nome descritivo, como bq-COMPANY_NAME-admin. Em seguida, crie um ou mais projetos separados para armazenar seus jobs do BigQuery.

Apenas projetos no mesmo recurso de Organização que o projeto de administração podem ser atribuídos a uma reserva. Se o projeto de administração não fizer parte de uma organização, somente esse projeto poderá usar os slots atribuídos a ele.

O projeto de administração é cobrado pelos slots confirmados. Os projetos que usam slots de reservas do projeto de administração não são cobrados. É possível comprar mais de um tipo de plano (por exemplo, compromissos de um e três anos) e colocar os slots no mesmo projeto de administração.

Como prática recomendada, crie um projeto de administração para todas as reservas. Usar um único projeto de administração simplifica o gerenciamento do faturamento e a alocação de slots. Ative a API BigQuery Reservations somente no projeto de administração para que todos os compromissos sejam gerenciados por esse projeto.

Gerenciamento de departamentos e cargas de trabalho

É possível usar o BigQuery Reservations para isolar a capacidade do compromisso entre cargas de trabalho, equipes ou departamentos criando outras reservas e atribuindo projetos a essas reservas. Uma reserva é um pool isolado de recursos, com a vantagem de que pode aproveitar a capacidade ociosa em toda a organização.

Por exemplo, você pode ter um total de capacidade de compromisso de 1.000 slots e três tipos de cargas de trabalho: ciência de dados ELT e BI.

  • É possível criar uma reserva ds com 500 slots, e atribuir todos os projetos relevantes do Google Cloud à reserva ds.
  • É possível criar uma reserva elt com 300 slots e atribuir projetos usados para as cargas de trabalho de ELT à reserva elt.
  • É possível criar uma reserva bi com 200 slots e atribuir projetos conectados às ferramentas de BI à reserva bi.

Exclusão de compromissos.

Em vez de particionar a capacidade entre cargas de trabalho, é possível criar reservas para equipes ou departamentos individuais.

Como gerenciar reservas em diferentes regiões

As reservas são um recurso regional. Os slots adquiridos e as reservas criadas em uma região não podem ser usados em outra região. Os projetos, as pastas e as organizações podem ser atribuídos às reservas em uma região e executados sob demanda em outra. Para gerenciar reservas em outra região, faça o seguinte:

  1. No Console do Google Cloud, acesse a página BigQuery.

    Acessar o BigQuery

  2. No menu de navegação, clique em Gerenciamento de capacidade.

  3. Na lista Local, selecione uma região em que você quer gerenciar reservas.

    Depois de selecionar uma região, crie reservas, crie compromissos e atribua um projeto a uma reserva.

Compromissos

Um compromisso de capacidade é uma compra de slots em incrementos de 100 slots por um período mínimo, até a cota de slots. Os compromissos de capacidade são opcionais para reservas, mas podem economizar custos para cargas de trabalho em estado estável. Não há limite para o número de compromissos que você pode criar. Você recebe cobranças assim que a compra do compromisso é feita. Para informações sobre preços atuais, consulte preços de compromisso de capacidade.

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

  • 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.

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é excluir o compromisso. Também é possível alterar o tipo de plano após a duração mínima. Após a expiração do plano, é possível excluir o compromisso a qualquer momento ou continuar a pagar com base nas condições do plano de renovação. Para mais informações sobre como excluir compromissos, consulte Excluir um compromisso.

Você recebe cobranças mensais por planos de compromisso anuais ou de três anos. No entanto, seu compromisso financeiro é por todo o período e não pode ser cancelado mensalmente. Seu uso é atualizado diariamente no relatório de faturamento e pode ser visualizado a qualquer momento.

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.

Renovar compromissos

Você seleciona um plano de renovação ao adquirir um plano de compromisso. É possível alterar o plano de renovação de um compromisso a qualquer momento até que ele expire. Os planos de reformulação a seguir estão disponíveis:

  • Nenhum. Após o término, ele é removido. As reservas não são afetadas.
  • Anual. Após o fim do compromisso, ele será renovado por mais um ano.
  • Três anos. Após o término, o compromisso será renovado por mais três anos.

Se você usar o modelo de capacidade de escalonamento automático, poderá renovar o plano de compromisso anual ou de três anos para um ou três anos. Para informações sobre como adquirir e renovar compromissos, consulte Criar um compromisso de capacidade.

Por exemplo, se você comprou um compromisso anual às 18h do dia 5 de outubro de 2019, começou a ser cobrado nesse segundo. Seria possível excluir ou renovar o compromisso após as 18h de 4 de outubro de 2020, considerando que 2020 foi um ano bissexto. Você poderia alterar os planos de renovação antes das 18h de 4 de outubro de 2020 da seguinte maneira:

  • Se você escolher a renovação anual, às 18h do dia 4 de outubro de 2020, seu compromisso será renovado por mais um ano.
  • Se você optar por renovar um compromisso de três anos, às 18h do dia 4 de outubro de 2020, o compromisso será renovado por três anos.

Expiração do compromisso

Depois de criar um compromisso, ele só será excluído depois que expirar. Para excluir um compromisso anual ou de três anos, defina o plano de renovação como NONE. Depois que o compromisso expirar, ele será excluído automaticamente. Para saber mais sobre expiração do compromisso, consulte Expiração 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.

A seguir