modelagem dimensional
Post on 23-Dec-2015
274 Views
Preview:
DESCRIPTION
TRANSCRIPT
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...)
top related