dawarehouse e olap

95
http://www.icmc.usp.br/pessoas/junio/Site/index.htm Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1

Upload: jose-f-rodrigues-jr

Post on 04-Jul-2015

246 views

Category:

Education


1 download

DESCRIPTION

Dawarehouse e OLAP

TRANSCRIPT

Page 1: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

Data Warehouse e OLAP

Prof. Jose Fernando Rodrigues Junior

1

Page 2: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

Introdução

Page 3: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

No início, uma única fonte de dados

Page 4: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

Exemplo: primeira loja do grupo Casas Bahia.

No início, uma única fonte de dados

Page 5: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

Mais tarde

Exemplo: primeira cidade ocupadapelo grupo Casas Bahia.

Page 6: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

E assim sucessivamente

Exemplo: primeiros estados ocupadospelo grupo Casas Bahia.

Page 7: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

Finalmente

Exemplo: Brasil (primeiro país?)ocupado pelo grupo Casas Bahia.

Page 8: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

Até que…

O que está acontecendo nas minhas lojas?

- O que é vendido mais?- Quando?- Por qual loja?- Qual a melhor loja?- Quanto estou faturando?- Qual seria uma boa oferta?- As vendas cresceram ou subiram?- Quais regiões vendem mais?- ...

Page 9: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

Até que…

O que está acontecendo nas minhas lojas?

- O que é vendido mais?- Quando?- Por qual loja?- Qual a melhor loja?- Quanto estou faturando?- Qual seria uma boa oferta?- As vendas cresceram ou subiram?- Quais regiões vendem mais?- ...

Soluções:1) Ir até cada uma das lojas e perguntar;

Pouco viável.

Page 10: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

Até que…

O que está acontecendo nas minhas lojas?

- O que é vendido mais?- Quando?- Por qual loja?- Qual a melhor loja?- Quanto estou faturando?- Qual seria uma boa oferta?- As vendas cresceram ou subiram?- Quais regiões vendem mais?- ...

Soluções:2) Usar os dados das lojas para analisar o que está acontecendo no meu negócio.

Boa idéia!!!

Page 11: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

Até que…

O que está acontecendo nas minhas lojas?

- O que é vendido mais?- Quando?- Por qual loja?- Qual a melhor loja?- Quanto estou faturando?- Qual seria uma boa oferta?- As vendas cresceram ou subiram?- Quais regiões vendem mais?- ...

Soluções:2) Usar os dados das lojas para analisar o que está acontecendo no meu negócio.

Boa idéia!!!

Mas...

Page 12: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

Impecilhos ao uso dos dados…

- Diversos sistemas de bancos de dados em uso nas lojas; depende do gerente que o implementou: PostgreSQL, Oracle, DB2, SQLServer, ...

- Cada loja, um controle transacional diferente, de acordo com suas necessidades regionais;

- Esquemas diferentes, tipos de dados diferentes, distribuição geográfica, falta de interconexão.

Page 13: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

Impecilhos ao uso dos dados…

- Diversos sistemas de bancos de dados em uso nas lojas; depende do gerente que o implementou: PostgreSQL, Oracle, DB2, SQLServer, ...

- Cada loja, um controle transacional diferente, de acordo com suas necessidades regionais;

- Esquemas diferentes, tipos de dados diferentes, distribuição geográfica, falta de interconexão.

Total falta de conformidade!!!

E muitos, muitos dados!!!

O que fazer?

Page 14: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

O que é necessário?

- 1) Recolher (extrair) os dados não importando qual o tipo do sistema de dados;

- 2) Padronizar (transformar) os dados, para terem um significado comum mesmo que, originalmente, codificados de maneira diferente; resolução de dados ausentes e espúrios;

- 3) Unir (carregar) os resultados das duas operações em um único sistema capaz para responder às minhas perguntas.

Page 15: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

O que é necessário?

- 1) Recolher (extrair) os dados não importando qual o tipo do sistema de dados;

- 2) Padronizar (transformar) os dados, para terem um significado comum mesmo que, originalmente, codificados de maneira diferente; resolução de dados ausentes e espúrios;

- 3) Unir (carregar) os resultados das duas operações em um único sistema capaz de responder às minhas perguntas.

Complicado.

