Skip to content
This repository was archived by the owner on Mar 3, 2026. It is now read-only.

vitoriamariadb/sql-analytics-platform

Repository files navigation

SQL Analytics Platform

Plataforma de queries SQL para análise de dados operacionais e dashboards.

Desenvolvido em 2019 para análise de dados durante experiência em órgão público.

Estrutura

SQL-Analytics-Platform/
├── queries/
│   ├── kpis/           # Indicadores chave de performance
│   ├── dashboard/      # Queries para dashboards
│   ├── analise/        # Análises e segmentações
│   └── views/          # Views materializadas
├── etl/                # Scripts de ETL e validações
├── procedures/         # Stored procedures
└── docs/               # Documentação completa

Tecnologias

  • PostgreSQL 11+
  • SQL ANSI padrão
  • PL/pgSQL para procedures

Funcionalidades

KPIs Operacionais

  • Métricas de vendas, produção e qualidade
  • Agregações por período
  • Indicadores consolidados

Dashboards

  • Dashboard operacional (visão diária)
  • Dashboard gerencial (visão mensal)
  • Métricas com variações temporais

Análise de Dados

  • Análise temporal (MoM, YoY)
  • Segmentação de clientes
  • Comparativos e benchmarks

ETL

  • Carga inicial de dados históricos
  • Validações de qualidade
  • Transformações e limpeza

Views Materializadas

  • Métricas agregadas para performance
  • Histórico consolidado
  • Atualização via procedures

Uso

Executar Query

psql -U usuario -d database -f queries/kpis/kpi_vendas.sql

Atualizar Métricas

CALL atualiza_metricas();

Validar Dados

CALL valida_dados('nome_tabela');

Documentação

Documentação detalhada disponível em:

Guia Rápido

Executar Dashboard Principal

\i queries/dashboards/kpis_principais.sql

Executar Processo ETL Completo

./scripts/run_etl.sh

Validar Dados

\i queries/validacao/validar_integridade.sql
\i queries/validacao/validar_duplicatas.sql

Exemplos de Uso

Exemplo 1: Consultar KPIs do Dashboard

-- Executar query de KPIs
\i queries/dashboards/kpis_principais.sql

-- Resultado esperado:
-- transacoes_mes | receita_mes | ticket_medio | pico_transacoes
-- 15234          | 1523456.78  | 99.99        | 1523

Exemplo 2: Análise Temporal

-- Consultar tendências mensais
\i queries/analytics/analise_temporal.sql

-- Filtra últimos 6 meses
SELECT * FROM (
    \i queries/analytics/analise_temporal.sql
) AS analise
LIMIT 6;

Exemplo 3: Processo ETL Completo

#!/bin/bash
# Script de execução ETL

echo "Iniciando ETL..."

# Validação pré-carga
psql -f queries/validacao/validar_integridade.sql

# Extração
psql -f queries/etl/extract_dados_operacionais.sql

# Transformação
psql -c "CALL transform_dados();"

# Carga
psql -f queries/etl/load_tabelas_fato.sql

# Validação pós-carga
psql -f queries/validacao/validar_duplicatas.sql

echo "ETL concluído!"

Casos de Uso

Caso 1: Dashboard Diário

Atualizar métricas do dashboard diariamente:

-- 1. Atualizar views materializadas
REFRESH MATERIALIZED VIEW mv_kpis_diarios;

-- 2. Consultar dados atualizados
SELECT * FROM mv_kpis_diarios
WHERE data >= CURRENT_DATE - 7
ORDER BY data DESC;

Caso 2: Análise de Segmentação

Segmentar clientes por valor:

\i queries/analytics/segmentacao.sql

-- Filtrar apenas segmento premium
SELECT * FROM segmentacao_clientes
WHERE segmento = 'premium';

Troubleshooting

Problema: Query lenta

Solução: Adicionar índices recomendados

CREATE INDEX idx_transacoes_data ON transacoes(data_transacao);
CREATE INDEX idx_transacoes_status ON transacoes(status);

Problema: Dados duplicados

Solução: Executar validação e limpeza

\i queries/validacao/validar_duplicatas.sql
-- Analisar resultados e executar limpeza manual

Performance

Métricas de Queries

  • KPIs principais: ~100ms (1M registros)
  • Análise temporal: ~200ms (1M registros)
  • Segmentação: ~500ms (1M registros)

Otimizações Aplicadas

  • CTEs para legibilidade e performance
  • Window functions para comparativos
  • Índices nas colunas mais consultadas
  • Views materializadas para dados agregados

Convenções

  • SQL ANSI padrão
  • Nomenclatura em snake_case
  • Comentários descritivos em cada arquivo
  • Queries organizadas por módulo funcional

About

Plataforma de analytics com SQL, Python e Jupyter

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages