SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues...

95
SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1

Transcript of SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues...

Page 1: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

SCC0141 - Bancos de Dados e Suas Aplicações

Data Warehouse e OLAP

Prof. Jose Fernando Rodrigues Junior

1

Page 2: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

Introdução

Page 3: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

No início, uma única fonte de dados

Page 4: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

Exemplo: primeira loja do grupo Casas Bahia.

No início, uma única fonte de dados

Page 5: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

Mais tarde

Exemplo: primeira cidade ocupadapelo grupo Casas Bahia.

Page 6: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

E assim sucessivamente

Exemplo: primeiros estados ocupadospelo grupo Casas Bahia.

Page 7: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

Finalmente

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

Page 8: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

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: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

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: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

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: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

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: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

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: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

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: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

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: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

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.

Complicado.

Como fazer então?

Page 16: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

Mas há uma solução

Page 17: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

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: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

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: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

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: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

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: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

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: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

Conceitos

Page 23: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

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: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

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

NES

S IN

TELL

IGEN

CE!!!

Page 25: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

Sistemas OLTP

Extrair, transformar, carregar dados

Page 26: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

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

Sistemas OLTP

Extrair, transformar, carregar dados

Page 27: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

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: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

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 à ferramentas: mineração de dados, visualização e On-line Analytical Processing (OLAP)

Page 29: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

Objetivos Os termos Datawarehouse, OLTP e OLAP

não se refererem a software apenas

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: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

Relação OLTP e OLAP

Page 31: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

Arquitetura de um data warehouse

Page 32: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

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: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

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: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

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: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

Data warehouse vs Banco de dados operacional

Page 36: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

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: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

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: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

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 Intelligence

4. Dicionário de dados

Page 39: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

Projeto de Data warehouses

Page 40: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

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: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

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: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

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: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

Bottom-up

Projeto Bottom-up: exemplo, rede das casas Bahia

Datamart 1 Datamart 2 Datamart 3

....

Datamart n

Page 44: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

Bottom-up

Projeto Bottom-up: exemplo, rede das casas Bahia

Datamart 1 Datamart 2 Datamart 3

....

Datamart n

Page 45: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

Bottom-up

Projeto Bottom-up: exemplo, rede das casas Bahia

Datamart 1 Datamart 2 Datamart 3

....

Datamart n

Data warehouse : conjunto de pequenos sistemas de tratamento eanálise de dados.

Page 46: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

Bottom-up

Projeto Bottom-up: exemplo, rede das casas Bahia

Datamart 1 Datamart 2 Datamart 3

....

Datamart n

Data warehouse : conjunto de pequenos sistemas de tratamento eanálise de dados.

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

Page 47: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

Data warehouse : projeto bem definido.

Top-down

Projeto Top-down

Page 48: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

Data warehouse : projeto bem definido.

Top-down

Projeto Top-down

Datamart 1

Page 49: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

Data warehouse : projeto bem definido.

Projeto Top-down

Datamart 1 Datamart 2

Top-down

Page 50: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

Data warehouse : projeto bem definido.

Top-down

Projeto Top-down

Datamart 1 Datamart 2 Datamart 3

Page 51: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

Data warehouse : projeto bem definido.

Top-down

Projeto Top-down

Datamart 1 Datamart 2 Datamart 3

....

Datamart n

Page 52: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

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: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

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: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

Conceitos vistos

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

Page 55: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

OLAP – Online Analytical Processing

Page 56: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

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: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

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: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

Cubo de dados OLAP

Page 59: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

Cubo de dados

101 110240

190 90150 204

35 8783 90

35 4519 27

Page 60: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

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: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

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: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

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: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

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: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

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: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

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: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

• 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: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

• 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: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

• 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: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

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: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

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: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

Modelo de dados dimensional

Page 72: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

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: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

Modelo de dados DW

Banco de dados operacional

Esquema complexo

Data Warehouse

FATOS

Esquemaestrela

Page 74: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

Modelo de dados DW

Banco de dados operacional

Esquema complexo

Data Warehouse

FATOS

Esquemaestrela

Page 75: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

Banco de dados operacional

Esquema complexo(normalizado)

Esquema floco de neve

(snow flake)

Data Warehouse

Modelo de dados DW

FATOS

Page 76: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

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: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

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: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

79

Exemplo Snowflake

Modelagem de Dados para DW

79

(Elm

as

ri e

Na

va

the

, 2

00

5)

Page 79: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

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: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

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: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

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: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

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: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

Drill down / Roll up

Drill-down sobre as três dimensões

simultaneamente.

Page 84: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

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: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

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: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

OLAP - Agregação

Page 87: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

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: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

Síntese

http://etl-tools.info

Page 89: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

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: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

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: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

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: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

Relational OLAP (ROLAP)

Exemplo GROUP BY CUBESELECT 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 31500

20 Analista 2 350

20 Secretario 2 240

20 Gerente 1 800

20 51390

Secretario 3 340

Gerente 21300

Presidente 1 500

Analista 2 350

82490

Page 93: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

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: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

95

Ferramentas

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

Ferramentas OLAP Ferramentas de BI …

95

Page 95: SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

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