Gerenciamento de carga de trabalho usando o Reservations
Esta página descreve como usar o BigQuery Reservations para ajudar a gerenciar as cargas de trabalho do BigQuery.
Escolher um modelo de faturamento
É possível alternar entre os modelos de faturamento sob demanda e aqueles baseados em capacidade a qualquer momento ou combinar os dois modelos. Os dois modelos de preços se complementam. O faturamento sob demanda permite pagar por slots somente quando precisar deles, enquanto o preço baseado em capacidade permite reservar alocações de slots para cargas de trabalho previsíveis, geralmente com desconto para preços sob demanda.
Considere os seguintes fatores ao escolher o faturamento com base em capacidade:
- Custo. O Google recomenda que seu gasto mensal de análise esteja próximo ao compromisso mínimo com base na capacidade do BigQuery.
- Eficiência. Se você executa cargas de trabalho pouco frequentes ou inconsistentes, os preços sob demanda podem ser mais eficientes. O preço sob demanda permite que você pague apenas pelos slots quando precisar deles.
- Previsibilidade. Se você valoriza a previsibilidade mensal de preços, o modelo de faturamento baseado em capacidade pode ser preferível porque você tem a opção de pagar uma taxa mensal consistente.
- Recursos. Os modelos de faturamento baseados em capacidade e sob demanda diferem na forma como oferecem capacidade. Para mais informações, consulte Como estimar a quantidade de slots a serem adquiridos.
Como um novo cliente, você pode começar com o faturamento baseado em capacidade. A qualquer momento, você pode avaliar como seriam os custos com o faturamento sob demanda e, a qualquer momento, escolher o modelo ideal.
Também é possível testar o escalonamento automático de slots. Os slots de escalonamento automático oferecem flexibilidade para lidar com um aumento repentino de cargas de trabalho e são ideais para lidar com a variância nas necessidades de capacidade.
Também é possível combinar modelos de faturamento sob demanda e com base em capacidade, no nível da carga de trabalho ou da unidade de negócios, organizando cargas de trabalho ou unidades de negócios em projetos diferentes ou pastas e atribuir cada uma a uma reserva ou a um faturamento sob demanda.
É possível usar o modelo com base em capacidade em uma região e sob demanda em outra. Por padrão, todos os projetos usam o faturamento sob demanda. Em uma região, é possível ativar um faturamento de taxa fixa para um projeto, uma pasta ou uma organização atribuindo-o a uma reserva. Por exemplo, se você adquirir um compromisso de slot na multirregião US e atribuir a organização à reserva padrão, a organização usará o faturamento com base em capacidade na multirregião US, mas permanecerá em faturamento sob demanda em todas as outras regiões.
Dentro de uma região, é possível combinar o faturamento com base em capacidade e sob demanda atribuindo explicitamente os projetos a uma reserva. Qualquer projeto que não esteja atribuído a uma reserva
permanecerá no faturamento sob demanda. Também é possível atribuir explicitamente um projeto para usar
o faturamento sob demanda atribuindo o ID de reserva none
. Isso é útil quando você
atribui uma pasta ou organização a uma reserva, mas quer que alguns projetos
dentro dessa pasta ou organização usem o faturamento sob demanda. Para mais
informações, consulte
Atribuir um projeto a None.
Projetos com faturamento sob demanda usam capacidade separada da sua capacidade confirmada. Esses projetos não afetam a disponibilidade da capacidade comprometida.
Como criar um projeto de administraçã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.
O Google recomenda criar um projeto dedicado para os recursos do Reservations. 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 ele poderá usar os slots.
O projeto de administração é cobrado pelos slots confirmados. Os projetos que usam esses slots são cobrados pelo armazenamento, mas não pelos slots. É possível comprar mais de um tipo de plano (por exemplo, anual e três anos) e colocar os slots no mesmo projeto de administração.
Como prática recomendada, limite o número de projetos de administração. Isso ajuda a simplificar o gerenciamento de faturamento e a alocação de slots. É recomendável um projeto de administração para todas as reservas da sua organização sempre que possível. Organizações complexas podem exigir projetos administrativos adicionais para cumprir com os requisitos de gerenciamento ou faturamento.
Como criar vários projetos de administração
Em alguns casos, você pode criar mais de um projeto de administração:
- Separar os custos de várias reservas e compromissos em diferentes unidades organizacionais.
- Mapear um ou mais compromissos de slot para conjuntos específicos de reservas.
A capacidade de slots inativos não é compartilhada entre reservas em diferentes projetos de administração.
Na página do BigQuery do console do Google Cloud, só é possível visualizar reservas e compromissos apenas para o projeto de administrador selecionado.
Como estimar quantos slots serão adquiridos
O BigQuery foi projetado para escalonamento linear com recursos aprimorados. Dependendo da carga de trabalho, a capacidade incremental oferecerá benefícios adicionais. Portanto, a escolha do número ideal de slots a serem adquiridos depende dos seus requisitos de desempenho, capacidade e utilidade.
Teste slots de valor de referência e escalonamento automático para determinar a melhor configuração de slots. Por exemplo, você pode testar a carga de trabalho com 500, 1.000, 1.500 e 2.000 slots e observar o impacto no desempenho.
Também é possível examinar o uso atual do slot dos seus projetos com o preço mensal que você escolheu pagar. No momento, cargas de trabalho sob demanda têm um
limite de 2.000 slots, mas é importante verificar quantos slots estão
sendo usados pelos projetos com visualizações INFORMATION_SCHEMA.JOBS*
,
o Cloud Logging, a API de jobs ou os registros de auditoria do BigQuery. Para mais informações, consulte
Como visualizar os slots disponíveis e os alocados.
Depois de comprar slots e executar as cargas de trabalho por pelo menos sete dias, use o estimador de slot (Visualização) para analisar o desempenho e modelar o efeito de adicionar ou reduzir slots. Para mais informações, consulte Estimar requisitos de capacidade do slot.
Como gerenciar cargas de trabalho e departamentos usando reservas
É 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 o benefício adicional da possibilidade de utilização da capacidade inativa 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 à reservads
. - É possível criar uma reserva
elt
com 300 slots e atribuir projetos usados para as cargas de trabalho de ELT à reservaelt
. - É possível criar uma reserva
bi
com 200 slots e atribuir projetos conectados às ferramentas de BI à reservabi
.
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, é preciso alterar a região na página Gerenciamento de capacidade do BigQuery:
- No console do BigQuery, clique em Reservas.
- Clique no seletor de Local e selecione uma região na qual você queira gerenciar reservas.
- Depois que uma região for selecionada, será possível comprar slots, criar reservas e atribuir um projeto a uma reserva.
BigQuery Reservations para organizações complexas
O BigQuery Reservations é um recurso com escopo na 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 do BigQuery deles comprando capacidade de compromisso e distribuindo essa capacidade no departamento ou na 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, defina um projeto de administração para cada organização e gerencie o BigQuery Reservations dessa organização a partir do 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.