Modelagem Multidimensional: Conceitos Avançados

Documentos relacionados
SISTEMAS DE APOIO À INTELIGÊNCIA DE NEGÓCIOS

Aula 02. Evandro Deliberal

Conceitos Básicos. Processamento Analítico de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri Prof. Dr. Ricardo Rodrigues Ciferri

SISTEMAS DE APOIO À INTELIGÊNCIA DE NEGÓCIOS

Sistemas de Suporte à Decisão. Suporte à Decisão X Operacional. Banco de Dados Avançado. Data Warehouse. Data Warehouse & Data Mart

30/10/2012. Prof. Luiz A. Nascimento

Modelagem Multidimensional

Modelagem Multidimensional - Nível Físico -

Mapa Mental de Data Warehouse Definições e Características

Bancos de Dados IV. OLAP e Cubos de Dados. Rogério Costa

Modelagem Multidimensional - Nível Físico -

SQL. Processamento Analítico de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri Prof. Dr. Ricardo Rodrigues Ciferri

Data Warehouse. Debora Marrach Renata Miwa Tsuruda

Modelagem Multidimensional

SQL. Processamento Analítico de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri Prof. Dr. Ricardo Rodrigues Ciferri

Data Warehouse Toolkit Guia completo para modelagem dimensional Capítulo 7 - Contabilidade

Sérgio Luisir Díscola Junior

Inteligência de Negócios Profa.Denise

Modelagem Multidimensional - Nível Físico -

Modelagem Conceitual e o Modelo Entidade-Relacionamento

Arquitetura de um Ambiente de Data Warehousing

Arquitetura de um Ambiente de Data Warehousing

Modelagem Multidimensional - Nível Físico -

Modelagem Multidimensional - Nível Lógico -

Inteligência nos Negócios (Business Inteligente)

OLAP. Rodrigo Leite Durães.

Data Warehouse. Compras. Caroline B. Perlin

GESTÃO DE DADOS NAS ORGANIZAÇÕES. Prof. Robson Almeida

Arquitetura de um Ambiente de Data Warehousing

Tópicos Especiais em Informática Fatec Indaiatuba

Trabalhando com banco de dados

Data Warehousing: Conceitos Básicos e Arquitetura

Banco de Dados I Curso: Sistemas de Informação

Apresentação. Rodrigo Leite Durães

Aula 01. Evandro Deliberal

Sumário. 1 Introdução 2 BD Orientado a Objetos 3 BD Objeto-Relacional 4 Noções Básicas de Data Warehouse 5 XML e BD XML. Motivação

Roteiro da apresentação

Aula Data Warehouse. Evandro Deliberal

Data Warehousing: Conceitos Básicos e Arquitetura

Motivação. Pouco conhecimento. Muitos dados e informações. Problemas para tomada de decisão

1ª Forma Normal. Uma relação está na 1ª Forma normal se todos os seus atributos são valores escalares.

Metodologia de Desenvolvimento de Sistemas Informação

Informática. Business Intelligence (BI), Data Warehouse, OLAP e Data Mining. Prof. Márcio Hunecke

Inteligência nos Negócios (Business Inteligente)

Processo de Criação de um Esquema Estrela

Bancos de Dados IV. Arquiteturas. Rogério Costa

EAD-0750 INTELIGÊNCIA DE NEGÓCIOS. Prof. Sérgio Luiz de Oliveira Assis

Análise Clássica (Tradicional) X Análise Estruturada

Ciclo de Desenvolvimento de BD

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini /

Motivação. Análise de Dados. BD x DW OLTP. Data Warehouse. Revisão Quais as diferenças entre as tecnologias de BD e DW? OLAP Modelos Multidimensionais

Curso: Banco de Dados I. Conceitos Iniciais

Introdução à teoria de Data Warehouse. Prof. Rodrigo Leite Durães

Capítulo 9: Sistemas de banco de dados

BANCO DE DADOS. Bacharelado em Sistemas de Informação MODELAGEM DE DADOS. Profº Luciano Roberto Rocha. Itararé, 2º período

Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri. Banco de Dados Processamento e Otimização de Consultas

