Upload
dotruc
View
219
Download
0
Embed Size (px)
Citation preview
Page 1
Asterio K. Tanaka
BANCO DE DADOSDISTRIBUÍDOS e DATAWAREHOUSING
Asterio K. Tanakahttp://www.uniriotec.br/~tanaka/tin0036
Modelagem Dimensional – Conceitos Básicos
Asterio K. Tanaka
Modelagem Multidimensional: Esquema Estrela
• Proposto por Ralph Kimball• Dominante no projeto de DW• Características:
– Distingue melhor as dimensões dos fatos medidos– Simplifica a visualização dimensional– Na verdade é uma mistura de modelagem conceitual com
modelagem lógica, pois já é bastante voltada para a abordagem relacional (a literatura fala sempre em tabelas)
Page 2
Asterio K. Tanaka
Esquema Estrela
Uma tabela de fatos cercada de tabelas de dimensõesUma tabela de fatos cercada de tabelas de dimensões
FatoDimensão
DimensãoDimensão
Dimensão
Asterio K. Tanaka
Esquema Estrela - Exemplo
Fato Vendas
pk_tempopk_produtopk_lojapreco_vendaunidades_vendapreco_custo
Dimensão Tempo
pk_tempodatamesquadrimestreanoFlag_feriado
Dimensão Produto
pk_produtodescricaocategoriamarca
Dimensão Loja
pk_lojanome_lojaendereçocidadeestado
Page 3
Asterio K. Tanaka
Exemplo Consultas
“Vendas por categoria de produto sobre os últimos seismeses”
“Vendas por marca entre 1990 e 1995”
pk_tempo pk_produto pk_loja preco_venda unidades_venda preco_custo
Dimensão Loja
Dimensão Produto
Dimensão Tempo
. . .
Medidas NuméricasColunas da chave composta ligando a tabela
de fatos às tabelas de dimensão
Tabela de FatosTabelas de
Dimensão
Asterio K. Tanaka
Consulta SQL sobre um esquema estrela
select [Loja].[NomeLoja], [Tempo].[DataCompleta], [Produto].[Descricao], Sum( [Vendas].[Unidades_Venda]) as Total
from [Vendas], [Tempo], [Produto], [Loja]
where [Vendas].[CodTempo] = [Tempo].[CodTempo] and [Vendas].[CodProduto] = [Produto].[CodProduto] and [Vendas].[CodLoja] = [Loja].[CodLoja]
group by [Loja].[NomeLoja], [Tempo].[DataCompleta], [Produto].[Descricao]
order by [Tempo].[DataCompleta], [Loja].[NomeLoja], [Produto].[Descricao]
Qtd Vendidade cada Produto
por Loja e por Data
Page 4
Asterio K. Tanaka
Resultados
NomeLoja DataCompleta Descricao Total================================================East Loja Oct 1, 1994 Athletic Drink 57East Loja Oct 1, 1994 Beef Stew 128East Loja Oct 1, 1994 Buffalo Jerky 202East Loja Oct 1, 1994 Chicken Dinner 161East Loja Oct 1, 1994 Clear Refresher73East Loja Oct 1, 1994 Dried Grits 102East Loja Oct 1, 1994 Dry Tissues 16East Loja Oct 1, 1994 Extra Nougat 442East Loja Oct 1, 1994 Fizzy Classic 46East Loja Oct 1, 1994 Fizzy Light 65East Loja Oct 1, 1994 Lasagna 162East Loja Oct 1, 1994 Lots of Nuts 248East Loja Oct 1, 1994 Onion Slices 120
Asterio K. Tanaka
Tipos de Dimensões mais comuns
onde
Fato
quem
quando
o quê
Page 5
Asterio K. Tanaka
Modelagem Dimensional
• Esquema Estrela é assimétrico – Em relação aos esquemas ERs
• Tabela de Fatos– Tabela 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
Asterio K. Tanaka
Comparação entre a Modelagem ER e a Multidimensional
Planos de consultas “genéricos” (assimetria do modelo)
Planos de consultas extremanente distintos e específicos para as consultas previstas
Dados atômicos e agregadosDados atômicos
Poucas junçõesMuitas junções para responder a consultas
Usuários reconhecem “o seu negócio”
Usuários acham difícil entender e navegar pelo modelo
Vários diagramas dimensionais(1 para cada processo de negócio)
1 diagrama (vários processos de negócio)
MultidimensionalER
Page 6
Asterio K. Tanaka
Tabela de Fatos
• Chave composta pelas chaves das dimensões• Dimensão tempo é sempre parte da chave (DW é
histórico)• Medida do fato usualmente numérica• Fatos tipicamente aditivos• Mas podem ser
– Semi-aditivos– Não aditivos
Fato Vendas
pk_tempopk_produtopk_lojapreco_vendaunidades_vendapreco_custo
Asterio K. Tanaka
Fatos Aditivos
•São númericos e podem ser somados em relação às dimensões existentes
•Sempre que, em uma modelagem, um dado númerico for apresentado, então este será um bom indício de um atributo em fatos.
•Em geral, fatos aditivos representam medidas de atividade do negócio.
– Valor Venda, Quantidade de produtos vendidos,..
Page 7
Asterio K. Tanaka
Fatos Semi-Aditivos•Também são númericos•Não podem ser somados em relação a
todas as dimensões existentes – semântica não permite.
•Em geral, fatos semi-aditivos representam leituras medidas de intensidade do negócio.
– São snapshots destas leituras que entram no DW. • O valor atual já leva em consideração valores passados.
– Nível de Estoque, Fechamento diário/mensal de conta,..
Asterio K. Tanaka
Fatos Não-Aditivos•Algumas observações não númericas
podem eventualmente ser fatos.•Em um DW para registrar acidentes de
transito:– Atributos:
» carro1, carro2, mot.1, mot2., descrição do acidente, descrição do tempo (chuva,...) e descrição da pista.
•Todas as informações da situação acima são fatos!
Page 8
Asterio K. Tanaka
Tabelas de Dimensões
• Objetivo:– Servir como cabeçalho 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
Dimensão Loja
pk_lojanome_lojaendereçocidadeestado
Asterio K. Tanaka
Hierarquias de Dimensões
• Uma dimensão pode ter múltiplashierarquias além de outros atributosdescritivos
• Exemplo para uma empresa atacadista:– Geografia física:
» cep, cidade, estado, região, país– Geografia de vendas:
» território, região, zona– Geografia de Distribuição:
» AD primária , região
Page 9
Asterio K. Tanaka
Passos da Modelagem Dimensional
• Definição da área do negócio• Definir processos dentro da área de negócio• Definição a granularidade desejada para os
dados de cada processo– Considerar volumes e dificuldades de se obter o nível
desejado
• Definição dos atributos e hierarquia das dimensões– Considerar hierarquias múltiplas
• Definição das métricas das tabelas de Fatos– Observar valores aditivos, semi-aditivos e não aditivos
Asterio K. Tanaka
Dicas importantes na Modelagem Dimensional
• Faça ou use um modelo de dados convencional E-R como ponto de partida para o trabalho de modelagem dimensional.
• Observe os relacionamentos 1:N existentes. Eles podem sugerir dimensões
• Observe as entidades fortes. Elas também podem sugerir dimensões.
• Observe as entidades que expressam documentos como Nota Fiscal, Pedido, Ordem de Compra, etc. Elas podem sugerir fatos.
• Observe os relacionamentos M:N. Na sua interseção, pode haver valores numéricos. Isto sugere fatos.
• Observe os atributos que estarão nas tabelas de dimensões. Analise a relação de hierarquias entre esses atributos de dimensão. Atente para os relacionamentos M:N entre eles. Isto pode definir granularidade.
Page 10
Asterio K. Tanaka
Dicas importantes na Modelagem Dimensional
• As tabelas FATOS, tipicamente, armazenam dados, valores atômicos ou agregados obtidos a partir destes.
• As métricas das tabelas FATOS são normalmente aditivas em certas dimensões.
• As tabelas FATOS possuem chaves que as conectam às diferentes DIMENSÕES que as circundam. Essa conexão se dá num nível de granularidade compatível entre elas (FATO e DIMENSÃO).
• As tabelas DIMENSÃO armazenam os valores de filtro, check, acesso e textos que caracterizam os dados trabalhados.
• As tabelas FATOS são normalmente normalizadas.• As tabelas DIMENSÕES são normalmente desnormalizadas
(Esquema Estrela).• A granularidade combinada da tabela FATO com a de suas
tabelas DIMENSÕES determina o número de linhas das tabelas do projeto.
Asterio K. Tanaka
Exemplo• Processos de uma empresa revendedora
de produtos: – planos de estoque, ordens de compra, inventário,
pedidos de clientes, expedição de pedidos, créditos, etc.
• Processos identificados – cria-se uma ou mais tabelas de fatos a partir de cada um
deles.
• Neste ponto é necessário decidir o fato individual naquela tabela
– granularidade da tabela» uma linha sobre um produto, um perfil de venda
diário do produto, ou um perfil de venda mensal do produto
– Por exemplo: tabela de fatos vendas acumuladas do produto.
Page 11
Asterio K. Tanaka
Exemplo
• Definir dimensões e suas respectivas granularidades. – dimensões tempo, produto e vendedor são criadas. – outras dimensões descritivas como:
» local-de-expedição, local-de-recebimento, modo-de-envio.
• Cada dimensão pode ser vista como um ponto de entrada para a tabela de fatos.
» A escolha das dimensões é o ponto chave no projeto.
• O passo seguinte consiste em detalhar:– todas as medidas que constarão da tabela de fatos; e– completar as tabelas de dimensões.
Asterio K. Tanaka
Exemplo
Page 12
Asterio K. Tanaka
Variações do Esquema EstrelaEsquema floco de neve
• O esquema floco de neve é uma variação do esquema estrela no qual todas as tabelas dimensão são normalizadas na terceira forma normal (3FN)
• Reduzem a redundância mas aumentam a complexidade do esquema e consequentementea compreensão por parte dos usuários
• Dificultam as implementações de ferramentas de visualização dos dados
Asterio K. Tanaka
Esquema Floco de Neve
Dimensões normalizadas
Fatos como noEsquema estrela
Page 13
Asterio K. Tanaka
Esquema Flocos de Neve -Exemplo
pk_tempodatamês
Tempo
pk_produto
pk_tempo
pk_loja
Unidades_vendidas
Preco_venda
Preco_custo
Medidas
pk_produtodescProdCategoria
ProdutoMêsAno
MêsAno
Ano
CidadeEstado
Cidade
PaísRegião
PaísEstadoPaís
Estado
Pk_lojaCidade
Loja
…Tabela de Fatos
De Vendas
Asterio K. Tanaka
Esquema Constelação de Fatos
• Múltiplas tabela de fatos com dimensões compartilhadas
– Maior complexidade– Integra diferentes processos
Page 14
Asterio K. Tanaka
Esquema Constelação de Fatos
Sales Fact
time_keyproduct_keylocation_keydollar_soldunit_solddollar_cost
Time Dimension
time_keyday_of_weekmonthquarteryearholiday_flag
Product Dimensionproduct_keydescriptionbrandcategory
Location Dimensionloc_keyloc_nameaddresscitystate
Shipping Fact
time_keyproduct_keyfrom_location_keyto_location_keyshipper_keydollar_costunits_shipped
Shipper Dimensionshipper_keyshipper_namelocation_key
Asterio K. Tanaka
Modelo Entidades-Relacionamentos(adequado para BDs operacionais)
Page 15
Asterio K. Tanaka
Modelo Dimensional (Estrela ou Constelação de Fatos)
Fatos
Dimensões
Dimensõesdesnormalizadas
Asterio K. Tanaka
Tabelas de Dimensão
Segundo KIMBALL, as tabelas de dimensão não devem ser normalizadas pois:
1) não há atualização freqüente nas bases;2) o espaço em disco economizado é
relativamente pequeno e; 3) esse ganho de espaço não justifica a perda de
performance na realização de consultas por conta dos joins necessários em caso de normalização.
Page 17
Asterio K. Tanaka
Implementação do ModeloDimensional
•SGBDs multidimensionais – implementam fisicamente o modelo
dimensional– problemas de desempenho, segurança e
confiabilidade– Esparsidade: células onde não há dados
•SGBDs relacionais– Maior aceitação– Exige mapeamento (vide artigo de Colonese et
al.)
Asterio K. Tanaka
Escolha do SGBD