Como migramos 4 bilhões de linhas para Azure Synapse
Case real: migração de data warehouse com 4B+ de registros de SQL Server para Azure Synapse Dedicated SQL Pool, com integração Power BI via API.
O contexto
Uma grande empresa precisava migrar seu data warehouse legado (SQL Server on-premise com 4 bilhões de linhas distribuídas em centenas de tabelas) para uma solução cloud moderna que suportasse dashboards em tempo real para mais de 200 usuários internos.
O sistema antigo estava no limite: queries que demoravam 40 minutos, janelas de ETL que ultrapassavam a madrugada e uma infraestrutura que não escalava. A migração precisava acontecer sem downtime para os dashboards de produção.
A solução arquitetural
Escolhemos Azure Synapse Analytics com Dedicated SQL Pool como destino. A arquitetura:
- Data Factory orquestrando pipelines de ingestão incremental
- Data Lake (ADLS Gen2) como staging area em formato Parquet
- Synapse Dedicated SQL Pool como serving layer para queries analíticas
- Power BI conectado via DirectQuery + Import híbrido
A decisão de usar Dedicated SQL Pool (em vez de Serverless) veio do volume: com 4B+ de linhas e queries complexas com joins de 8+ tabelas, o modelo serverless ficaria caro e lento.
O desafio da migração
O principal desafio não foi o volume, foi a transformação. O schema legado tinha:
- Colunas com tipos inconsistentes (VARCHAR armazenando datas)
- Chaves compostas não documentadas
- Stored procedures com lógica de negócio embarcada
- Views encadeadas em 5+ níveis
Criamos um pipeline de migração em 3 fases:
Fase 1: Extração e profiling
Mapeamos todas as 340 tabelas, identificamos dependências e criamos um catálogo de dados com profiling automatizado (distribuição, nulos, tipos reais vs declarados).
Fase 2: Transformação
Reescrevemos as transformações em T-SQL otimizado para Synapse (distribuição round-robin para fact tables, hash distribution para dimensions). As stored procedures viraram Data Flows no Data Factory.
Fase 3: Carga e validação
Migração em lotes de 100M de linhas com validação de contagem, checksums e comparação de amostras. Dashboard de monitoramento mostrando progresso em tempo real.
Resultados
| Métrica | Antes | Depois |
|---|---|---|
| Query média | 40 min | 2.3 min |
| Janela de ETL | 8h | 45 min |
| Custo infra/mês | R$ 42k | R$ 18k |
| Usuários simultâneos | 20 | 200+ |
| Linhas migradas | N/A | 4.2B |
Stack utilizada
Azure Synapse · Dedicated SQL Pool · Data Factory · Data Lake Gen2 · Power BI · T-SQL · Python · Parquet
Lição aprendida
Migração de dados não é "copiar e colar". É reengenharia. O investimento em profiling e catalogação no início economizou semanas de debug depois. Se estiver planejando uma migração, comece pelo catálogo, não pela ferramenta.
A Bradata é uma software house brasileira com +50 projetos entregues. Se tem um desafio de dados, fale conosco.
Posts relacionados
Guia completo de engenharia de dados no Brasil: data warehouse, pipelines, lakehouse, BI e LGPD
Case: como construímos um SaaS de restituição tributária com LLM para análise de SPED
Case Atlas: ERP/CRM comercial com pipeline visual, faturamento e dashboard executivo
Precisa de um talento tech agora?
Fale com a Bradata e receba uma proposta em 24 horas úteis.