Como fazer então?

Page 16: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

Mas há uma solução

Page 17: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

OracleModelagem x

SQLServerModelagem z

DB2Modelagem y

OracleModelagem

u

SQLServerModelagem w

DB2Modelagem

v...

Loja 1 Loja 2 Loja 3 Loja n-2 Loja n-1 Loja n

Data warehouse

Extrair, transformar, carregar dados

Mas há uma solução

Page 18: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

ETL – Extract Transform Load� O processo descrito de se extrair

(Extract), transformar (Transform) e carregar (Load) os dados a partir das diversas fontes de dados é denominado ETL

� ETL – uma das camadas principais da arquitetura de um data warehouse Consolidação de dados

Page 19: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

ETL – Extract Transform Load� O processo descrito de se extrair

(Extract), transformar (Transform) e carregar (Load) os dados a partir das diversas fontes de dados é denominado ETL

� ETL – uma das camadas principais da arquitetura de um data warehouse Consolidação de dados

Extrair, transformar, carregar dados

Page 20: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

ETL – Extract Transform Load

Extração/transformação (Extract/Transform) de dados extração de múltiplas fontes consolidação e integração de dados de múltiplas

fontes limpeza e validação conversão dos dados para o modelo do DW

Page 21: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

ETL – Extract Transform Load

Carregamento (Load) de dados armazenamento de acordo com o modelo do DW criação e manutenção de estruturas de dados criação e manutenção de caminhos de acesso tratamento de dados que variam no tempo suporte a atualização

refresh purging (eliminação)

Page 22: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

Conceitos

Page 23: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

O que é exatamente?

“Data Warehouse é uma coleção de dados orientados por assunto, integrada, não-volátil, variante no tempo, que dá apoio às decisões de administração” (W.H. Inmon, 1992).

Orientados a transações: vendas, operações bancárias, acessos à informação.

Page 24: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

24

Introdução

Aplicações empresas de telefonia redes de varejo instituições financeiras instituições governamentais instituições de ensino e pesquisa ….

24

BUSI

NESS

INT

ELLIGE

NCE!!!

Page 25: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

Sistemas OLTP

Extrair, transformar, carregar dados

Page 26: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

Data warehouses são, comumente, alimentados por sistemas OLTP independentes.

Sistemas OLTP

Extrair, transformar, carregar dados

Page 27: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

Data warehouses são, comumente, alimentados por sistemas OLTP independentes.

Sistemas OLTP

Extrair, transformar, carregar dados

� Sistemas OLTP (Online Transaction Processing): gerenciamento de transações;

� toda vez que você vai ao mercado, ao banco ou faz uma compra online, você está usando um sistema OLTP

Page 28: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

Objetivos

Consolidação dos dados de uma empresa

Desempenho na consulta aos dados

Separação entre suporte à decisão e bancos de dados operacionais

Suporte a ferramentas: mineração de dados, visualização e On-line Analytical Processing (OLAP)

Page 29: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

Objetivos

Os termos Datawarehouse, OLTP e OLAP não se refererem apenas a software

São termos que englobam software e serviços (muitos serviços – consultoria)

São termos cunhados para a comunidade empresarial não possuindo uma correspondência simples em Ciência da Computação

Page 30: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

Relação OLTP e OLAP

Page 31: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

Arquitetura de um data warehouse

Page 32: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

Arquitetura de um data warehouse� Arquitetura definida pelo contexto da

organização

� De maneira geral, tem as seguintes camadas:1. Operacional (OLTPs): fornecem dados2. De acesso aos dados: ETL3. Acesso à informação: ferramentas de

acesso a dados, geração de relatórios, e análise (OLAP) Business Intelligence

4. Metadados: detalhamento do conteúdo do data warehouse dicionário de dados

Page 33: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

Arquitetura de um data warehouse� Arquitetura definida pelo contexto da

organização

� De maneira geral, tem as seguintes camadas:1. Operacional (OLTPs): fornecem dados2. De acesso aos dados: ETL3. Acesso à informação: ferramentas de

acesso a dados, geração de relatórios, e análise (OLAP) Business Intelligence

4. Metadados: detalhamento do conteúdo do data warehouse dicionário de dados

Page 34: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

