18
Page 1 Asterio K. Tanaka BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING Asterio K. Tanaka http://www.uniriotec.br/~tanaka/tin0036 [email protected] 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)

Modelagem Multidimensional: Esquema Estrela - uniriotec.bruniriotec.br/~tanaka/TIN0036/10-BDDDW-Mod-Dimens-Basicol.pdf · • Faça ou use um modelo de dados convencional E-R como

  • 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

[email protected]

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 16

Asterio K. Tanaka

Esquema Estrela - Conceitual

Asterio K. Tanaka

Esquema Estrela - Lógico

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

Page 18

Asterio K. Tanaka

Esquema Estrela - Físico (Dimensional)