01 - Quais as principais vantagens da utilização de um Sistema de Banco de Dados em relação aos sistemas tradicionais de gerenciamento de arquivos?

Banco de Dados I Introdução SQL

Modelagem de dados usando o modelo Entidade- Relacionamento (ER)

BANCO DE DADOS. Araújo Lima. Jan / Araújo

Ambiente de Data Warehouse Para Imagens Médicas Baseado Em Similaridade

Banco de dados. Objetivo: Reter os dados de forma que possam ser utilizados em outros momentos

Banco de dados. Objetivo: Reter os dados de forma que possam ser utilizados em outros momentos

MATA60 BANCO DE DADOS Aula 3- Modelo de Entidades e Relacionamentos. Prof. Daniela Barreiro Claro

Bancos de Dados IV. Data Warehouse Conceitos. Rogério Costa

Conteúdo. Integração de Dados, Web e Warehousing. Introdução. Introdução. BD Heterogêneos. Introdução. Introdução

Conceitos Básicos. Profa. Dra. Cristina Dutra de Aguiar Ciferri. Algoritmos e Estruturas de Dados II: Projeto

Motivação e Conceitos Básicos

Sistema de Banco de Dados. UNIDADE 1 Introdução aos Sistemas de Bancos de Dados Professor: Armando Hage

saída durante o runtime Usando Functions de uma Única Linha para Personalizar Relatórios Mostrar as diferenças entre as functions SQL de uma única

Arquiteturas de Sistemas de Informação Geográfica

SEFAZ INFORMÁTICA Olap Prof. Márcio Hunecke

RESUMO UMA ARQUITETURA PARA DISTRIBUIÇÃO DE COMPONENTES ECNOLÓGICOS DE SISTEMAS DE INFORMAÇÕES BASEADOS EM DATA WAREHOUSE. Denilson Sell 2001

Atualização e Inserção de Dados. SQL Avançado. Pedro F. Carvalho OCP Oracle g

AULA 01 Bancos de Dados Relacionais Arquitetura Linguagem SQL Componentes: DDL, DML, DCL. Prof. Msc. Célio R. Castelano

Ciclo de Desenvolvimento de Sistemas de BD

20/3/2012. Gerenciamento Estratégico de Dados. Gerenciamento Estratégico de Dados. Gerenciamento Estratégico de Dados. Prof. Luiz A.

Aula 01 Conceito de Banco de Dados e SGBD

O que é um banco de dados? Banco de Dados. Banco de dados

P R O J E T O: C A R N A V A L. 2. Informações Básicas sobre o Sistema a ser Desenvolvido

Aula 01 Revisão Geral Banco de Dados I Conceito de Banco de Dados e SGBD

ORACLE 11 G INTRODUÇÃO AO ORACLE, SQL,PL/SQL

Modelo Entidade-Relacionamento

Banco de Dados. Introdução. Profa. Flávia Cristina Bernardini

Fundamentos da Inteligência de Negócios: Gerenciamento da Informação e de Bancos de Dados by Prentice Hall

Banco de Dados 30/04/2012 1


Sistemas de Apoio a Decisão

Sistemas de Informações Gerenciais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

Banco de Dados. Aula 3 - Prof. Bruno Moreno 26/08/2011

Avisos. SQL: Visões. Roteiro SELECT. Suporte de SQL para OLAP SQL DML CONTINUAÇÃO CONSULTAS AVANÇADAS. Cronograma das próximas aulas

ACH2025. Aula 11. Visões. Professora: Fátima L. S. Nunes SISTEMAS DE INFORMAÇÃO

Roteiro. SQL: Visões. Suporte de SQL para OLAP SELECT. Detalhando GROUP BY SQL DML CONTINUAÇÃO CONSULTAS AVANÇADAS. Consultas Avançadas Visões

Extensões de Modelos de Dados para Aplicações Avançadas. Lucas da Silva Grando Hudson Magalhães