Dicionário de dados� Descrição dos dados do DW:

� origem� regras de transformação� nomes e aliases� formato dos dados� histórico de atualizações� acesso e segurança� responsabilidades sobre os dados

� Sem o dicionário, não há sistema

Page 35: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

Data warehouse vs Banco de dados operacional

Page 36: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

Data warehouse vs Banco de dados operacional

Data warehouse Banco de dados operacional

Orientado a objetivos específicos Orientado a transações

Grande (centenas de GBs até TBs) Pequeno/Médio (MBs até alguns GBs) – distribuído se necessário

Dados históricos Dados correntes

De-normalizado (poucas tabelas com muitas colunas)

Normalizado (muitas tabelas com poucas colunas)

Atualizações em Batch Atualizações contínuas

Otimizado para acesso Otimizado para escrita/atualização

Page 37: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

Juntos data warehouse e bancos de dados provém uma solução completa

Bancos de dados

Inserção/Atualização

Data Warehouse

Acesso aos dados

Page 38: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

Visão Geral

Extrair, transformar, carregar dados

1. Camada Operacional (OLTPs)2. Camada de acesso aos dados (ETL)3. Camada de acesso à informação: MD, relatórios, OLAP

Business Intelligence4. Dicionário de dados

Page 39: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

Projeto de Data warehouses

Page 40: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

Datamarts

Datamart: ambientes de análise de dados de menor magnitude, com fins mais específicos, limitados a subcomunidades de uma organização

Exemplo, uma loja das casas Bahia

Modelagem x

Loja i

Page 41: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

Datamarts

Datamart: ambientes de análise de dados de menor magnitude, com fins mais específicos, limitados a subcomunidades de uma organização

Exemplo, uma loja das casas Bahia

Acréscimo de ferramentas de

análise

Modelagem x

Page 42: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

Datamarts

Datamart: ambientes de análise de dados de menor magnitude, com fins mais específicos, limitados a subcomunidades de uma organização

Exemplo, uma loja das casas BahiaLoja i

Modelagem x

Datamart i

Page 43: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

Bottom-up

Projeto Bottom-up: exemplo, rede das casas Bahia

Datamart 1 Datamart 2 Datamart 3

....

Datamart n

Page 44: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

Bottom-up

Projeto Bottom-up: exemplo, rede das casas Bahia

Datamart 1 Datamart 2 Datamart 3

....

Datamart n

Page 45: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

Bottom-up

Projeto Bottom-up: exemplo, rede das casas Bahia

Datamart 1 Datamart 2 Datamart 3

....

Datamart nData warehouse : conjunto de pequenos sistemas de tratamento e

análise de dados.

Page 46: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

Bottom-up

Projeto Bottom-up: exemplo, rede das casas Bahia

Datamart 1 Datamart 2 Datamart 3

....

Datamart nData warehouse : conjunto de pequenos sistemas de tratamento e

análise de dados.

Grande esforço de consolidação modelo de dados não universal.

Page 47: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

Data warehouse : projeto bem definido.

Top-down

Projeto Top-down

Page 48: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

Data warehouse : projeto bem definido.

Top-down

Projeto Top-down

Datamart 1

Page 49: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

Data warehouse : projeto bem definido.

Projeto Top-down

Datamart 1 Datamart 2

Top-down

Page 50: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

Data warehouse : projeto bem definido.

Top-down

Projeto Top-down

Datamart 1 Datamart 2 Datamart 3

Page 51: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

Data warehouse : projeto bem definido.

Top-down

Projeto Top-down

Datamart 1 Datamart 2 Datamart 3

....

Datamart n

Page 52: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

Data warehouse : projeto bem definido.

Top-down

Projeto Top-down

Datamart 1 Datamart 2 Datamart 3

....

Datamart n

Esforço reduzido de consolidação modelo de dados universal e bem definido.

Page 53: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

Projeto Top-down vs Bottom-up

Bottom-up Top-down

Consistência via manutenção constante

Alta consistência

Expansão custosaExpansão com novos DMs

facilitada

Custo diluído ao longo do tempo

Inicialmente custosa

Natural em organizações Rara em start-ups

Baixa latência Alta latência

Page 54: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

Conceitos vistos

