Cloud Intelligence™Cloud Intelligence™

Cloud Intelligence™

BigQuery Editions: o que você precisa saber

By Sayle MatthewsMay 31, 202325 min read

Esta página também está disponível em English, Deutsch, Español, Français, Italiano e 日本語.

Resumo: o Google está mudando drasticamente o modelo de preços e de compute do BigQuery, tanto para compute quanto para storage. Novos pedidos de Flat-rate e Flex Slots serão descontinuados. As migrações do flat-rate para esse novo modelo de cobrança acontecerão em abril e as mudanças de preço começam em 05/07/2023.

hero image

O BigQuery Editions foi anunciado pelo Google em 29/03/2023 e representa uma mudança e tanto em relação aos modelos de preço que vigoraram durante boa parte (se não toda) da existência do produto. Neste artigo, vamos falar do lado de compute do BigQuery e do que mudou com esses anúncios. Meu colega Philipp escreveu um artigo sobre as mudanças de storage do BigQuery que acompanham o Editions aqui.

Na hora de analisar preços, o ideal é olhar para compute e storage juntos, já que os aumentos no compute descritos neste artigo serão compensados — e, em alguns casos, eliminados — pelas novas mudanças no storage.

Aviso: este artigo é bem longo e, como autor, sei que partes diferentes vão interessar a pessoas diferentes, em papéis variados. Por isso, recomendo navegar pelo conteúdo, achar o que precisa e seguir a partir daí. Reuni todo o conhecimento coletivo do meu time aqui na DoiT International neste material para todos os clientes do GCP (os nossos e os que ainda vão se juntar à nossa base!), depois de fazer ao time do BigQuery todas as perguntas que conseguimos imaginar sobre o assunto.

O Google também publicou um guia para escolher o Editions e dimensioná-lo corretamente aqui.

Como o conteúdo é extenso, segue um sumário para ajudar na navegação.

Sumário

Termos importantes

Cronograma

Editions? Que loucura é essa?

Dá para voltar do futuro?

Que outras mudanças vêm por aí?

E se eu já estiver em um commitment?

Fim de uma era para Flat-Rate e Flex Slots

E o uso on-demand?

Visão geral de cada BigQuery Edition

> Standard Edition (SE)

> Enterprise Edition (EE)

> Enterprise Plus Edition (EPE)

Qual Edition usar?

Autoscaling no BigQuery Editions

Estrutura das reservations

Commitments no Editions

Atualizações de preço

SKUs de cobrança

A migração automática para o BigQuery Editions

Combinando Flat-Rate e Editions com autoscaling Para concluir

Termos importantes

Aqui vai um resumo rápido dos termos usados ao longo do artigo. Se você já conhece bem o BigQuery, a maior parte vai ser familiar; caso contrário, vale dar uma lida antes de seguir.

Terminologia antiga:

  • Job

Um job é uma ação executada no BigQuery para realizar algum trabalho — consulta, carga de dados, cópia de dados etc. O tipo mais comum é uma query, e os dois termos costumam ser usados como sinônimos.

  • Slot

A unidade básica de compute usada pelo BigQuery para executar o trabalho de um job. Pense nele como uma "mini máquina virtual" que se junta a outras para dar conta de um job.

  • Reservation

Uma estrutura que reserva um conjunto de slots para uso por zero ou mais projetos atrelados a ela.

  • Commitment

Um número fixo de slots reservados por um período pré-definido, normalmente um mês ou um ano, em troca de um preço mais baixo.

  • Admin Project Um projeto designado como "gerente" das reservations e commitments do BigQuery. Em geral, uma organização tem um único (ou poucos) projeto desse tipo, para concentrar a gestão dos recursos de BigQuery em um "painel único". Em projetos flat-rate e Editions, os SKUs de cobrança das reservations da organização ficam associados a esse projeto.
  • Flex Slots

Slots que podem ser adicionados a uma reservation para um pico de curto prazo na quantidade de slots. A cobrança é por segundo, com período mínimo de 60 segundos.

  • Idle Slot Um slot que não está sendo usado em um job no momento.
  • Workloads

Um workload é um conjunto de jobs executados dentro de um único projeto.

Terminologia nova, específica do Editions:

  • Slot-Hour

A métrica básica de cobrança nos projetos do BigQuery Editions. É definida como um único slot sendo usado em um job durante uma hora. Observação: ao longo deste artigo, eu chamo isso de slot/hora, que é um nome mais descritivo do que realmente representa.