Banco de Dados II. Prof. Fiorin

Sistemas de Informação Geográficos. Informação na Organização. O Valor da Informação. Sistemas de Informação Tradicionais. O Valor da Informação

Data Warehouse Toolkit: Telecomunicações e Utilitários (Cap. 10)

Transcrição:

BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING http://www.uniriotec.br/~tanaka/tin0036 tanaka@uniriotec.br Modelagem Dimensional Conceitos Avançados Modelagem Multidimensional: Conceitos Avançados Conformidade e Combinações de Dimensões Dimensões Tradicionais Quando, Onde, O que Dinâmica das Dimensões Dimensões Degeneradas e Dimensões Lixo Campos Chaves de Dimensões e Fatos Tabelas Fato sem Dados ou Métricas Tabelas Fato com Classificação ou SubTipo Relacionamentos M:N entre Fatos e Dimensões Agregados Page 1

Esquema Estrela Uma tabela de de fatos cercada de de tabelas de de dimensões Dimensão Fato Dimensão Dimensão Dimensão Tipos de Dimensões mais comuns onde quando Fato quem o quê Page 2

Esquema Estrela - Lógico Conformidade e Combinações de Dimensões Dimensões devem ter sempre o mesmo significado, para que os diversos esquemas dimensionais de diferentes DM possam ser cruzados, produzindo informações compatíveis. Regra básica: definir as dimensões no maior grau de granularidade (mais detalhada) possível compartilhamento de dimensões em diferentes DM. Considerações especiais: Diferentes hierarquias na mesma dimensão. Ex: CATEGORIA PRODUTO e FABRICANTE PRODUTO Hierarquia que leva a roll-up indevido. Ex: ANO TRIMESTRE Mês SEMANA DIA Combinações de dimensões (em uma única tabela) Quando existe forte coesão entre duas dimensões, ou seja, acontecem quase sempre juntas para determinados subconjuntos de valores combinados. Ex: somente certos PRODUTOS são vendidos em certas LOJAS poderia sugerir uma combinação de dimensões, desde que observado o aspecto de proliferação (produto cartesiano) Page 3

Dimensões Clássicas Dimensão Tempo (Data) quase sempre presente, pois DW é histórico. Data completa Dia da semana Dia do mês Dia do ano Semana do mês Semana do ano Mês do ano Trimestre Período Fiscal Tag de fim de semana Tag de último dia útil do mês Tag de feriado Tag de temporada etc. etc. Dimensão Espaço (Local, Loja, etc.) Nome Número Endereço Bairro Município Estado CEP Gerente Distrito Região Data de abertura Área útil Coordenadas geográficas etc. etc. Dimensão Produto Descrição Número de estoque Unidade Marca Categoria Departamento Tipo de embalagem Tamanho de embalagem Peso Unidade de peso (Características típicas do produto ) tipicamente pode ter mais de 50 atributos descritivos. Dinâmica das Dimensões Atualização das dimensões Exemplos: Endereço de Cliente, Descrição de Produto. Várias alternativas Atualizar por cima do valor antigo» É simples mas não preserva histórico. Adicionar uma nova linha com o novo valor do atributo atualizado, mantendo os demais.» A nova linha particiona o histórico na tabela fato.» É a técnica adequada para dimensões que mudam lentamente (slowly changing dimensions). Adicionar uma nova coluna, preservando o valor anterior e inserindo o novo valor na nova coluna.» Permite a manutenção de apenas duas visões simultâneas do histórico, e dá margem a muitos valores nulos quando as mudanças são lentas. Soluções híbridas, com múltiplas versões (linhas) combinadas ou não com coluna de valor anterior.» Mais flexíveis e completas, porém mais complexas. Dimensões com grande volume e alta volatilidade Particionamento da dimensão em tabelas diferentes, separando-se os dados estáticos dos dados voláteis.» Dimensões são relacionadas entre si e ambas relacionadas com a tabela fato Page 4

