BigQuery: 1TB em 4 Segundos — O Que Aprendi Otimizando Grandes Volumes Rodei uma query em 1TB de dados no BigQuery pela primeira vez. Resultado: 4.3 segundos. Custo: R$ 2,30. Mas aqui está a parte importante: a query estava errada. E precisei refazer. E foi essa experiência que me ensinou a lição mais crítica do BigQuery: "Query certa em 1TB custa o mesmo que query errada em 1TB. A diferença está em quanto você gasta testando a query errada." Capítulo 1: Como BigQuery Cobra (E Por Que a Maioria Perde Dinheiro) A Realidade do Pricing BigQuery cobra por dados escaneados, não por tempo de processamento. 1 query que escaneia 100GB = R$ 0,50 (aproximadamente) 1 query que escaneia 1TB = R$ 5,00 1 query que escaneia 10TB = R$ 50,00 Não importa se a query leva 0.5 segundo ou 50 segundos. O custo é o mesmo. O Problema A maioria dos analistas escreve queries sem pensar em quanta área de dados eles estão acessando. A diferença é 20x só porque você estruturou os dados corretamente. Capítulo 2: 3 Hábitos Que Salvam Dinheiro em BigQuery Hábito 1: Sempre Particione por Data Particionamento divide a tabela em pedaços menores baseado em uma coluna (geralmente data). Quando você cria uma tabela, sempre defina: Resultado: 50% de economia só nessa mudança. Hábito 2: Nunca Use SELECT * em Tabelas Grandes significa "traga TODAS as colunas", mesmo as que você não usa. Economia: 94% em queries bem seletivas. Regra de ouro: Lista as colunas que você precisa. Sempre. Hábito 3: Preview Antes de Produção Aqui está o erro que comete a maioria: 1. Escreve uma query grande 2. Roda em produção sem testar 3. Query está errada 4. Roda denovo, agora corrigida 5. Custo = 2x A solução: Custo total: R$ 0,05 + R$ 5,00 = R$ 5,05 (em vez de R$ 10+ se tivesse errado). Capítulo 3: Otimizações Avançadas Para Quem Quer Ir Além JOIN Eficiente Quando você junta duas tabelas no BigQuery, o banco decide qual é a tabela de broadcast (a menor, que fica em memória) e qual é a tabela de varredura (a maior). Uso de Clustering Além de particionamento por data, você pode cluster por outra coluna para melhorar queries frequentes. Agora queries que filtram por rodam mais rápido e gastam menos. Materialized Views (Cache de Queries) Se você tem uma query que roda todos os dias e demora, crie uma Materialized View: Agora, vez que você rodar uma query nessa view, BigQuery usa o resultado cacheado (mais rápido, mais barato). Capítulo 4: Quando BigQuery Não É a Resposta BigQuery é extraordinário para análise de grandes volumes, mas tem limites: ✅ Use BigQuery Quando: Dataset > 10GB (Excel não aguenta mais) Você precisa rodar queries complexas regularmente Os dados chegam de múltiplas fontes (APIs, bancos, logs) Você quer automação e relatórios recorrentes ❌ Não Use BigQuery Quando: Dataset < 1GB (Excel ou PostgreSQL local é mais barato) Você só analisa 1-2 vezes por ano (não vale a curva de aprendizado) Os dados são muito sensíveis (LGPD pode exigir dados on-premise) Conclusão: BigQuery é Ouro, Mas Você Precisa Saber Usar O erro que cometi rodando aquela query em 1TB foi uma excelente lição: a ferramenta é poderosa, mas exige disciplina. Os 3 hábitos acima (particionamento, sem SELECT *, preview antes) resolvem 90% dos problemas de custo no BigQuery. Se você está começando e está assustado com o preço: 1. Sempre teste com LIMIT primeiro 2. Particione seus dados por data 3. Liste colunas específicas, nunca SELECT * 4. Review a estimativa de scan antes de rodar Faça isso e você vai rodar queries em 1TB por centavos, não por reais. Quer dominar SQL e Data Engineering? No Elite Data Academy, você aprende SQL avançado, BigQuery, e como criar pipelines de dados que escalam. 7 dias grátis. Sem cartão de crédito.