A fatura chegou. AWS, GCP ou Azure — não importa qual. O número era o dobro do esperado. Acontece com quase todo mundo que sobe uma estrutura de dados na cloud sem planejamento. E o pior: o problema raramente está nos dados. Está nas decisões tomadas antes de subir qualquer coisa.
Este artigo é um guia prático. Vamos cobrir o que avaliar antes de subir um banco de dados, Data Lake, Data Warehouse ou Data Mart na nuvem — e quais boas práticas e scripts ajudam a manter o custo sob controle sem sacrificar performance.
⚠️ Antes de tudo: Cloud não é barata por padrão — é barata quando bem planejada. Mover dados para a cloud sem estratégia é trocar um problema local por uma fatura crescente todo mês.
1. Entenda o que você está subindo — e por quê
O primeiro erro é subir tudo. Dados históricos de 10 anos que ninguém consulta, logs de sistema que nunca foram analisados, backups que poderiam ficar on-premise. Cada gigabyte armazenado e cada query executada tem custo.
Antes de qualquer migração, responda:
- Quem vai acessar esses dados? Frequência de acesso determina a classe de storage ideal.
- Com que frequência? Dados acessados diariamente têm custo diferente de dados consultados uma vez por trimestre.
- Qual SLA de disponibilidade você precisa? 99.999% é muito mais caro do que 99.9%.
- Esses dados crescem quanto por mês? Projetar o crescimento evita surpresas na fatura.
💡 Regra prática: Classifique seus dados em três camadas antes de subir — Hot (acesso frequente), Warm (acesso mensal) e Cold (acesso raro ou apenas para compliance). Cada camada tem pricing diferente em todos os provedores.
2. Escolha a arquitetura certa para o seu caso
Não existe arquitetura universal. A escolha entre banco relacional, Data Lake, Data Warehouse ou Data Mart depende do volume, velocidade e variedade dos seus dados — e do que você precisa fazer com eles.
Banco de Dados Relacional na Cloud (RDS, Cloud SQL, Azure SQL)
Ideal para dados transacionais estruturados com alto volume de leituras e escritas. Cuidados principais: dimensionar corretamente a instância desde o início (oversizing é o erro mais caro), configurar auto-scaling com limites máximos definidos, e usar read replicas apenas quando realmente necessário — cada réplica é uma instância separada paga.
Data Lake (S3, GCS, Azure Data Lake)
Ideal para armazenar grandes volumes de dados brutos de múltiplas fontes. O Data Lake é barato para armazenar, mas caro para processar se mal estruturado. O maior vilão aqui é o full table scan — processar tabelas inteiras para extrair uma fração dos dados.
Data Warehouse (BigQuery, Redshift, Synapse)
Ideal para análises complexas sobre grandes volumes de dados históricos. Cada provedor tem um modelo de pricing diferente: BigQuery cobra por dados escaneados na query, Redshift cobra por instância ativa, Synapse cobra por DWU. Entender o modelo de cobrança do seu DW é obrigatório antes de escalar.
Data Mart
Subconjunto do DW focado em uma área de negócio. É a opção mais econômica para times que precisam de análises específicas sem acessar o DW inteiro. Sempre considere se um Data Mart resolve o problema antes de expandir o DW.
3. Boas práticas de custo antes de subir
Particionamento de tabelas
Particionar por data é a prática mais impactante em custo. Uma query filtrada por data em uma tabela particionada escaneia apenas as partições relevantes — reduzindo custo e tempo de execução em 80-95% em muitos casos.
Clustering e compressão
Clustering organiza fisicamente os dados no disco por colunas de alta cardinalidade usadas em filtros frequentes. Compressão reduz o tamanho dos dados armazenados e escaneados.
Materialização estratégica de views
Views que são consultadas com alta frequência devem ser materializadas. Uma view comum re-executa a query toda vez que é acessada. Uma materialized view armazena o resultado e atualiza em intervalos definidos.
TTL e políticas de expiração
Dados não precisam ficar na cloud para sempre. Defina políticas de retenção desde o início — dados de mais de X anos vão para cold storage ou são deletados.
4. Scripts de monitoramento de custo
Subir dados sem monitoramento de custo é pilotar sem painel. Configure alertas antes de colocar qualquer workload em produção.
BigQuery: identificar queries caras
BigQuery: estimar custo antes de executar
Redshift: identificar queries lentas e caras
Monitoramento de storage crescente (Python + boto3 para S3)
5. Os 7 pontos críticos antes de subir qualquer estrutura
- Classifique os dados por frequência de acesso antes de escolher a classe de storage. Não coloque tudo em Standard/Hot.
- Defina particionamento desde a criação das tabelas. Retroativamente é muito mais caro e trabalhoso.
- Configure budget alerts no provedor (AWS Budgets, GCP Budget Alerts, Azure Cost Alerts) com threshold em 80% do orçamento.
- Estabeleça políticas de TTL/expiração para dados temporários, logs e dados de auditoria.
- Evite SELECT * em tabelas grandes. Selecione apenas as colunas necessárias — em DWs colunar, isso reduz custo diretamente.
- Use views materializadas para KPIs e dashboards de alto acesso em vez de re-computar a cada consulta.
- Revise permissões de acesso — queries de usuários sem treinamento em otimização são uma fonte comum de custo inesperado.
🎯 Resumo executivo: 80% do custo desnecessário em cloud vem de três fontes — armazenamento mal classificado, queries sem particionamento e workloads superdimensionados. Endereçar esses três pontos antes de subir é o que separa uma migração de sucesso de uma fatura que assusta.
Conclusão: cloud é investimento, não despesa
Cloud bem planejada entrega elasticidade, disponibilidade e capacidade analítica que nenhuma infraestrutura on-premise consegue replicar com o mesmo custo total. O problema não é a cloud — é subir sem planejar.
O checklist é simples: classifique seus dados, particione suas tabelas, monitore desde o primeiro dia, e revise as queries antes de ir para produção. Feito isso, a fatura vai ser proporcional ao valor que você está extraindo.
Quer revisar sua arquitetura de dados na cloud?
A InForge faz diagnóstico de custo e performance em ambientes cloud — identificando onde você está pagando mais do que deveria e como otimizar.