Dimensões Especiais Dimensões degeneradas Relacionadas com objetos do tipo evento, como Ordem de Compra, Nota Fiscal ou Pedido de Serviço, normalmente compostas de Itens (Item de OC, Linha de NF, Item de PS). Quando a granularidade da tabela fato é Item, o número do documento maior (OC, NF, PS) estará na tabela fato apenas para permitir o agrupamento dos itens por documento. O documento maior é uma dimensão degenerada. Dimensões lixo, descartável (junk) Relacionadas com tabelas tipo código-descrição com baixa cardinalidade: Sexo, Estado Civil, Tags diversos, Textos descritivos, etc. São campos tipo miscelânea que não trazem muita correlação com os outros campos da tabela fato, mas são usados como filtro, daí serem dimensões. Podem ser usadas de forma combinada.» Exemplo: três tags binários 2 3 = 8 combinações Pode ser usado como artifício para economia de textos (por exemplo, observações, comentários), pois o que vai para a tabela fato é a chave numérica (surrogate) Campos Chaves de Dimensões e Fatos Regra básica: uso de surrogates ou chaves artificiais. Ajudam a manter a estabilidade, através da neutralidade. Evitam manutenção custosa de tabelas, especialmente das tabelas fatos. 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 32, isto é, mais de 2 bilhões de ocorrências, o que é mais do que necessário para qualquer tabela dimensão. Chaves artificiais ficam transparentes (invisíveis) para os usuários, servindo apenas como ligação entre dimensões e fatos. Campos naturais poderão ser indexados, tornando as consultas amistosas. Se produzidas automaticamente, deve-se ter cuidado no processo de preparação (ETL), especialmente nos reprocessamentos. A desvantagem das chaves artificiais é que a tabela fato não pode ser consultada diretamente, pois os campos de filtro estarão armazenados nas dimensões. Page 5

Tabelas Fatos Especiais Tabela Fatos sem Dados ou Métrica Não muito comum. A tabela fato sem dados serve apenas para relacionar as dimensões. Exemplo:» Fato: Frequencia» Dimensões: Aluno Disciplina Dia Tabelas Fatos com Classificação ou Subtipos Tipos de tabelas fato, uma para cada linha de produto, cada uma com métricas diferentes. Modelagem como nas hierarquias de classe/subclasse. Exemplo:» Ambiente bancário com vários tipos de contas e produtos» Fato: Produtos especializados (multifatos)» Dimensões: Agência Cliente Data (comuns a todos os produtos) Relacionamentos M:N entre Fatos e Dimensões Exemplo: Desfiles de Escolas de Samba Escola Quesito Nota Enredo Desfile Chave-Escola Chave-Enredo Chave-Ano Chave-Corpo-Jurado Número-Participantes Número-Alas Classificação Valor-Gasto Etc... Ano Corpo Jurado Jurado Chave-Corpo-Jurado + Quesito + Jurado + Nota Dimensões do tipo Corpo Jurado, que substituem relacionamentos M:N entre Fatos e Dimensões, são conhecidas como Dimensões Ponte. Page 6

Agregados (1) Materializar (armazenar) ou não? Vide síndrome da explosão do volume de dados Critérios para definição de agregados Passam pela análise dos principais tipos de informação necessárias e pela dificuldade de se obtê-las diretamente das tabelas granulares. Exemplo: TDLoja (chave-loja, nome-loja, endereco-loja, cidade, estado, regiao) TDProduto (chave-produto, descricao, marca, categoria, tipo-embalagem, departamento) TDDia (chave-dia, data-completa, dia, mês, ano, período-fiscal, estação) TFVendas (chave-loja, chave-produto, chave-dia, valor-vendido-real, custo-real, lucro, qtdvendida) Hierarquias de dimensões REGIÃO LOJA CATEGORIA PRODUTO ANO MÊS DIA Agregados (2) Combinações possíveis Ternárias: LOJA X PRODUTO X DIA 2 x 2 x 3 = 12 combinações Binárias:» LOJA X PRODUTO + LOJA X DIA + PRODUTO X DIA 2 x 2 + 2 x 3 + 2 x 3 = 16 combinações Unárias:» LOJA + PRODUTO + DIA 2 + 2 + 3 = 7 combinações Total = 35 combinações Quais deveriam ser materializadas? Qual a distribuição de valores agregados por dimensão? Ex: LOJA SELECT nome-loja, COUNT(*) FROM TFVendas, TDLoja WHERE TFVendas.chave-loja = TDLoja.chave-loja GROUP BY nome-loja Page 7