O cálculo de slot/horas usados é:

Slot/Hora utilizado = <slots usados> * (<duração em segundos>/3600 segundos)
  • Autoscaling Slots Uma nova estrutura, lançada em preview público no início de 2023, que escala a quantidade de slots a partir de um valor de baseline até um valor máximo, conforme a demanda do workload em execução.
  • Baseline Slots A quantidade mínima de slots mantidos "quentes" e ativos em uma reservation do BigQuery Editions. Eles são utilizados antes de o autoscaling entrar em ação e são cobrados enquanto a reservation estiver ativa.
  • Max Slots

A quantidade máxima de slots que uma reservation do BigQuery Editions pode atingir via autoscaling. O número de slots alocados nunca passa desse limite, considerando todos os workloads em todos os projetos da reservation.

Cronograma

O Google divulgou um cronograma das mudanças. Saber quando cada coisa entra em vigor é fundamental para você se preparar.

29/03/2023

O Google anunciou o BigQuery Editions e as mudanças de preço. Atenção: os preços só entram em vigor em 5 de julho.

30/03/2023

O BigQuery Slot Autoscaling passa a ser considerado de disponibilidade geral (GA).

Abril de 2023 O BigQuery Editions começa a ser disponibilizado aos clientes, sem qualquer mudança de preço. Nesse momento, todos os commitments e reservations flat-rate são convertidos em versões Enterprise Edition, com uma convenção de nomenclatura que mantém a marcação flat-rate para diferenciá-los.

05/07/2023

Fim das vendas de flat-rate e flex slots do BigQuery para todos os clientes que não estiverem em contrato vigente.

O preço do Editions passa a valer para todos os projetos não on-demand.

O novo preço on-demand de US$ 6,25/TB (aumento de 25%) de dados varridos passa a valer para projetos on-demand.

Editions? Que loucura é essa?

O Google anunciou o Slots Autoscaling no início deste ano, como uma prévia sutil do BigQuery Editions. O BigQuery Editions é uma reformulação do modelo de preços de compute do BigQuery, que sai de um modelo always-on para um modelo de pagamento por uso. Esse novo modelo se chama BigQuery Editions, ou apenas Editions ao longo deste artigo.

Como o Slots Autoscaling já indicava, ele é a base do Editions: daqui para frente, o modelo padrão de cobrança será baseado no conceito de slot/hora — que, como definido acima, corresponde ao uso de um único slot por uma hora.

Como o nome é Editions, e não Edition, o Google introduziu três níveis de serviço, recursos e preço para você escolher — convenientemente (e sem surpresa) chamados de Edition.

A pergunta mais comum quando o Slots Autoscaling foi lançado era: isso vai substituir os modelos de preço atuais? Naquele momento, era uma incógnita; agora, com este anúncio, o Google confirmou que o Editions vai substituir o modelo flat-rate, o que inclui também os Flex Slots. Tudo isso entra em vigor em 5 de julho.

Dá para voltar do futuro?

Sem um Delorean, infelizmente: se você está hoje no flat-rate, o Google vai migrar você para o Editions sem opção de voltar para o modelo anterior.

Ou seja, em 05/07/2023, os commitments mensais serão convertidos automaticamente para o modelo Editions, especificamente para o Enterprise Edition (mencionado adiante). Os commitments anuais seguem normalmente, já que são contratos com preço travado por um ano.

Por outro lado, se você está em um commitment anual, fica preso àquela quantidade de slots e não vai poder comprar flex slots ou slots adicionais para o seu commitment depois de 05/07/2023. Se precisar de mais slots, terá que migrar para o Editions, a menos que o Google anuncie alguma alternativa intermediária no curto prazo.

Durante o mês de abril, vai rolar uma "migração técnica" que converte todos os ativos flat-rate para ativos Editions. A partir desse momento, deixa de ser possível criar novas reservations flat-rate e a estrutura de reservations existente fica "congelada": só dá para modificar reservations flat-rate atuais, não criar novas.

Que outras mudanças vêm por aí?

Antes de detalhar cada Edition, quero responder algumas perguntas que provavelmente já estão na cabeça de muita gente, porque, quando você estiver lendo isto, sites de notícias e o Twitter já terão espalhado a novidade. Vamos a essas perguntas e respostas para que, quando seu CEO te ligar amanhã às 7h da manhã querendo entender o que isso significa, você esteja pronto para responder.