� Data warehouse� OLTP� ETL� Dicionário de dados� DW vs BD� Datamart� Projeto Bottom-up vs Top-down

Page 55: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

OLAP – Online Analytical Processing

Page 56: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

OLAP

� Definição: uma categoria de tecnologia de software que visa à compreensão de dados

� Provê: acesso rápido, consistente e interativo

� DW e OLAP, em muitos casos, conceitos indissociáveis

Page 57: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

OLAP - FASMI

� FASMI: Fast Analysis of Multidimensional Information

� Fast: agilidade em responder consultas

� Analysis: versatilidade analítica� Shared: dados/analistas múltiplos� Multidimensional: orientado a

dimensões de dados� Information: propósito fim

Page 58: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

Cubo de dados OLAP

Page 59: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

Cubo de dados

101 110240

190 90150 204

35 8783 90

35 4519 27

Page 60: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

� Estrutura básica da prática de OLAP� Observam-se

� As dimensões dos dados� As medidas sobre os dados� O cubo é orientado a planos (faces)� Apesar da complexidade dos sistemas OLAP, seus

objetivos analíticos são básicos: contagem, média, máximo, mínimo, soma, ...

Agregação, rápida e flexível, sobre imensos volumes de dados

Cubo de dados

Page 61: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

Cubo de dados - slicing

� Pode ser interessante ver o cubo a partir de diferentes perspectivas (planos)

� Operações sobre o cubo: slicing, dicing e rotating (pivoting)

Page 62: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

Cubo de dados - slicing

• A operação de slicing equivale a fatiar o cubo, definindo um novo plano de apreciação dos dados

• A operação geométrica é apenas uma analogia, o slicing dispara o processamento OLAP para calcular o novo plano

Page 63: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

Cubo de dados - slicing

Dados calculados e acessíveis ao analista.

• A operação de slicing equivale a fatiar o cubo, definindo um novo plano de apreciação dos dados

• A operação geométrica é apenas uma analogia, o slicing dispara o processamento OLAP para calcular o novo plano

Page 64: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

Exemplo de dado calculado: quantas TVs de plasma foram vendidas em 2002 na região SE?

Cubo de dados - slicing

• A operação de slicing equivale a fatiar o cubo, definindo um novo plano de apreciação dos dados

• A operação geométrica é apenas uma analogia, o slicing dispara o processamento OLAP para calcular o novo plano

Page 65: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

Exemplo de dado calculado: quantas TVs de plasma foram vendidas em 2002 na região SE?

Cubo de dados - slicing

• A operação de slicing equivale a fatiar o cubo, definindo um novo plano de apreciação dos dados

• A operação geométrica é apenas uma analogia, o slicing dispara o processamento OLAP para calcular o novo plano

Page 66: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

• A operação de dicing é semelhante ao slicing, mas usa dois, ou mais, planos de corte

Dados calculados e acessíveis ao analista.Dicing conseguido com 5 planos de corte.

Cubo de dados - slicing

Page 67: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

• A operação de dicing é semelhante ao slicing, mas usa dois, ou mais, planos de corte

Dados calculados e acessíveis ao analista.Dicing conseguido com 5 planos de corte.

Exemplo de dado calculado: quantas Celulares foram vendidas em 2001 na região CO?

Cubo de dados - slicing

Page 68: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

• A operação de dicing é semelhante ao slicing, mas usa dois, ou mais, planos de corte

Dados calculados e acessíveis ao analista.Dicing conseguido com 5 planos de corte.

Exemplo de dado calculado: quantas Celulares foram vendidas em 2001 na região CO?

Cubo de dados - slicing

Page 69: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

Cubo de dados - rotating

• A operação de rotating muda a perspectica do cubo todo.

Novo plano: Produto x TempoDados calculados e acessíveis ao analista.

Page 70: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

Cubo de dados - rotating

• A operação de rotating muda a perspectica do cubo todo.

Novo plano: Produto x TempoDados calculados e acessíveis ao analista.

Obviamente refere-se a cubo apenas para fins didáticos – aplicações de DW/OLAP geralmente envolvem

mais do que 3 dimensões, definindo hipercubos.

Page 71: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

Modelo de dados dimensional

Page 72: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

OLAP e DW

