Modelagem Dimensional

Post on 23-Dec-2015

274 views 20 download

description

Slides de parte do curso de Business Intelligence com Pentaho

Transcript of Modelagem Dimensional

Modelagem Dimensional Básico ao avançado

Thiago Araújo S . de Oliveira

Modelagem Dimensional2

Modelagem Dimensional

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

plataforma)

● Características

– Modelagem estrela– Inteligível– Performática

Modelagem Dimensional3

Modelo Estrela

Modelagem Dimensional4

Modelo Estrela - Vendas

Modelagem Dimensional5

Exemplo de Consultas

Modelagem Dimensional6

Consulta – Gerada

Modelagem Dimensional7

Modelo Estrela - Ocorrência

Ocorrência

Unidade

Tempo

Localização

Crime

Instrumento

Policial

Modelagem Dimensional8

Exemplos de consultas

Modelagem Dimensional9

Identificando dimensões

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

Modelagem Dimensional11

Comparação ER x 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

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

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...

Modelagem Dimensional15

Fatos não aditivos

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

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

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...

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...

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

Modelagem Dimensional19

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

Usem os exemplos identificados na última aula

Modelagem Dimensional20

Estudos de caso

Modelagem Dimensional21

Exemplos...

Estoque calculado

Modelagem Dimensional22

Exemplos...

Requisições/Saídas

Modelagem Dimensional23

Exemplos...

Requisições de itens em falta

Modelagem Dimensional24

Dashboards

Modelagem Dimensional25

Dashboards

Giro mensal através das requisições

Modelagem Dimensional26

Estudo de caso

Acesso ao dados.al.gov.br

Modelagem Dimensional27

Estudo de caso

Acesso ao dados.al.gov.br

Modelagem Dimensional28

Alagoas em Dados

Modelagem Dimensional29

Alagoas em Dados

Catálogo de dados carregado a partir do DW

Modelagem Dimensional30

Fonte para Relatórios

Modelagem Dimensional31

Fonte para Relatórios

Modelagem Dimensional32

Voltando ao conteúdo...

Modelagem Dimensional33

Modelagem Dimensional Avançado

Modelagem Dimensional34

Modelagem dimensional

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

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

Modelagem Dimensional36

Esquema Estrela

Quanto foiQuanto custou

Quando

Quem

ComoPorquê

O que

Dimensões clássicas

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

Modelagem Dimensional38

Dimensão Tempo

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

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)

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

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

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

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.

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.

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.

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 ...

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

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

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

Modelagem Dimensional50

Dimensão com vários papeisOutro exemplo

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

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

*

Modelagem Dimensional53

Tipos de Fatos

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

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

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

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 :)

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...)