Arquitetura Medallion em ELT: bronze, silver e gold
A arquitetura Medallion organiza um pipeline ELT em três camadas — bronze, silver e gold — para transformar dados em bruto em informação pronta a analisar. É um padrão simples e muito usado em Lakehouses e data warehouses modernos, porque torna cada etapa clara, testável e fácil de manter. Ao separar responsabilidades, evitas o caos de scripts que fazem tudo ao mesmo tempo e ganhas rastreabilidade de ponta a ponta.
Pré-requisitos
- Acesso a um data warehouse ou Lakehouse (por exemplo, Microsoft Fabric, Synapse, Databricks ou qualquer base SQL).
- Uma tabela ou ficheiro de origem com dados por tratar.
- Noções básicas de SQL (
SELECT,CREATE TABLE,GROUP BY). - Permissões para criar tabelas no teu esquema.
Passo 1: Perceber as três camadas
No padrão ELT, primeiro carregas os dados (Load) e só depois os transformas (Transform), diretamente no warehouse. A arquitetura Medallion divide essa transformação em três níveis de qualidade crescente:

- Bronze — dados em bruto, tal como chegam da origem, sem alterações.
- Silver — dados limpos: sem duplicados, com tipos corretos e regras de negócio aplicadas.
- Gold — dados agregados e prontos para consumo em relatórios e dashboards.
Dica: pensa em bronze como o "armazém", silver como a "linha de montagem" e gold como a "montra".
Passo 2: Criar a camada Bronze
A camada bronze guarda uma cópia fiel da origem. Não limpes nada aqui: o objetivo é ter um histórico do que recebeste, útil para auditoria e reprocessamento. Manter o bronze intacto permite-te reprocessar o pipeline sempre que corrigires uma regra, sem voltar a pedir os dados à origem.
-- Camada Bronze: dados em bruto, tal como chegam
CREATE TABLE bronze_vendas AS
SELECT * FROM origem_vendas;
Se os dados vierem de ficheiros (CSV, Parquet), carrega-os primeiro para esta tabela, sem transformações.
Passo 3: Construir a camada Silver
Aqui está o coração do trabalho: limpar e normalizar. Corriges tipos de dados, removes duplicados e filtras registos inválidos, para que os dados fiquem fiáveis. É também na silver que aplicas conversões de fuso horário, uniformização de nomes e junções com tabelas de referência.
-- Camada Silver: limpa e normalizada
CREATE TABLE silver_vendas AS
SELECT
CAST(id AS INT) AS venda_id,
CAST(data AS DATE) AS data_venda,
UPPER(TRIM(produto)) AS produto,
CAST(total AS DECIMAL(10,2)) AS total
FROM bronze_vendas
WHERE id IS NOT NULL;
Cada regra de negócio (por exemplo, ignorar vendas sem identificador) fica documentada e centralizada nesta camada.
Passo 4: Construir a camada Gold
A camada gold responde a perguntas de negócio. Normalmente agregas os dados ao nível que o relatório ou o modelo de Power BI precisa — por exemplo, vendas por mês e por produto. Podes criar várias tabelas gold, uma por área de negócio ou por dashboard.
-- Camada Gold: agregada e pronta para BI
CREATE TABLE gold_vendas_mensais AS
SELECT
YEAR(data_venda) AS ano,
MONTH(data_venda) AS mes,
produto,
SUM(total) AS total_vendas,
COUNT(*) AS numero_vendas
FROM silver_vendas
GROUP BY YEAR(data_venda), MONTH(data_venda), produto;
A sintaxe das funções de data pode variar ligeiramente conforme o motor; adapta-a ao teu warehouse.
Verificar o resultado
Confirma que cada camada tem os dados esperados comparando as contagens de linhas. A bronze deve ter tantas linhas como a origem, e a gold deve estar agregada (menos linhas):
SELECT 'bronze' AS camada, COUNT(*) AS linhas FROM bronze_vendas
UNION ALL
SELECT 'silver', COUNT(*) FROM silver_vendas
UNION ALL
SELECT 'gold', COUNT(*) FROM gold_vendas_mensais;
Se a silver tiver menos linhas do que a bronze, a limpeza está a funcionar. Se a gold devolver totais coerentes com o negócio, o pipeline está pronto.
Conclusão
Com as camadas bronze, silver e gold tens um pipeline ELT organizado, fácil de testar e de explicar a qualquer pessoa da equipa. O próximo passo é automatizar a atualização de cada camada — por exemplo, com um pipeline agendado no Fabric ou no Data Factory — e adicionar testes de qualidade à silver. Qual das três camadas achas que a tua equipa mais precisa de melhorar?