� OK, mas e o DW, onde entra nisso tudo?

O modelo de dados do DW é orientado a servir a análise baseada em Dimensões de dados

Page 73: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

Modelo de dados DW

Banco de dados operacional

Esquema complexo

Data Warehouse

FATOS

Esquemaestrela

Page 74: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

Modelo de dados DW

Banco de dados operacional

Esquema complexo

Data Warehouse

FATOS

Esquemaestrela

Page 75: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

Banco de dados operacional

Esquema complexo(normalizado)

Esquema floco de neve

(snow flake)

Data Warehouse

Modelo de dados DW

FATOS

Page 76: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

� Exemplo Estrela:

Tempo

t_chave

Ano

Trimestre

Mes

Produto

p_chave

Tipo

Fabricante

Modelo

Local

l_chave

Regiao

Cidade

Loja

Fatos

t_chave

p_chave

l_chave

Nro_unidades

Valor

Assist_tecnica

Modelo de dados dimensional

Page 77: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

� Exemplo:

Tempo

t_chave

Ano

Trimestre

Mes

Produto

p_chave

Tipo

Fabricante

Modelo

Local

l_chave

Regiao

Cidade

Loja

Fatos

t_chave

p_chave

l_chave

Nro_unidades

Valor

Assist_tecnica

Modelo de dados dimensional

Exemplo: Quantas vendas e qual valor de vendas ocorreram considerando Ano, Tipo de Produto e Região?

SELECT Tempo.Ano, Produto.Tipo, Local.Regiao, Sum(Nro_unidades), Sum(valor)FROM Fatos, Tempo, Produto, LocalWHERE Fatos.t_chave = Tempo.t_chave AND Fatos.p_chave = Produto.p_chave AND Fatos.l_chave = Local.l_chaveGROUP BY Tempo.Ano, Produto.Tipo, Local.Regiao

Page 78: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

79

Exemplo Snowflake

Modelagem de Dados para DW

79

(Elm

as

ri e

Na

vath

e,

20

05

)

Page 79: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

Modelo de dados dimensional

� Cubo de dados: análise dimensional das medidas (dados)

� DW: modelo de dados dimensional� Dimensões: dão contexto aos fatos� Fatos: números transacionais

Page 80: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

� Observe que as dimensões dos dados possuem uma hierarquia categórica

� Por exemplo:� Tempo(Ano, Trimestre, Mês)

Modelo de dados dimensional

Page 81: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

� Hierarquia das dimensões: apreciação dos dados em diferentes granularidades. Exemplo:

� Itens_vendidos(ano) > Itens_vendidos(Trimestre)

� Itens_vendidos(Trimestre) > Itens_vendidos(Mês)

� Duas outras operações muito importantes� Drill down� Roll up

Modelo de dados dimensional

Page 82: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

Drill down / Roll up

� Drill-down e roll-up: navegação ao longo dos níveis hierárquicos das dimensões

� Exemplo

Itens_vendidos(Região) Itens_vendidos(Cidade)Drill-down

Roll-up

Page 83: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

Drill down / Roll up

Drill-down sobre as três dimensões

simultaneamente.

Page 84: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

Drill down / Roll up

Drill-down sobre as três dimensões

simultaneamente.

Exemplo: Quantas vendas e qual valor de vendas ocorreram considerando Ano, Tipo de Produto e Região?

Drill Down em todas as dimensões Quantas vendas e qual valor de vendas ocorreram considerando Trimestre, Fabricante e Cidade?

SELECT Tempo.Ano, Tempo.Trimestre, Produto.Tipo, Produto.Fabricante, Local.Regiao Local.Cidade, Sum(Nro_unidades), Sum(valor)FROM Fatos, Tempo, Produto, LocalWHERE Fatos.t_chave = Tempo.t_chave AND Fatos.p_chave = Produto.p_chave AND Fatos.l_chave = Local.l_chaveGROUP BY Tempo.Ano, Tempo.Trimestre, Produto.Tipo, Produto.Fabricante, Loca.Regiao, Local.Cidade

Page 85: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

Drill down / Roll up

Drill-down sobre as três dimensões

simultaneamente.

Exemplo: Quantas vendas e qual valor de vendas ocorreram considerando Ano, Tipo de Produto e Região?