Problemas Calcular os os agregados no no momento da da recuperação ou ou armazená-los? Armazenamento X Tempo de Resposta BD4 BD3 BD2 BD1 BD1 BD2 BD3 BD4 A Síndrome da Explosão no Volume de Dados Número de Agregações 70000 60000 50000 40000 30000 20000 10000 0 65536 16384 16 64 256 1024 4096 2 3 4 5 6 7 8 Número de Dimensões (4 níveis em cada dimensão) Page 8

Agregados (3) Cuidados na definição dos agregados Valores aditivos» Nem todas as métricas armazenadas nas tabelas granulares são aditivas em todas as dimensões (fatos semi-aditivos ou não aditivos). Isto significa que os atributos das tabelas fatos de agregados poderão ser diferentes das tabelas fatos granulares. Precisão» Deve-se definir criteriosamente a precisão dos valores aditivos de agregados, que deverão ser maiores do que os usados nos respectivos valores das tabelas granulares (para evitar overflow na adição)» Fatos e dimensões agregados devem estar em tabelas fisicamente diferentes das tabelas granulares, mesmo que o número de tabelas cresça muito. Ferramentas de análise (OLAP, por exemplo) possuem mecanismo de navegação de agregados que escondem a complexidade da estrutura. Exemplos Agregados (4) Agregação por loja, para todos os produtos, todos os dias. Agregação por loja, por mês, para todos os produtos. Agregação por regiao de venda, por mês, por categoria. Page 9

Agregados (4) Exemplos Agregação por loja, para todos os produtos, todos os dias. INSERT INTO AG-LOJA AS SELECT nome-loja, sum(valor-vendido-real), sum(custo-real) FROM TDLoja, TFVendas WHERE TDLoja.chave-loja=TFVendas.chave-loja GROUP BY nome-loja Agregação por loja, por mês, para todos os produtos. INSERT INTO AG-LOJA-MÊS AS SELECT nome-loja, mês, sum(valor-vendido-real), sum(custo-real) FROM TDLoja, TFVendas, TDDia WHERE TDLoja.chave-loja=TFVendas.chave-loja AND TFVendas.chave-dia=TDDia.chave-dia GROUP BY nome-loja, mês Agregados (5) Exemplos Agregação por regiao de venda, por mês, por categoria. INSERT INTO AG-REG-CAT-MES AS SELECT regiao, mês, categoria, sum(valor-vendido-real), sum(custo-real) FROM TDLoja, TFVendas.TDProduto, TDDia WHERE TDLoja.chave-loja=TFVendas.chave-loja AND TFVendas.chave-dia=TDDia.chave-dia AND TFVendas.chave-produto=TDProduto.chave-produto GROUP BY regiao, mês, categoria Cuidados operacionais Modelos separados (agregados e granulares) para evitar contenções mútuas no momento de carga ou atualização. Carga total versus Atualização incremental: Tempo de processamento versus Complexidade de programas Carga/atualização pode requerer processamento paralelo, para otimização Utilização de agregados Navegador de agregados: camada de interface entre a ferramenta OLAP e o servidor de DW. O navegador realiza transparentemente a conversão de comandos SQL granulares nos equivalentes que trabalham informações agregadas. Page 10

Arquitetura Genérica de um Data Warehouse Meta Dados FONTES DE DADOS FERRAMENTAS DE CONSULTA OLAP BDs Operacionais Extração Transformação Carga Atualização Data Warehouse Análise Data Mining Relatórios Fontes Externas Data Marts OLAP Chaudhri&Dayal, SIGMOD RECORD 1997 Page 11