Skip to content

IgorNatann/project_e_commerce_dw

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

252 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Data Warehouse E-commerce

Projeto de laboratorio para simular um cenario real de dados OLTP -> DW em SQL Server, com ETL incremental, auditoria tecnica e monitoramento operacional via Streamlit.

SQL Server Model Method Infra

  • Infra Docker one-shot pronta (SQL Server + init + Streamlit monitor + Streamlit vendas + Streamlit metas + Streamlit descontos + alerts-runner + backup).
  • Auditoria de conexoes ativa (tabela audit.connection_login_events + arquivo .sqlaudit).
  • Escopo validado ponta a ponta para dim_cliente, dim_produto, dim_regiao, dim_equipe, dim_vendedor, dim_desconto, fact_vendas, fact_metas e fact_descontos.
  • OLTP (ECOMMERCE_OLTP) e DW (DW_ECOMMERCE) inicializados automaticamente pelo bootstrap.

Este repositorio combina modelagem dimensional com operacao de dados:

  • OLTP de origem (ECOMMERCE_OLTP) com seeds e simulacao incremental.
  • DW de destino (DW_ECOMMERCE) com dimensoes, fatos e views analiticas.
  • ETL incremental em Python com watermark e auditoria de execucao.
  • Monitoramento Streamlit com visao de pipeline, qualidade, SLA e auditoria tecnica.
  • Objetivo final: auditar operacionalmente todas as dimensoes e fatos do projeto.

Objetivo final (escopo completo)

  • Garantir execucao auditada para todo o modelo dimensional: 7 dimensoes (dim_*) e 3 fatos (fact_*).
  • Rastrear cada etapa de carga em audit.etl_run e audit.etl_run_entity.
  • Validar qualidade e reconciliacao por entidade/fato antes da evolucao de escopo.
  • Monitorar SLA, atrasos, falhas recorrentes e saude de conectividade em painel unico.

Escopo atual validado

  • Infra Docker one-shot: SQL Server + sql-init + Streamlit monitor + Streamlit vendas + Streamlit metas + Streamlit descontos + alerts-runner + backup.
  • Auditoria de conexao ativa: audit.connection_login_events e SQL Server Audit (.sqlaudit).
  • Readiness operacional no bootstrap da stack para as entidades ETL implementadas (dim_cliente, dim_produto, dim_regiao, dim_equipe, dim_vendedor, dim_desconto, fact_vendas, fact_metas e fact_descontos).
  • ETL incremental Python implementado para dim_cliente, dim_produto, dim_regiao, dim_vendedor, dim_equipe, dim_desconto, fact_vendas, fact_metas e fact_descontos.
  • Dashboards publicados: monitoramento ETL (:8501), vendas R1 (:8502), metas R1 (:8503) e descontos/ROI R1 (:8504).
  • Fluxo validado ponta a ponta: extracao OLTP, upsert DW, watermark, trilha em audit.* e monitoramento visual.

Status de evolucao

  1. Base operacional concluida: OLTP funcional, DW base, ETL incremental inicial e monitoramento tecnico.
  2. Concluido: publicacao dos dashboards R1 de vendas, metas e descontos/ROI.
  3. Concluido: consolidacao da suite automatizada minima de testes (integridade + smoke de filtros em vendas, metas e descontos).
  4. Concluido: runner de alertas externos para falha ETL e atraso de SLA (Discord webhook com fallback seguro).
  5. Meta: runbook operacional formal e deploy de portfolio.

Fonte oficial do estado atual:

  • Produto e lacunas: docs/produto/PRD.md (secoes 7, 13 e 17).
  • Plano semanal de execucao: docs/produto/PLANO_FECHAMENTO_PORTFOLIO_MVP.md.
  • Snapshot periodico: docs/status_reports/.

Arquitetura resumida

  1. Fonte OLTP (sql/oltp): tabelas transacionais + seed base + seed incremental.
  2. Destino DW (sql/dw): dimensoes, fatos, views e contratos de estrutura.
  3. Controle ETL (ctl e audit): estado incremental, runs e entidades por run.
  4. ETL Python (python/etl): runner, entidades e SQL de extract/upsert.
  5. Dashboards (dashboards/streamlit): monitoramento operacional e dashboards de negocio.
  6. Operacao Docker (docker): stack one-shot, variaveis, backup e health checks.

Arquitetura visual (Mermaid):

Quick start (recomendado)

Pre-requisitos:

  • Docker Desktop (ou Docker Engine + Compose v2)
  • PowerShell

Subir a stack completa:

powershell -ExecutionPolicy Bypass -File docker/up_stack.ps1

Endpoints:

  • SQL Server: localhost:1433
  • Streamlit monitor ETL: http://localhost:8501
  • Streamlit dashboard vendas: http://localhost:8502
  • Streamlit dashboard metas: http://localhost:8503
  • Streamlit dashboard descontos/ROI: http://localhost:8504

Descer a stack:

powershell -ExecutionPolicy Bypass -File docker/down_stack.ps1

Execucao ETL (container)

docker exec dw_etl_monitor python python/etl/run_etl.py --entity dim_cliente
docker exec dw_etl_monitor python python/etl/run_etl.py --entity dim_produto
docker exec dw_etl_monitor python python/etl/run_etl.py --entity dim_regiao
docker exec dw_etl_monitor python python/etl/run_etl.py --entity dim_vendedor
docker exec dw_etl_monitor python python/etl/run_etl.py --entity dim_equipe
docker exec dw_etl_monitor python python/etl/run_etl.py --entity dim_desconto
docker exec dw_etl_monitor python python/etl/run_etl.py --entity fact_vendas
docker exec dw_etl_monitor python python/etl/run_etl.py --entity fact_metas
docker exec dw_etl_monitor python python/etl/run_etl.py --entity fact_descontos
docker exec dw_etl_monitor python python/etl/run_etl.py --entity all

Estrutura real do repositorio

project_e-commerce_dw/
|-- dashboards/
|   `-- streamlit/
|-- docker/
|-- docs/
|-- notebooks/
|-- python/
|   |-- data_generation/
|   |-- etl/
|   |-- tests/
|   `-- utils/
|-- scripts/
|-- sql/
|   |-- dw/
|   `-- oltp/
|-- tests/
`-- data/

Documentacao principal

Apontamentos das atualizacoes recentes

  • Infra Docker consolidada para operacao one-shot.
  • Escopo operacional de bootstrap consolidado para as entidades ETL implementadas (6 dimensoes + fact_vendas + fact_metas + fact_descontos).
  • ETL incremental implementado para as entidades do rollout atual com onboarding via ctl.etl_control.
  • Streamlit evoluido para matriz geral de pipelines, timeline de execucao, qualidade/reconciliacao e painel de SLA/alertas.
  • Auditoria tecnica consolidada no dashboard: conexoes, taxonomia de erros e correlacao temporal com falhas ETL.
  • Direcionamento oficial de projeto atualizado para auditoria de todas as dimensoes e fatos.

About

DW de e-commerce (Kimball/Star Schema) em SQL Server, com scripts, dados sintéticos e docs para estudos.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors