Arquitetura do Pipeline ETL¶
A arquitetura do nosso pipeline ETL para dados de clínicas odontológicas segue o padrão de Data Lake com arquitetura medalhão. Este modelo é fundamental para garantir a organização, a qualidade e a rastreabilidade dos dados em diferentes estágios de processamento, desde a sua origem até a camada de consumo.
Componentes Chave da Arquitetura:
-
Fontes de Dados (Simuladas):
- Atualmente, os dados são gerados programaticamente utilizando Python (via
scripts/gerador_dados.py
) e armazenados em arquivos CSV. - Esses arquivos CSV representam diversas entidades relacionadas a operações de clínicas, como pacientes, odontologistas, consultas, procedimentos, pagamentos, etc.
- Atualmente, os dados são gerados programaticamente utilizando Python (via
-
Camada Landing (Raw):
- Localização:
data/raw/
- Propósito: Esta é a área de recepção inicial dos dados. Os arquivos CSV gerados são colocados diretamente aqui, sem nenhuma transformação ou validação de conteúdo.
- Características: Preserva a integridade e o formato original dos dados, servindo como uma fonte imutável e auditável.
- Localização:
-
Camada Bronze:
- Localização:
data/bronze/
- Propósito: Recebe os dados da camada Landing após uma ingestão inicial. Nesta etapa, os dados são lidos, validados em termos de formato básico (se são arquivos CSV válidos, por exemplo) e tipagem, e salvos novamente.
- Ferramenta:
notebooks/notebook_landing_bronze.ipynb
- Características: Os dados ainda são brutos em sua essência, mas já passaram por um controle mínimo de qualidade para garantir que são legíveis e estruturados para as próximas etapas.
- Localização:
-
Camada Silver:
- Localização:
data/silver/
- Propósito: Esta camada é onde ocorrem as principais transformações e limpezas dos dados. Dados são padronizados, inconsistências são tratadas, valores nulos são manipulados e regras de negócio são aplicadas.
- Ferramenta:
notebooks/notebook_bronze_silver.ipynb
- Características: Os dados estão limpos, padronizados e prontos para serem usados em análises mais complexas ou para serem modelados.
- Localização:
-
Camada Gold (Data Warehouse):
- Localização:
data/gold/
(para arquivos intermediários, se houver) e Banco de Dados Relacional (PostgreSQL) para consumo. - Propósito: A camada final do pipeline. Aqui, os dados limpos da camada Silver são agregados e modelados em um formato dimensional (estrela ou floco de neve), otimizado para consultas analíticas e ferramentas de Business Intelligence (BI).
- Ferramenta:
notebooks/notebook_silver_gold.ipynb
e scripts SQL (scripts/modelo_fisico.sql
,scripts/modelo_dimensional.sql
). - Características: Dados consolidados, de alta qualidade, estruturados em tabelas de fato e dimensão, prontos para gerar insights de negócio e alimentar dashboards.
- Localização:
Este fluxo garante um processo robusto de ETL, onde cada camada adiciona valor e refinamento aos dados, culminando em um Data Warehouse confiável para a tomada de decisões.