Modelagem Dimensional

57
Modelagem Dimensional Básico ao avançado Thiago Araújo S . de Oliveira

description

Slides de parte do curso de Business Intelligence com Pentaho

Transcript of Modelagem Dimensional

Page 1: Modelagem Dimensional

Modelagem Dimensional Básico ao avançado

Thiago Araújo S . de Oliveira

Page 2: Modelagem Dimensional

Modelagem Dimensional2

Modelagem Dimensional

● Proposto por Ralph Kimball● Dominante em projeto de DW(em qualquer

plataforma)

● Características

– Modelagem estrela– Inteligível– Performática

Page 3: Modelagem Dimensional

Modelagem Dimensional3

Modelo Estrela

Page 4: Modelagem Dimensional

Modelagem Dimensional4

Modelo Estrela - Vendas

Page 5: Modelagem Dimensional

Modelagem Dimensional5

Exemplo de Consultas

Page 6: Modelagem Dimensional

Modelagem Dimensional6

Consulta – Gerada

Page 7: Modelagem Dimensional

Modelagem Dimensional7

Modelo Estrela - Ocorrência

Ocorrência

Unidade

Tempo

Localização

Crime

Instrumento

Policial

Page 8: Modelagem Dimensional

Modelagem Dimensional8

Exemplos de consultas

Page 9: Modelagem Dimensional

Modelagem Dimensional9

Identificando dimensões

Page 10: Modelagem Dimensional

Modelagem Dimensional10

Modelagem Dimensional

● Esquema Estrela é simétrico– Comparado com relação aos esquemas ERs

● Tabela de Fatos– Dominante– Usualmente com grande volume de dados

● Tabelas de Dimensões– Tabelas que “qualificam” os fatos– Uma junção liga cada tabela de dimensão à tabela– de fatos– volume bem menor que as tabelas de fatos

Page 11: Modelagem Dimensional

Modelagem Dimensional11

Comparação ER x Dimensional

Page 12: Modelagem Dimensional

Modelagem Dimensional12

Tabela de Fatos

● Composta pelas chaves das dimensões● Dimensão tempo é sempre parte da chave

(DW é histórico)● Medida do fato usualmente numérica

– Aditivas

– Semi-aditivas

– Não aditivas

Fato Ocorrência

id_unidadeid_tempoid_crimeid_instrumentoid_localizacao

Page 13: Modelagem Dimensional

Modelagem Dimensional13

Fatos Aditivos

● São numéricos e podem ser somados em todas as dimensões

● Dado numérico apresentado no processo de negócio será um bom indício de uma medida em na fato

● Valor de Venda, Quantidade.. etc

Page 14: Modelagem Dimensional

Modelagem Dimensional14

Fatos semi-aditivos

● Também são numéricos● Não podem ser somados em relação a

todas as dimensões existentes– Geralmente a Tempo

● São dados de snapshots que já consideram valores passados– Saldos, balanços...

Page 15: Modelagem Dimensional

Modelagem Dimensional15

Fatos não aditivos

● Porcentagens e proporções são não-aditivas.

● Faz pouco taxas de lucro, produtividade, efetividade... etc

Page 16: Modelagem Dimensional

Modelagem Dimensional16

Tabelas Dimensões

● Objetivo– Servir como agrupamento das linhas e colunas das

análises e filtro nas consultas/relatórios

● Características:– Chaves simples (em geral, artificiais: “surrogate keys”)

– Descrição única para cada registro

– Usualmente não dependente do tempo

– Desnormalizada

– Hierarquias implícitas

Policial

id_policialmatriculapatentenomecpf

Crime

id_crimetipo_crimedesc_crime

Localização...

Page 17: Modelagem Dimensional

Modelagem Dimensional17

Hierarquias de Dimensões

● Uma dimensão pode ter múltiplas

hierarquias além de outros atributos

descritivos● Exemplo – Dimensão Policial

– Patente, Escolaridade, Atuação(Campo/Administrativo)

– Uso a depender da análise...

Page 18: Modelagem Dimensional

Modelagem Dimensional18

Passos da modelagem dimensional

1.Definição da área do negócio

2.Definir processos dentro da área de negócio

3.Definição a granularidade desejada para os

dados de cada processo

4.Definição dos atributos e hierarquia das dimensões

5.Definição das métricas das tabelas de Fatos

Observar valores aditivos, semi-aditivos e não aditivos

Page 19: Modelagem Dimensional

Modelagem Dimensional19

Exercício – Façam vocês...

Usem os exemplos identificados na última aula

Page 20: Modelagem Dimensional

Modelagem Dimensional20

Estudos de caso

Page 21: Modelagem Dimensional

Modelagem Dimensional21

Exemplos...

Estoque calculado

Page 22: Modelagem Dimensional

Modelagem Dimensional22

Exemplos...

Requisições/Saídas

Page 23: Modelagem Dimensional

Modelagem Dimensional23

Exemplos...

Requisições de itens em falta

Page 24: Modelagem Dimensional

Modelagem Dimensional24

Dashboards

Page 25: Modelagem Dimensional

Modelagem Dimensional25