Drill Down em todas as dimensões Quantas vendas e qual valor de vendas ocorreram considerando Trimestre, Fabricante e Cidade e considerando um slicing de ano entre 2001 e 2002?

SELECT Tempo.Trimestre, Produto.Fabricante, Local.Cidade, Sum(Nro_unidades), Sum(valor)FROM Fatos, Tempo, Produto, LocalWHERE Fatos.t_chave = Tempo.t_chave AND Fatos.p_chave = Produto.p_chave AND Fatos.l_chave = Local.l_chave AND Tempo.Ano between 2001 AND 2002GROUP BY Tempo.Trimestre, Produto.Fabricante, Local.Cidade

Page 86: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

OLAP - Agregação

Page 87: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

Mais do que cubinhos, o OLAP/DW é uma tecnologia sofisticada que visa responder às diferentes possibilidades e níveis de agregação de maneira rápida e precisa.

OLAP - Agregação

Page 88: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

Síntese

http://etl-tools.info

Page 89: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

90

Relational OLAP (ROLAP) Recursos OLAP sobre SGBDs disparam todas as agregações

necessárias para se obter os resultados requisitados O OLAP não relacional, também é conhecido como

Multidimensional OLAP - MOLAP SQL:1999

ROLLUP e CUBE

90

SELECT …. FROM ….WHERE … GROUP BY CUBE (trim, região)

ex: selecionar total de vendas por trim. por região total de vendas por trim. total de vendas por região total geral de vendas

SELECT …. FROM ….WHERE … GROUP BY ROLLUP (trim, região)

ex: selecionar total de vendas por trim. por região total de vendas por trim. total geral de vendas

Page 90: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

91

Relational OLAP (ROLAP)

Sobre ROLLUP e CUBE ROLLUP e CUBE aplicados sobre k atributos ... GROUP BY CUBE (....)

é equivamente a agrupamentos sobre cada um dos 2k subconjuntos de atributos

ex: k=2 ⇒ ... GROUP BY CUBE (a,b) agrupamentos sobre: (a,b), (a), (b), (null) agrupamento em (null) é o total geral de vendas

Page 91: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

92

Relational OLAP (ROLAP)

(cont...) (cont...)

... GROUP BY CUBE (....) é equivamente a agrupamentos sobre cada um

dos 2k subconjuntos de atributos ex: k=3 ⇒ ... GROUP BY CUBE (a,b,c)

agrupamentos sobre: (a,b,c), (a,b), (a,c), (b,c) (a), (b),(c), (null)

Page 92: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

Relational OLAP (ROLAP)

Exemplo GROUP BY CUBE

SELECT Dept, Funcao,

COUNT(*), SUM(Salario)

FROM Empregados

GROUP BY CUBE(Dept, Funcao);

Dept Funcao COUNT(*) SUM(Salario)

------------------------------------------------

10 Secretario 1 100

10 Gerente 1 500

10 Presidente 1 900

10 3 1500

20 Analista 2 350

20 Secretario 2 240

20 Gerente 1 800

20 5 1390

Secretario 3 340

Gerente 2 1300

Presidente 1 500

Analista 2 350

8 2490

Page 93: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

94

Relational OLAP (ROLAP)

(cont...) (cont...) ... GROUP BY ROLLUP (....)

é equivamente a agrupamentos em k+1 subconjuntos:

k=2 ⇒ ... GROUP BY ROLLUP (a,b) agrupamentos sobre: (a,b), (a), (null) agrupamento em (null) é o total geral de vendas

k=3 ⇒ ... GROUP BY ROLLUP (a,b,c) agrupamentos sobre: (a,b,c), (a,b), (a), (null)

Page 94: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

95

Ferramentas

Ferramentas de suporte à criação e manutenção de DW

Ferramentas OLAP Ferramentas de BI …

95

Page 95: Dawarehouse e OLAP

http://www.icmc.usp.br/pessoas/junio/Site/index.htm

96

Referências

ELMASRI, R; NAVATHE, S.B. Sistemas de Banco de Dados, Addison Wesley, 4a edição, 2005.

Ramakrishnan R.; Gehrke, J. Database Management Systems, Mc Graw Hill, 2000.

96