Se você usa o Google BigQuery no seu dia a dia, sabe que a precificação baseada em bytes escaneados pode ser uma armadilha. Uma query malfeita com SELECT * numa tabela de 10TB pode custar dezenas de dólares em uma única execução.
Neste tutorial prático, vou te mostrar como paramos de queimar dinheiro implementando três estratégias:
Particionamento, Clustering e BI Engine. O ganho financeiro aqui é imediato.
O Problema (O Antes)
Temos uma tabela transacional (vendas_brutas) com 5 anos de histórico. Um analista precisa somar a receita do último mês.
SQL
-- Custo estimado: 500 GB escaneados (aprox. US$ 2.50 por execução)
SELECT SUM(valor)
FROM dataset.vendas_brutas
WHERE data_compra >= '2026-07-01';
1. Particionamento (Cortando o mal pela raiz)
O particionamento divide a tabela física em pedaços menores baseados em uma coluna (geralmente data). Quando você filtra pela data particionada, o BigQuery simplesmente ignora as outras partições.
SQL
-- Recriando a tabela com particionamento
CREATE OR REPLACE TABLE dataset.vendas_particionadas
PARTITION BY DATE(data_compra) AS
SELECT * FROM dataset.vendas_brutas;
-- Nova Query: Custo estimado de 8 GB escaneados (aprox. US$ 0.04)
SELECT SUM(valor)
FROM dataset.vendas_particionadas
WHERE DATE(data_compra) >= '2026-07-01';
2. Clustering (A sintonia fina)
Se você já particionou por data, mas os usuários frequentemente filtram por id_cliente ou regiao, o Clustering organiza fisicamente os dados dentro de cada partição para acelerar esses filtros.
SQL
CREATE OR REPLACE TABLE dataset.vendas_otimizadas
PARTITION BY DATE(data_compra)
CLUSTER BY regiao, id_cliente AS
SELECT * FROM dataset.vendas_brutas;
3. BI Engine (Para Dashboards)
Se o seu problema não é volume de dados, mas sim a concorrência (ex: 50 diretores atualizando o Looker Studio ao mesmo tempo), o BI Engine aloca os dados quentes na memória RAM do BigQuery. As queries caem de 2 segundos para milissegundos, e as leituras no BI Engine não cobram pelos bytes escaneados da tabela original.
Aplicar apenas o Particionamento reduziu a fatura dessa pipeline específica em quase 80% na nossa infraestrutura. Custo em cloud é código.
Top comments (0)