Dashboards

Giro mensal através das requisições

Page 26: Modelagem Dimensional

Modelagem Dimensional26

Estudo de caso

Acesso ao dados.al.gov.br

Page 27: Modelagem Dimensional

Modelagem Dimensional27

Estudo de caso

Acesso ao dados.al.gov.br

Page 28: Modelagem Dimensional

Modelagem Dimensional28

Alagoas em Dados

Page 29: Modelagem Dimensional

Modelagem Dimensional29

Alagoas em Dados

Catálogo de dados carregado a partir do DW

Page 30: Modelagem Dimensional

Modelagem Dimensional30

Fonte para Relatórios

Page 31: Modelagem Dimensional

Modelagem Dimensional31

Fonte para Relatórios

Page 32: Modelagem Dimensional

Modelagem Dimensional32

Voltando ao conteúdo...

Page 33: Modelagem Dimensional

Modelagem Dimensional33

Modelagem Dimensional Avançado

Page 34: Modelagem Dimensional

Modelagem Dimensional34

Modelagem dimensional

● Durante a prática encontramos diversos obstáculos não previstos....

Page 35: Modelagem Dimensional

Modelagem Dimensional35

Roteiro

● Dimensões clássicas● Tabelas de Fato sem Fatos● Dimensões Degeneradas (dimensões sem tabelas)● Esquemas com muitas dimensões(Centopéia)● Campos Chaves das Dimensões(Substitutas)● Dinâmica das Dimensões: Slowly Changing Dimension

● Dimensões com Papéis● Dimensões Bugiganga● Minidimensões● Dimensões multivaloradas

Page 36: Modelagem Dimensional

Modelagem Dimensional36

Esquema Estrela

Quanto foiQuanto custou

Quando

Quem

ComoPorquê

O que

Dimensões clássicas

Page 37: Modelagem Dimensional

Modelagem Dimensional37

Dimensão Tempo

● Mais poderosa e importante em todo DW - MDX● Costuma ser complexa no mundo real:

– Dia, Mês, Trimestre, Semestre, Ano

– Dia Acumulado no Mês, no Ano

– Período Fiscal, Semana de Cinco Dias

– Feriados, Fim de semana

● Qual a granularidade ideal?Dia, Hora?● Pode ser carregada antecipadamente

Page 38: Modelagem Dimensional

Modelagem Dimensional38

Dimensão Tempo

Exemplo: 5 anos passados + 5 anos futuros = 10 anos = 3.650 dias (linhas na tabela)

Page 39: Modelagem Dimensional

Modelagem Dimensional39

Dimensão Hora

● 1ª Alternativa: Colocar a “hora do dia” na Tabela de Fatos– Poucos benefícios e desperdício de espaço

● 2ª Alternativa: Criar uma Dimensão Hora do Dia– (24 h X 60 min = 1440 valores)

– Permite novas agregações e recursos MDX

● 3ª Alternativa : Hora, minuto na mesma tabela de

dimensão que as datas– 10 anos = 3.650 x 1.440 minutos = 5.256.000

linhas (525.600 linhas cada ano adicional)

Page 40: Modelagem Dimensional

Modelagem Dimensional40

Tabela sem Fatos

Uma tabela de fatos que não tem fatos(medidas) mas captura

alguns relacionamentos muitos-para-muitos entre chaves

de dimensões. Mais frequentemente usada para

representar eventos ou prover informação de cobertura

que não aparece em outras tabelas de fatos.

Ex.: Ocorrências

Page 41: Modelagem Dimensional

Modelagem Dimensional41

Tabela sem fatos – ex. cobertura

Cobertura de Promoção

Registra todos os produtos que estão em promoção numa determinada loja, independentemente de ser vendidos ou não.

CoberturaPromocao

Tempo

Promocao

Loja

Produto

Page 42: Modelagem Dimensional

Modelagem Dimensional42

Dimensões Degeneradas

● Chaves de dimensão na tabela de fatos sem tabelas de dimensão correspondentes.

● Ex. número de uma transação, número de fatura, nota fiscal, ordem de compra, não possuem nenhum atributo, portanto não se justifica com uma tabela de dimensão.

● Usada apenas para fins de agrupamento

Page 43: Modelagem Dimensional

Modelagem Dimensional43

Esquemas com muitas dimensões (Centopéia)

Um número de dimensões muito grande (25+) é sinal de que muitas dimensões não são completamente independentes e deveriam ser combinadas numa única.

Page 44: Modelagem Dimensional

Modelagem Dimensional44

Chaves Substitutas(Surrogate keys)

● Ajudam a manter a estabilidade, através da neutralidade– Chaves naturais podem ter problemas de unicidade,

ausência, tamanhos exagerados.

– Chaves artificiais podem ser especificadas como inteiros de 4 bytes, alcançando até 2³², isto é, mais de 2 bilhões de ocorrências.

– Chaves artificiais ficam transparentes (invisíveis) para os usuários, servindo apenas como ligação entre dimensões e fatos.

Page 45: Modelagem Dimensional

Modelagem Dimensional45

Dinâmica das dimensões