Como dito acima, o querido modelo flat-rate (especialmente para usuários com workloads de leitura intensa) vai dar lugar ao Editions. Em abril, o Google migra todos os projetos em reservations flat-rate para um Edition chamado Enterprise Edition (EE), descrito mais adiante. Isso NÃO afeta o preço desses projetos nesse momento.

Não deve haver perda de desempenho nos workloads existentes e você não deve perceber nenhuma diferença do ponto de vista do workload. O Google nos garantiu que será uma transição transparente.

Tudo segue funcionando dessa forma, com possibilidade de modificar os projetos, até 5 de julho, quando o preço do Editions começa oficialmente.

E se eu já estiver em um commitment?

Se você usa flat-rate, então tem um commitment, mensal ou anual. O mensal é o padrão; portanto, na dúvida, provavelmente é o seu caso. Você também pode conferir na sua fatura procurando os SKUs chamados "BigQuery Flat Rate Monthly for <region>" ou "BigQuery Flat Rate Annual for <region>", que indicam a duração do commitment.

Para clientes em commitment mensal (o padrão), em 5 de julho esses commitments serão convertidos automaticamente para Enterprise Edition (mais sobre isso adiante).

Se você está em um commitment anual, os termos não mudam até o aniversário do contrato, quando todas as reservations vinculadas a ele passam a usar o Enterprise Edition. Isso porque um commitment é considerado um contrato legalmente vinculante pelo prazo do compromisso.

Fim de uma era para Flat-Rate e Flex Slots

Em 05/07/2023, a compra de flat-rate e flex slots será desativada para todos os usuários, salvo quem tiver um contrato com o time de contas Google permitindo explicitamente o uso após essa data. Isso também significa que, mesmo se você estiver em um commitment anual flat-rate, não vai poder comprar flex slots depois de 5 de julho.

Vou aproveitar para deixar um momento de silêncio para que todos nós, fiéis usuários do flat-rate e dos flex slots, lamentemos juntos o fim deles.

Encerrado o momento de silêncio, seguimos.

Ou seja: se você quiser manter seus slots flat-rate — seja para ganhar tempo de redesenhar seu ambiente para tirar proveito dessas mudanças, seja por outros motivos — o ideal é comprar um commitment anual antes dessa data. Faça isso bem antes de 5 de julho, para o caso de haver alterações no anúncio em função de uma "corrida do ouro" por commitments.

E o uso on-demand?

O leitor atento (ou o usuário casual de BQ) vai notar que, até aqui, falei só sobre mudanças no flat-rate e nada sobre o preço on-demand.

Hoje, o modelo de preços padrão do BigQuery é o on-demand, que cobra US$ 5 por terabyte de dados varridos por queries ou jobs nas regiões dos EUA — também chamado de analysis na cobrança e por muitos usuários. A partir de 5 de julho, esse valor sobe para US$ 6,25 por terabyte de dados varridos nos EUA, e algumas outras regiões terão valores um pouco mais altos. É um aumento de 25%, e como os preços variam por região, esses preços também sobem 25%.

Os recursos e limites atuais não mudam para quem optar por permanecer no on-demand. Vou detalhar mais à frente, mas o on-demand terá o mesmo conjunto de recursos do Enterprise Plus Edition, mantendo, no entanto, os limites tradicionais — como os 2.000 query slots. Já me perguntaram algumas vezes, então respondendo: o BigQuery ML (BQML) continua disponível na cobrança on-demand depois de 05/07/2023.

Outra dúvida que apareceu várias vezes sobre on-demand e Compressed Storage: ao usar Compressed Storage com on-demand, a cobrança é pelo storage lógico (descomprimido) ou físico (comprimido) varrido? A resposta: a cobrança é pelo storage descomprimido, já que o BigQuery precisa descomprimir antes de analisar. Esse valor aparece no campo bytes_billed do INFORMATION_SCHEMA e nos sinks de audit log.

Errata: anteriormente, eu havia dito que on-demand não funcionaria com Compressed Storage, mas isso estava errado e, depois de pesquisar mais, vi que a afirmação era equivocada. Se você for "Edition-eligible" — ou seja, sem projetos flat-rate na sua organização, com uma reservation de Edition ou em um modelo on-demand — o Compressed Storage está disponível. Note a diferenciação por organização: se houver uma única reservation flat-rate na sua organização, vinda de um commitment anual, em 05/07/2023 você não vai poder usar Compressed Storage até que o prazo desse commitment termine.

