Pular para conteúdo

Arquitetura de medalhão

A Arquitetura de Medalhão organiza o pipeline em camadas sucessivas, cada uma com um contrato de qualidade mais forte que a anterior. O dado nunca volta atrás: cada etapa lê da camada anterior e escreve na seguinte.

graph LR
  A[(Raw<br/>CSV da Olist)] -->|etl_raw_to_silver| B[(Silver<br/>limpo e tipado)]
  B -->|etl_silver_to_gold| C[(Gold<br/>Star Schema)]
  C --> D[Power BI]

As camadas neste projeto

Camada Onde vive Contrato
Raw Data Layer/raw/ — arquivos CSV Dado como veio da fonte, sem tratamento
Silver Schema silver no PostgreSQL Tipado, sem duplicatas, com colunas derivadas
Gold Schema DW no PostgreSQL Modelo dimensional, otimizado para consulta analítica

Duas camadas de banco, não três

A arquitetura clássica costuma citar Bronze, Silver e Gold. Aqui o papel do bronze — a cópia fiel do dado bruto — é cumprido pelos próprios CSVs versionados em Data Layer/raw/, e o pipeline vai direto de raw para silver.

São, portanto, dois notebooks de transformação, não três.

Por que separar assim

Raw preserva a origem. Manter o CSV intocado permite reprocessar tudo quando uma regra de limpeza mudar, sem depender de baixar o dataset de novo.

Silver resolve qualidade de uma vez. Tipagem, duplicatas e valores derivados são tratados em um único lugar. Quem consome silver não precisa repetir essa limpeza.

Gold resolve forma. O Star Schema não adiciona qualidade — adiciona conveniência de consulta. Uma tabela fato cercada de dimensões responde perguntas analíticas com junções simples e previsíveis, que é exatamente o que uma ferramenta de BI espera encontrar.

Os dois notebooks

Ambos em Transformer/, executados nesta ordem:

Ordem Notebook O que faz
1 etl_raw_to_silver.ipynb Lê os CSVs, limpa, tipa, deriva colunas e carrega no schema silver
2 etl_silver_to_gold.ipynb silver, monta dimensões e a tabela fato no schema DW

A ordem não é negociável: o segundo notebook lê o que o primeiro escreveu.

Documentação de modelo

Cada camada de banco tem seu próprio DDL e diagrama entidade-relacionamento versionados:

Artefato Camada
Data Layer/silver/ddl.sql Definição das tabelas silver
Data Layer/silver/mer_der_dld_silver.pdf MER/DER da camada silver
Data Layer/gold/ddl.sql Definição do Star Schema
Data Layer/gold/mer_der_dld_gold.pdf MER/DER da camada gold
Data Layer/gold/mnemonico.md Dicionário de abreviações e padrões de nomenclatura
Data Layer/gold/consultas.sql Consultas analíticas de validação do modelo
Data Layer/raw/dicionario_de_dados.pdf Dicionário do dataset original