● Atualização das dimensões que mudam lentamente (Slowly Changing Dimensions)– Ex.: Dados do policial(patente), dados do cliente

● Alternativas– Tipo 1: Atualizar por cima do valor antigo

● Mais simples, mas perdemos o histórico

– Tipo 2: Adicionar uma nova linha com o novo valor do atributo atualizado, mantendo os demais

● Técnica predominante

– Tipo 3: Adicionar uma nova coluna, preservando o valor anterior e inserindo o novo valor na nova coluna.

● Permite a manutenção de duas visões simultâneas do histórico, mas dá margem a muitos valores nulos.

Page 46: Modelagem Dimensional

Modelagem Dimensional46

Exemplo: Tipos 1,2 e 3

id_policial matricula nome patente

10 3242343 Thiago Araújo S. de Oliveira sargento

Linha original

Mudança de Patente

SCD Tipo 1 - Atualização

id_policial matricula nome patente

10 3242343 Thiago Araújo S. de Oliveira 2º tenente

SCD Tipo 2 – Nova Linha

id_policial matricula nome patente Datas

10 3242343 Thiago Araújo S. de Oliveira sargento ...

11 3242343 Thiago Araújo S. de Oliveira 2º tenente ...

Page 47: Modelagem Dimensional

Modelagem Dimensional47

Exemplo: Tipos 1,2 e 3

id_policial matricula nome patente

10 3242343 Thiago Araújo S. de Oliveira sargento

Linha original

Mudança de Patente

SCD Tipo 3 – Mantém histórico

id_policial matricula nome patente patente_ant

10 3242343 Thiago Araújo S. de Oliveira 2º tenente sargento

Obs.: Ainda existem soluções hibridas – novas linhas mas salvando o histórico numa nova coluna

Page 48: Modelagem Dimensional

Modelagem Dimensional48

Minidimensões

● Problemática: Dimensões com grande volume e alta volatilidade– Ex.: Faixa de renda, endereço, qnt de filhos,

escolaridade – dados demográficos

Fato Venda

Dim. Clientenomedata_nascimentocpf...

Dim. Demografiafaixa_rendaclassificacao_endfaixa_filhos...

As tabelas quebradas de uma dimensãogrande são também chamadas deminidimensões

Page 49: Modelagem Dimensional

Modelagem Dimensional49

Dimensões com vários Papéis

● A situação onde uma mesma dimensão aparece várias vezes na mesma tabela de fatos.– Ex.: Data, Delegado da ocorrência/investigação

Ocorrência

DelegadoRegistro

DelegadoInvestigacao

DataRegistro

DataConclusao

Page 50: Modelagem Dimensional

Modelagem Dimensional50

Dimensão com vários papeisOutro exemplo

Page 51: Modelagem Dimensional

Modelagem Dimensional51

Dimensões Bugiganga

● Relacionadas com tabelas tipo código-descrição com baixa cardinalidade: Sexo, Estado Civil, Tags diversos, Textos descritivos, etc.

Dimensão Junk Patrimônio

Page 52: Modelagem Dimensional

Modelagem Dimensional52

Dimensões Multivaloradas

● Um muitos-para-muitos que não possa ser acomodado pela granularidade natural de uma tabela de fatos ou tabela de dimensão.

● Uma ponte entre a tabela de fatos e a tabela de dimensão de forma a permitir dimensões multivaloradas

Ocorrência

Equipe

Policial

*

Page 53: Modelagem Dimensional

Modelagem Dimensional53

Tipos de Fatos

● Fatos de transação● Fatos Instantâneos Periódicos● Fatos Instantâneos Acumulados

Page 54: Modelagem Dimensional

Modelagem Dimensional54

Fato Transação

O nível de transação individual representa a visão mais fundamental das operações do negócio. Essas tabelas de fatos representam um evento que ocorreu num ponto instantâneo do tempo.– Ex.: Venda, Ocorrência, Entrada no Estoque

Page 55: Modelagem Dimensional

Modelagem Dimensional55

Fatos Instantâneos Periódicos

São necessários para observar o desempenho cumulativo do negócio em intervalos de tempo regulares e previsíveis. Diferentemente do fato de transação, onde se carrega uma linha para cada ocorrência de evento, com o instantâneo periódico, tira-se uma fotografia da atividade no fim de um dia, uma semana ou um mês, repetidamente ao fim de cada período.– Ex.: Saldo da conta, saldo do estoque, quilometragem

da fronta

Page 56: Modelagem Dimensional

Modelagem Dimensional56

Fatos Instantâneos Periódicos

● Cuidado com o crescimento do volume dos dados– Saldo diários... histórico

● Soluções particionamento– Dados recentes em maior detalhe diário,

semanal... dados antigos mensal :)

Page 57: Modelagem Dimensional

Modelagem Dimensional57

Fatos instantâneos acumulados

Representam um tempo indeterminado, que cobre o ciclo de vida da transação ou do produto ou pessoa. Quase sempre possuem múltiplas datas, representando os múltiplos eventos ou fases que ocorrem durante o curso de um ciclo de vida.– Exemplo: Ocorrência(registro, inquerito,

justiça...)