Visão geral de cada BigQuery Edition

Um dos pontos que o Google tem reforçado bastante é que essas Editions afetam apenas o lado de compute do BigQuery, e não o de storage. O storage não é impactado por essas mudanças. Tenha isso em mente ao ler o restante do artigo.

Antes de aprofundar, lembre-se: uma única Edition pode ser aplicada a uma única reservation, que pode conter zero ou mais projetos. Ou seja, dá para combinar Editions diferentes em reservations e projetos diferentes do jeito que fizer mais sentido para você, otimizando uso ou custo.

Standard Edition (SE)

  • Autoscaling de slots
  • Limite rígido de 1.600 slots por reservation
  • Máximo de 100 queries simultâneas
  • Máximo de 5 reservations por admin project
  • Executa workloads de compute em uma única zona
  • Compatível com HIPAA
  • Chaves gerenciadas pelo Google
  • Permite no máximo 5 reservations por projeto do tipo SE
  • Não executa workloads de BigQuery ML
  • SLA de apenas 99,9%, então pode não ser indicado para workloads de produção

Enterprise Edition (EE)

  • Todos os recursos do Standard Edition
  • Sem limite de slots ou de queries simultâneas
  • Capacidade reservada e baseline garantidas
  • Aceleração de queries
  • Cache de resultados entre usuários
  • Permite executar workloads de BigQuery ML
  • Suporte a object tables
  • VPC Security Controls para evitar exfiltração de dados
  • Suporte a mascaramento de dados, segurança em nível de coluna e de linha
  • Redundância de compute zonal e disaster recovery (se uma zona ficar indisponível, dá para executar jobs em outra zona da mesma região)
  • Permite executar jobs em outros provedores de nuvem (BigQuery Omni)
  • Máximo de 200 reservations por admin project
  • SLA de 99,99%

Enterprise Plus Edition (EPE)

  • Todos os recursos do Enterprise Edition
  • Chaves de criptografia gerenciadas pelo cliente
  • Suporte a FedRAMP, ITAR e outros requisitos de compliance via Assured Workloads
  • Redundância de compute regional e disaster recovery (se uma região ficar indisponível, dá para executar jobs em outra região dentro da mesma multi-region)

Qual Edition usar?

Como acontece com frequência (excessiva) no mundo da nuvem, a resposta é: depende. Essa resposta é frustrante, então vamos a algumas perguntas básicas para te ajudar a chegar à Edition certa.

Primeira pergunta: você precisa que o compute do seu workload rode em mais de uma zona? Se sim, já dá para descartar o Standard Edition para esse workload, porque ele é restrito a uma única zona. Lembrando: isso vale para o lado de compute do workload, não para o storage.

Segunda pergunta: seu workload vai precisar de mais de 1.600 slots? Se sim, o Standard Edition também sai da lista. O Google deixou claro que os 1.600 slots são um limite rígido e não permitem flexibilidade de pico como acontece hoje com os 2.000 query slots do on-demand.

Terceira pergunta: você planeja usar o BigQuery ML em algum dos seus workloads? Se sim, o Enterprise Edition é a única versão que dá esse suporte.

Outro ponto importante: se você está esbarrando com frequência no limite de 100 queries simultâneas, recomendo olhar para o Enterprise Edition, já que esse limite foi removido nele.

Um cenário cada vez mais comum: se você precisa gerenciar sua própria chave de criptografia, vai precisar do Enterprise Plus Edition.

O mais importante é lembrar: cada projeto pode estar em on-demand ou ter uma Edition diferente aplicada. Isso ajuda a otimizar uso e custos por projeto, ou por reservation.

Se você é cliente DoiT, fique à vontade para abrir um ticket com alguém do Customer Reliability Team para uma chamada ou análise do seu uso.

Autoscaling no BigQuery Editions

Um dos grandes atrativos do Editions é o autoscaling de slots, que escala do valor de baseline até o valor máximo de slots quando há demanda.

Isso é extremamente poderoso para quem hoje usa flat-rate e às vezes precisa de mais slots do que tem reservado. Os Flex Slots eram uma forma de obter slots extras, mas não eram automáticos e exigiam ferramental adicional — em geral, uma Cloud Function rodando em intervalos regulares, verificando a métrica de slots usados e adicionando ou removendo Flex Slots conforme a necessidade. Infelizmente, se você precisava de mais slots na hora, ficava sem saída — a não ser construir e pagar por uma infraestrutura adicional para isso.

