dawarehouse e olap
DESCRIPTION
Dawarehouse e OLAPTRANSCRIPT
http://www.icmc.usp.br/pessoas/junio/Site/index.htm
Data Warehouse e OLAP
Prof. Jose Fernando Rodrigues Junior
1
http://www.icmc.usp.br/pessoas/junio/Site/index.htm
Introdução
http://www.icmc.usp.br/pessoas/junio/Site/index.htm
No início, uma única fonte de dados
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
http://www.icmc.usp.br/pessoas/junio/Site/index.htm
Mais tarde
Exemplo: primeira cidade ocupadapelo grupo Casas Bahia.
http://www.icmc.usp.br/pessoas/junio/Site/index.htm
E assim sucessivamente
Exemplo: primeiros estados ocupadospelo grupo Casas Bahia.
http://www.icmc.usp.br/pessoas/junio/Site/index.htm
Finalmente
Exemplo: Brasil (primeiro país?)ocupado pelo grupo Casas Bahia.
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?- ...
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.
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!!!
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...
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.
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?
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.
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?
http://www.icmc.usp.br/pessoas/junio/Site/index.htm
Mas há uma solução
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
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
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
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
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)
http://www.icmc.usp.br/pessoas/junio/Site/index.htm
Conceitos
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.
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!!!
http://www.icmc.usp.br/pessoas/junio/Site/index.htm
Sistemas OLTP
Extrair, transformar, carregar dados
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
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
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)
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
http://www.icmc.usp.br/pessoas/junio/Site/index.htm
Relação OLTP e OLAP
http://www.icmc.usp.br/pessoas/junio/Site/index.htm
Arquitetura de um data warehouse
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
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
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
http://www.icmc.usp.br/pessoas/junio/Site/index.htm
Data warehouse vs Banco de dados operacional
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
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
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
http://www.icmc.usp.br/pessoas/junio/Site/index.htm
Projeto de Data warehouses
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
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
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
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
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
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.
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.
http://www.icmc.usp.br/pessoas/junio/Site/index.htm
Data warehouse : projeto bem definido.
Top-down
Projeto Top-down
http://www.icmc.usp.br/pessoas/junio/Site/index.htm
Data warehouse : projeto bem definido.
Top-down
Projeto Top-down
Datamart 1
http://www.icmc.usp.br/pessoas/junio/Site/index.htm
Data warehouse : projeto bem definido.
Projeto Top-down
Datamart 1 Datamart 2
Top-down
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
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
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.
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
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
http://www.icmc.usp.br/pessoas/junio/Site/index.htm
OLAP – Online Analytical Processing
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
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
http://www.icmc.usp.br/pessoas/junio/Site/index.htm
Cubo de dados 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
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
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)
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
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
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
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
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
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
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
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.
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.
http://www.icmc.usp.br/pessoas/junio/Site/index.htm
Modelo de dados dimensional
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
http://www.icmc.usp.br/pessoas/junio/Site/index.htm
Modelo de dados DW
Banco de dados operacional
Esquema complexo
Data Warehouse
FATOS
Esquemaestrela
http://www.icmc.usp.br/pessoas/junio/Site/index.htm
Modelo de dados DW
Banco de dados operacional
Esquema complexo
Data Warehouse
FATOS
Esquemaestrela
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
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
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
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
)
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
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
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
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
http://www.icmc.usp.br/pessoas/junio/Site/index.htm
Drill down / Roll up
Drill-down sobre as três dimensões
simultaneamente.
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
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
http://www.icmc.usp.br/pessoas/junio/Site/index.htm
OLAP - Agregação
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
http://www.icmc.usp.br/pessoas/junio/Site/index.htm
Síntese
http://etl-tools.info
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
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
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)
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
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)
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
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