Paradigma Moderno (ELT + dbt)

O estado da arte na Oportunidados. Separação clara de responsabilidades e transformações testáveis.

Arquitetura Espelhada: Dados vs. Ferramentas

CarregaTransformaMaterializa Views/TablesPromove para Prod
RAW
DATA LAKE
GCS Bucket
PREP
STAGING DB
ClickHouse Staging
SERVING
PROD DB
ClickHouse Prod
EXTRACT & LOAD
INGESTION SCRIPTS
Shell + ClickHouse Client
TRANSFORM
DBT (DATA BUILD TOOL)
SQL Modular + Tests

Legenda do Diagrama:

Acima: O fluxo dos dados. Abaixo: As ferramentas que operam sobre eles em cada estágio.

Por que ELT e não ETL?

No paradigma moderno, invertemos a lógica tradicional. Em vez de transformar os dados antes de carregá-los (ETL), carregamos os dados brutos diretamente no Data Warehouse e utilizamos o poder de processamento do próprio banco para realizar as transformações (ELT).

  • Agilidade: Dados brutos estão disponíveis imediatamente para análise exploratória.
  • Escalabilidade: O ClickHouse processa petabytes de dados muito mais rápido que scripts Python em uma VM.
  • Reprodutibilidade: Transformações são código (SQL), versionado e auditável.
FASE 1

Extract & Load (EL)

Scripts leves e desacoplados (Bash/Python) focados exclusivamente em mover dados do Data Lake (GCS) para a camada de Staging do ClickHouse.

Exemplo: extract_load_cnpj.sh

FASE 2

Transform (dbt)

O coração da lógica de negócios. O dbt orquestra a transformação dos dados brutos em modelos analíticos limpos e documentados.

  • Testes de qualidade de dados
  • Documentação automática
  • Linhagem de dados (Lineage)
FASE 3

Publish & Serve

Após passarem por todos os testes do dbt, os dados são promovidos para as tabelas de Produção, garantindo zero downtime e consistência para os consumidores finais.

Destino: APIs, Dashboards, Relatórios