📊 O que é Data Warehouse?
Definição
Um Data Warehouse (DW) é um repositório central de dados integrados de uma ou mais fontes distintas. Ele armazena dados históricos e atuais em um único local, otimizado para consultas analíticas e geração de relatórios.
🎯 Características Principais
- Orientado por Assunto: Organizado por temas de negócio (vendas, finanças, marketing)
- Integrado: Dados de diferentes fontes são consolidados e padronizados
- Não-volátil: Dados não são modificados, apenas inseridos e consultados
- Variante no Tempo: Mantém histórico de dados para análises temporais
🔄 ETL - Extract, Transform, Load
Transform (Transformar): Limpar, padronizar e converter dados para formato consistente
Load (Carregar): Inserir dados transformados no Data Warehouse
📈 Diferença: OLTP vs OLAP
| Característica | OLTP (Transacional) | OLAP (Analítico) |
|---|---|---|
| Objetivo | Operações do dia a dia | Análise e decisões estratégicas |
| Tipo de Consulta | INSERT, UPDATE, DELETE | SELECT complexos |
| Volume de Dados | Dados atuais | Dados históricos massivos |
| Exemplo | Sistema de vendas em loja | Análise de vendas dos últimos 5 anos |
🔷 Modelagem Dimensional
O que é?
A Modelagem Dimensional é uma técnica de design de banco de dados otimizada para consultas analíticas. Ela organiza os dados em Fatos e Dimensões.
📊 Componentes Principais
Tabela FATO
- id_produto (FK)
- id_cliente (FK)
- id_tempo (FK)
- id_loja (FK)
- quantidade_vendida
- valor_venda
- custo
- lucro
Tabelas DIMENSÃO
- id_produto (PK)
- nome
- categoria
- marca
- fornecedor
- id_cliente (PK)
- nome
- cidade
- estado
- segmento
- id_tempo (PK)
- data
- dia_semana
- mês
- trimestre
- ano
- id_loja (PK)
- nome_loja
- cidade
- região
- tipo
⭐ Esquema Estrela (Star Schema)
O Esquema Estrela é o modelo mais comum, onde uma tabela FATO central se conecta diretamente a várias tabelas DIMENSÃO, formando uma "estrela".
Vantagens:
- Consultas simples e rápidas
- Fácil compreensão
- Melhor performance em queries
❄️ Esquema Floco de Neve (Snowflake Schema)
O Esquema Floco de Neve normaliza as dimensões, criando subdimensões conectadas hierarquicamente.
Exemplo: Dim_Produto → Dim_Categoria → Dim_Departamento
🧊 O que são Cubos OLAP?
Definição
Um Cubo OLAP (Online Analytical Processing) é uma estrutura multidimensional que permite análises rápidas de dados em diferentes perspectivas. Pense nele como um cubo de Rubik de dados!
📐 Dimensões do Cubo
Um cubo pode ter 3 ou mais dimensões. Cada dimensão representa uma perspectiva de análise:
- Dimensão 1 (Eixo X): Tempo (anos, meses, dias)
- Dimensão 2 (Eixo Y): Produto (categorias, marcas)
- Dimensão 3 (Eixo Z): Localização (regiões, cidades)
🔍 Operações em Cubos
1. Slice (Fatiar): Seleciona uma única dimensão, criando um "slice" 2D
Exemplo: Vendas de 2024 em todas as cidades e produtos
2. Dice (Cortar em cubos): Seleciona múltiplas dimensões específicas
Exemplo: Vendas de Eletrônicos em SP durante Jan-Mar/2024
3. Drill-Down (Detalhar): Navega de dados agregados para mais detalhados
Exemplo: Vendas Anuais → Mensais → Diárias
4. Roll-Up (Agregar): Navega de dados detalhados para agregados
Exemplo: Vendas Diárias → Mensais → Anuais
5. Pivot (Rotacionar): Rotaciona o cubo para ver dados de outro ângulo
Exemplo: Trocar Produto por Tempo no eixo X
💡 Benefícios
- Análises multidimensionais em segundos
- Visualização intuitiva de dados complexos
- Resposta rápida a perguntas de negócio
- Identificação de padrões e tendências
🏪 Exemplo Prático: Rede de Supermercados
Cenário
Uma rede de supermercados com 50 lojas quer analisar suas vendas para tomar decisões estratégicas sobre estoque, marketing e expansão.
📋 Passo 1: Fontes de Dados (Sistemas OLTP)
- Sistema de PDV: Registra cada venda realizada
- Sistema de Estoque: Controla produtos e fornecedores
- CRM: Dados de clientes e programa de fidelidade
- Sistema de RH: Informações de funcionários
🔄 Passo 2: Processo ETL
Extract: Todas as noites, extrair vendas do dia de todas as lojas
Transform:
- Padronizar nomes de produtos
- Corrigir dados inconsistentes
- Calcular métricas (lucro = venda - custo)
- Criar chaves substitutas (IDs únicos)
Load: Carregar dados no Data Warehouse às 2h da manhã
🗄️ Passo 3: Modelo Dimensional - Star Schema
Registros: 500 milhões (5 anos)
- quantidade: 2
- valor_unitario: R$ 5,50
- valor_total: R$ 11,00
- custo: R$ 7,00
- lucro: R$ 4,00
🧊 Passo 4: Criação do Cubo OLAP
Dimensões do Cubo:
- Tempo: 2020 a 2024, meses, trimestres
- Produto: 5.000 produtos em 15 categorias
- Loja: 50 lojas em 5 regiões
- Cliente: Segmentos (VIP, Regular, Novo)
Medidas: Valor Total, Quantidade, Lucro, Ticket Médio
📊 Passo 5: Análises Possíveis
| Pergunta de Negócio | Operação OLAP | Resultado |
|---|---|---|
| Qual categoria vendeu mais em 2024? | Slice + Roll-Up | Bebidas: R$ 12M |
| Vendas de Natal por loja? | Dice | Loja SP Centro: R$ 850k |
| Tendência mensal de laticínios? | Drill-Down + Pivot | Crescimento de 15% no verão |
| Desempenho por região? | Roll-Up | Sudeste: 45% das vendas |
💰 Passo 6: Valor Gerado
Decisões baseadas em dados:
- Redução de 20% em produtos encalhados (identificação de sazonalidade)
- Aumento de 15% em vendas com promoções direcionadas
- Otimização de estoque economizando R$ 2M/ano
- Identificação de lojas com baixo desempenho para treinamento
Conceitos Avançados de Modelagem Dimensional
Referência clássica da área
Um dos livros mais citados para modelagem dimensional é The Data Warehouse Toolkit: The Definitive Guide to Dimensional Modeling, 3rd Edition, de Ralph Kimball e Margy Ross. Ele é uma referência prática para desenho de fatos, dimensões, grão, barramento dimensional, dimensões conformadas e padrões de modelagem.
Grão da tabela fato
O grão define exatamente o que cada linha da tabela fato representa. Exemplo: uma linha por item vendido por cupom, loja, produto e minuto. Se o grão fica ambíguo, as métricas tendem a duplicar ou perder significado.
Dimensões conformadas
São dimensões reutilizadas por diferentes processos de negócio com o mesmo significado. Uma Dim_Produto conformada pode ser usada em vendas, estoque e compras, permitindo comparar indicadores com linguagem comum.
Bridge table / tabela ponte
Uma bridge resolve relações muitos-para-muitos. Exemplo: uma venda pode estar associada a várias campanhas, ou um paciente pode ter vários diagnósticos. A ponte evita duplicar fatos e pode guardar peso percentual de alocação.
SCD - Slowly Changing Dimension
SCD trata mudanças históricas em dimensões. Tipo 1 sobrescreve, Tipo 2 cria nova linha com vigência, e Tipo 3 guarda versão anterior em coluna. É essencial para responder perguntas como: qual era o segmento do cliente na data da venda?
Degenerate dimension
É um identificador transacional guardado direto na fato, sem tabela dimensão própria. Exemplo: número do pedido, número da nota fiscal ou ID do cupom.
Junk dimension
Agrupa flags e atributos de baixa cardinalidade que não merecem dimensões separadas. Exemplo: venda_promocional, canal_atendimento, entrega_expressa e cupom_usado.
Role-playing dimension
A mesma dimensão assume papéis diferentes. A Dim_Data pode aparecer como data_pedido, data_pagamento e data_entrega, cada uma com uma chave diferente na fato.
Factless fact table
Fato sem medida numérica explícita. Registra ocorrência ou cobertura. Exemplo: presença em aula, participação em campanha ou produto disponível em loja.
Snapshot periódico e acumulado
Periodic snapshot registra o estado em intervalos fixos, como saldo diário. Accumulating snapshot acompanha um processo com marcos, como pedido → separação → envio → entrega.
Exemplo de bridge: venda com múltiplas campanhas
| Tabela | Exemplo | Uso |
|---|---|---|
| Fato_Vendas | id_venda = 1001, valor_total = 500 | Guarda a venda no grão correto. |
| Bridge_Venda_Campanha | 1001 → Black Friday 60% / CRM 40% | Distribui a venda entre campanhas sem duplicar o valor. |
| Dim_Campanha | Black Friday, CRM, Aniversário | Permite analisar resultado por campanha. |
🎮 Jogo: Explore o Cubo de Vendas!
Missão: Navegue pelo cubo OLAP e encontre os insights corretos!
📅 2020
📅 2021
📅 2022
📅 2023
📅 2024
👑 VIP
👤 Regular
🆕 Novo
🌟 Fidelidade
🥫 Alimentos
🧃 Bebidas
🧼 Limpeza
💊 Higiene
📱 Eletrônicos
💰 Valor Total
📦 Quantidade
💵 Lucro
🎯 Ticket Médio
🏢 Sudeste
🌴 Nordeste
🌾 Sul
🏔️ Centro-Oeste
🌲 Norte
✂️ Slice
🎲 Dice
🔽 Drill-Down
🔼 Roll-Up
🔄 Pivot
📋 Desafio Atual
Referências e próximos passos
Para se aprofundar, estude modelagem dimensional pelo Kimball Toolkit, pratique definição de grão e compare modelos estrela, snowflake e bridge em cenários reais.
Guias de bolso para continuar praticando
Depois de explorar o cubo, consulte estes materiais para estruturar uma análise e levá-la ao Python.