Aí entra o Editions, em que tudo isso é feito automaticamente pelo GCP, escalando para cima e para baixo conforme a necessidade, job a job.

Dito isso, há uma janela de 10 segundos em que ele decide como vai escalar. Nos nossos testes, um número mais realista é em torno de 7 segundos. Isso evita que queries muito curtas escalem até o máximo, já que os slots não seriam usados por mais tempo do que o período mínimo de cobrança. Ou seja, se sua query roda em 10 segundos, provavelmente ela não vai escalar até o máximo de slots — e talvez nem chegue ao baseline, dependendo da complexidade.

Depois que os slots escalam para cima e o job termina, pode levar um minuto ou mais para que voltem ao patamar anterior e fiquem disponíveis para o próximo job.

Vale lembrar: tanto o baseline quanto o max slots representam um pool compartilhado de slots entre todos os jobs em execução nos projetos da reservation, exatamente como em uma reservation flat-rate. Quando os slots não estão mais sendo usados por um job, eles voltam ao patamar mais baixo e você não é cobrado — essa é a grande diferença em relação aos Flex Slots, que continuam sendo cobrados até serem removidos manualmente.

Uma última observação sobre autoscaling: os slots não têm garantia de disponibilidade, a menos que estejam dentro de um commitment (que vamos abordar adiante), e ficam sujeitos à disponibilidade da região ou multi-region em que se encontram.

Estrutura das reservations

As reservations no BigQuery Editions não são tão diferentes das anteriores, do flat-rate, mas trazem alguns conceitos novos que precisam ser explicados para você entendê-las por completo.

Elas continuam sendo criadas dentro de um projeto de gerenciamento e, dentro de cada reservation, há zero ou mais projetos para os quais os slots são alocados. Como mostrado na comparação acima, agora há limites no número de projetos que uma reservation pode conter, dependendo do tipo de Edition.

Como o Editions traz o conceito de autoscaling, agora há um valor mínimo de escala (chamado baseline slots) e um valor máximo (chamado tamanho máximo da reservation). O baseline slots não existe no Standard Edition — presumivelmente porque ele já tem um teto de slots — e esse valor é sempre zero.

O valor máximo é definido como o baseline slots somado à quantidade de slots autoscaled dentro do valor da reservation inteira.

Por padrão, se um job (ou conjunto de jobs) ultrapassa o máximo de autoscaling da sua reservation, ele pode pegar emprestados slots de outras reservations do mesmo projeto de gerenciamento que usem a mesma Edition, da mesma forma que em uma reservation tradicional. Há um checkbox para desativar essa funcionalidade na tela "Create Reservation":

BQ create reservation screen

Explicação do Ignore Idle Slots

No Editions, há um teto para o número máximo de projetos de administração/gerenciamento que podem ser criados: 5 por organização. A tentativa de criar um sexto resulta na seguinte mensagem de erro:

BQ Editions cap on max number of projects

Mensagem de erro ao tentar criar mais de 5 projetos de gerenciamento em uma organização.

Commitments no Editions

Mantendo a tradição, o BigQuery Editions traz adiante o conceito de commitment por um prazo em troca de um preço mais baixo. Esses commitments são criados para uma quantidade fixa de slots dedicados pagos 24/7, mas a uma taxa menor. Em termos de cobrança, é como ter um valor de Baseline Slots configurado e pago todo mês até o fim do prazo, só que com a taxa mais baixa.

Lembre-se: a vantagem dos slots em commitment no Editions é ter um conjunto de slots mais barato e dedicado à sua reservation que você vai usar 24/7. Slots que não são usados o tempo todo não devem entrar em commitment, porque você estaria pagando por recursos ociosos. Slots em commitment têm garantia de disponibilidade.

Diferentemente do flat-rate, em que dava para escolher commitment mensal ou anual, no Editions os commitments são apenas anuais ou de 3 anos.

Como antes, quando os commitments flat-rate eram em múltiplos de 100 slots, os novos commitments também são em múltiplos de 100 slot/horas.

O detalhe é que eles só se aplicam às edições Enterprise e Enterprise Plus. Os preços vêm na próxima seção.

Atualizações de preço

O preço é quase totalmente diferente dos modelos tradicionais que o BigQuery teve por muito tempo. O novo modelo é baseado em um conceito chamado slot hour (ou, como estamos chamando, slot/hora — mais descritivo), que é uma cobrança por slot por hora de uso, contabilizada por segundo.

O Editions cobra o uso conforme o tempo em que você usa um slot. A cobrança é por segundo, mas usa a hora como ponto de arredondamento mais palatável. Assim, se você usar um único slot por 900 segundos (1/4 de hora em segundos), será cobrado 0,25 slot/horas; usando por 3.600 segundos (1 hora em segundos), serão 1,0 slot/horas. Como, na prática, você costuma usar mais de um slot por job, basta multiplicar pelo número de slots utilizados para saber quantos slot/horas serão cobrados.

Para chegar ao preço final, falta apenas o custo por slot/hora, que muda conforme a Edition escolhida. Todos os preços estão em USD para a multi-region dos EUA e podem variar em outras regiões.

No lançamento, os preços por Edition são:

  • Basic Edition: US$ 0,04 por slot/hora
  • Enterprise Edition: US$ 0,06 por slot/hora
  • Enterprise Plus Edition: US$ 0,10 por slot/hora

A fórmula geral para calcular o custo de um job é:

Preço = <Preço por slot/hora> * <Slots usados> * (<Duração em segundos>/3600)

No fim das contas, você multiplica os slots usados pelas horas de uso (segundos usados / 3600 segundos) e, por fim, pelo preço da Edition. Parece mais difícil do que é.

Uma última observação: há um período mínimo de cobrança de 60 segundos. Funciona como nos flex slots: você pode usar por menos de 60 segundos, mas será cobrado por 60 segundos.

Os preços de commitment são os seguintes, considerando que 100 slots é o tamanho mínimo e assumindo 730 horas por mês:

Enterprise Edition

  • 1 ano:

US$ 0,048 por slot/hora

US$ 4,80 por 100 slot/horas (por hora)

US$ 3.504 por 100 slot/horas (por mês)

US$ 42.048 por 100 slot/horas (por ano)

  • 3 anos:

US$ 0,036 por slot/hora

US$ 3,60 por 100 slot/horas (por hora)

US$ 2.628 por 100 slot/horas (por mês)

US$ 31.536 por 100 slot/horas (por ano)

Enterprise Plus Edition

  • 1 ano:

US$ 0,08 por slot/hora

US$ 8 por 100 slot/horas (por hora)

US$ 5.840 por 100 slot/horas (por mês)

US$ 70.080 por 100 slot/horas (por ano)

  • 3 anos:

US$ 0,06 por slot/hora

US$ 6 por 100 slot/horas (por hora)

US$ 4.380 por 100 slot/horas (por mês)

US$ 52.560 por 100 slot/horas (por ano)

SKUs de cobrança

O uso de slots no Editions é cobrado no próprio projeto de gerenciamento, e não nos projetos que disparam os jobs (como acontece no modelo on-demand). É igual ao flat-rate, o que torna mínimas as mudanças de relatório para refletir os novos SKUs vindos do flat-rate. Esses SKUs ficam no agrupamento BigQuery Reservations API nos dados de cobrança.

Os SKUs são nomeados assim, com nomes diferentes de edição e região:

  • BigQuery Enterprise Edition for US (multi-region)
  • BigQuery Basic Edition for US (multi-region)

Para commitments, os SKUs são nomeados desta forma, novamente variando edição e região:

  • BigQuery Enterprise Edition 1 Year for US (multi-region)

Atenção: hoje não existe uma forma de relacionar custos ao projeto ou reservation que executou o job que gerou esses custos. Isso provavelmente vai mudar perto de ou após 05/07/2023.

A migração automática para o BigQuery Editions

Em 05/07/2023, todo projeto flat-rate sem contrato e sem commitment anual será convertido e passará a ser cobrado pelo modelo do Enterprise Edition. O Google nos garantiu que será um processo indolor e sem impacto nos workloads.

Mudar de on-demand para Editions (ou flat-rate) envolve um pouco mais de trabalho. Recomendo fortemente ler a documentação do Google sobre o tema aqui antes de migrar e, depois, seguir os procedimentos para criar uma reservation, mas escolhendo a Edition desejada em vez de flat-rate no menu.

Combinando Flat-Rate e Editions com autoscaling

Esta é uma seção nova que decidi acrescentar, porque esse comportamento existe desde o final de abril, mas a documentação oficial não foi atualizada para deixá-lo explícito, e alguns clientes . Isso nos foi explicado em uma chamada com o time de produto do BigQuery, depois de fazermos alguns experimentos e encontrarmos apenas uma referência na página "Create Reservation" (veja a observação com o ícone de "exclamação" na imagem abaixo).

Você pode ter uma reservation flat-rate e adicionar slots de autoscaling Enterprise Edition por cima dela.

Espera, o quê?!?! Sim, isso é possível porque, em abril, o Google migrou todas as reservations e commitments flat-rate para serem executados no backend do Enterprise Edition. Ou seja, eles são essencialmente reservations e commitments Enterprise Edition, só que com preço de flat-rate. Isso significa que você pode pagar pelo flat-rate e ainda contar com algum autoscaling para compensar a perda dos flex slots, até 5 de julho ou até o fim do seu commitment anual flat-rate.

Funciona assim, dentro de uma reservation: seus slots em commitment flat-rate viram o nível de baseline slots no Editions, cobrados ao preço flat-rate, e a reservation pode escalar até o tamanho máximo, com a parte excedente cobrada ao preço EE. Como, no backend, tudo roda em Editions, o comportamento é igual ao de uma reservation Enterprise Edition padrão.

Vamos a um exemplo prático.

Hoje há um projeto rodando que usa 1.000 slots dentro de uma reservation flat-rate e tem um job de ETL mensal que escala para 1.500 slots durante sua duração.

O que você precisa fazer é editar a reservation, ou apagar a antiga e criar uma nova, definindo o baseline em 1.000 slots e o tamanho máximo da reservation em 1.500 slots, conforme mostrado abaixo. Caso esses valores não apareçam, selecione "Custom" no menu de tamanho da reservation.

Ao salvar, será criada uma reservation com 1.000 slots de baseline cobrados ao preço flat-rate, mais 500 slots adicionais que podem ser usados via autoscaling, cobrados ao preço Enterprise Edition quando utilizados.

É um bom meio-termo para clientes que querem um "colete salva-vidas" com os commitments anuais flat-rate além de 5 de julho e ainda assim conseguir escalar quando preciso. Os slots de scaling são mais caros que os Flex Slots, mas eliminam a necessidade de criar e remover reservations manualmente.

Esse comportamento funciona com todos os commitments mensais flat-rate até 5 de julho, quando a possibilidade de criar novos commitments mensais será removida.

Para concluir

Todo o time da DoiT International reconhece que essa é uma mudança de paradigma enorme no preço do BigQuery, então queremos compartilhar todo esse conhecimento e alguns alertas finais.

Garanta que você esteja 100% preparado para essa mudança em 05/07/2023. Especialmente se você usa flat-rate, porque migrar de flat-rate para Enterprise Edition pode aumentar bastante o custo. Se você usa on-demand, saiba que é um aumento direto de 25%, então reduzir o volume de scan com antecedência ajuda a compensar.

Recomendamos identificar todos os projetos com cobrança de BigQuery na sua organização e descobrir se estão em flat-rate ou on-demand. Isso ajuda a evitar saltos inesperados de custo. O melhor caminho é usar o Billing Explorer ou o DoiT Console (para clientes DoiT).

Como passo final, recomendo MUITO fazer os cálculos de custo conforme seu uso de slots e, em seguida, olhar para os custos de storage para ver se a compressão pode ajudar. Sem planejamento, uma mudança de preço dessa magnitude pode gerar saltos enormes na fatura, então é preciso estar preparado. Apesar do tempo curto entre a publicação deste artigo e 5 de julho, qualquer preparação, mesmo pequena, vai trazer grandes benefícios — especialmente se acompanhada de um design de longo prazo.

Depois de fazer a análise de slots, o passo final antes de colocar workloads em produção no Editions deveria ser subir um "projeto paralelo" e rodar uma amostra dos seus workloads ali, para ver como se comportam e quais os custos associados. Isso ajuda a entender como o autoscaler funciona e a se preparar para custos diferentes do que sua estimativa indicou.

Por fim, faço o jabá obrigatório sobre minha empresa, a DoiT International. Ajudar clientes em análises e planejamento de longo prazo após mudanças como essa é praticamente uma das nossas principais atividades. Então, se você ainda não é cliente, dá uma olhada na gente — somos demais (sim, sei que sou suspeito, mas acredito mesmo nisso) e podemos ajudar você e sua empresa nesse tipo de coisa.