50
Stanley Robson de M. Oliveira

Olap 1p

  • Upload
    valldo

  • View
    925

  • Download
    5

Embed Size (px)

Citation preview

Page 1: Olap 1p

���������������� ���� ������

Stanley Robson de M. Oliveira

Page 2: Olap 1p

������� �������� �������������

��������������������

� O que é uma ferramenta OLAP?

� Tipos de ferramentas OLAP.

� Requisitos de uma ferramenta OLAP.

� Operações básicas de OLAP.

� Consultas OLAP.

� Arquitetura de uma ferramenta OLAP.

� MOLAP versus ROLAP.

Page 3: Olap 1p

������� �������� �������������

����

� Na análise multidimensional, os dados são representados por meio de dimensões (tabelas).

� Combinando essas dimensões, o usuário tem uma visão dos dados de um Data Warehouse.

� A análise multidimensional possibilita operações típicas, tais como:� Os dez maiores (Ex.: produtos mais vendidos);� Comparações de valores entre períodos;� Percentual de variação;� Médias, somas ou valores cumulativos.

Page 4: Olap 1p

������� �������� �������������

���������������������������

� O termo OLAP refere-se a um conjunto de tecnologias para acesso e análise ad-hoc de dados.

� Aplicações OLAP são conhecidas como queries complexas.

� O objetivo final de uma ferramenta OLAP é dar suporte a decisões gerenciais de forma amigável e flexível, em tempo hábil.

� Em termos de SQL, OLAP envolve “group by”e operadores de agregação.

Page 5: Olap 1p

!������ �������� �������������

"�����������������������

� ROLAP (OLAP Relacional):� Acessam bancos de dados relacionais.

� MOLAP (OLAP Multidimensional):� Acessam bancos de dados multidimensionais por

meio de cubos e hipercubos.

� HOLAP (OLAP Híbrida):

� Permitem tanto acesso aos bancos de dados relacionais como aos multidimensionais.

� DOLAP (OLAP Desktop):� Voltadas para computadores pessoais.

Page 6: Olap 1p

#������ �������� �������������

� Rapidez de Cálculo e Acesso: � A rapidez na execução de consultas é um fator crítico quando

levamos em consideração o volume de dados e as consultas envolvidas.

� Capacidade de Análise Avançada:� Uma ferramenta OLAP deve ser capaz de prover operações mais

sofisticadas.

� Exemplo: média ponderada, normalização, "ranking" (ordenação), valores acumulados no tempo, etc.

$�%������������������������������

Page 7: Olap 1p

&������ �������� �������������

� Flexibilidade:

� Flexibilidade de visualização é o poder de escolher a forma através da qual a informação será apresentada (Ex.: tabelas, matrizes, gráficos, etc).

� Flexibilidade de definição ao usuário significa lhe dar permissão de mudar o conteúdo de descritores, formatar a apresentação de células, definir fórmulas, etc.

� Flexibilidade de análise é a possibilidade de definição das operações que serão executadas em uma consulta por parte do usuário.

� Flexibilidade de interface é o que usualmente chamamos de interface intuitiva e amigável.

$�%������������������������������

Page 8: Olap 1p

'������ �������� �������������

� Suporte a múltiplos usuários:

� O desafio das ferramentas OLAP é que os múltiplos acessos aos dados não afetem a performance das consultas de forma significativa.

$�%������������������������������

Page 9: Olap 1p

(������ �������� �������������

)*���+���

1. O que é uma ferramenta OLAP?

2. Explique a diferença entre:

a) ROLAPb) MOLAPc) HOLAPd) DOLAP

3. Quais são os requisitos básicos para uma ferramenta OLAP?

Page 10: Olap 1p

������������� ���������

Stanley Robson de M. Oliveira

Page 11: Olap 1p

,,������ �������� �������������

� Exemplo de dados de vendas representados por umCUBO de dados.

-��������.�������������������������

Campinas

Americana

Niterói

Campos

SP

RJ

Estado Cidade

Dimensão LocalizaçãoHierarquia de dimensão

Membros dedimensão

1101 1102 2001 2002

Celular Pager

Medidas

Dimensão tempo

Modelo de produto

Produto

Hierarquiada dimensão

Page 12: Olap 1p

,������� �������� �������������

� A medida (volume de vendas) é determinada pela combinação de três dimensões: localização, produto etempo.

� As dimensões localização e produto possuem dois níveis de hierarquia.

� A dimensão tempo teria os números dos anos de venda, tais como 2003, 2004, 2005 e 2006.

� Cada subcubo possui o valor da medida de quantidade de venda.

� Exemplo: em um período específico, na cidade de Campinas, estado de SP, foram vendidos 11.000 telefones do modelo 1101.

-�������.�����$�������������� �����/�

Page 13: Olap 1p

,������� �������� �������������

��������������/�

� Imagine você analisando um cubo.� Você fatia os dados e as dimensões que quiser analisar,

observar ou estudar.

Page 14: Olap 1p

,������� �������� �������������

-��-�0����$��1�

� São operações para movimentar a visão dos dados ao longo dos níveis hierárquicos de uma dimensão.

� Drill down ocorre quando o usuário aumenta o nível de detalhe da informação, diminuindo o nível de granularidade.

� Roll up ocorre quando o usuário aumenta o nível de granularidade, diminuindo o nível de detalhe da informação.

� Os caminhos de navegação são determinados pelas hierarquias de dimensão.

Page 15: Olap 1p

,!������ �������� �������������

$��1�� Exemplo de uma operação de Roll Up utilizando a

dimensão Tempo.

RSSC

7890

6767

2288

5699

Trim. 1 Trim. 2 Trim. 3 Trim. 42004

RegiãoSul

Volume de Produção(em milhares)

RSSC

3028

2630

2232

Janeiro Fevereiro Março2004

RegiãoSul

Volume de Produção(em milhares)

Roll Up

Dimensão Tempo

Page 16: Olap 1p

,#������ �������� �������������

-��-�0�� Exemplo de uma operação de Drill Down utilizando a

dimensão localização geográfica.

Drill Down

Dimensão localização geográfica

Membro RS

RSSC

3345

1234

820

1223

1001 1002 2001 2002Telefone Celular

RegiãoSul

Volume de Produção(em milhares)

Pagers

CanoasPorto Alegre

1320

48

26

57

1001 1002 2001 2002Telefone Celular

RS

Volume de Produção(em milhares)

Pagers

Page 17: Olap 1p

,&������ �������� �������������

2����3�����-��-�0����$��1�� Drill Down: aumentar o nível de detalhe.� Roll Up: diminuir o nível de detalhe.

Cidade

Cidade

Cidade

Cidade

Cidade

Estado

Drill Down Roll Up

Page 18: Olap 1p

,'������ �������� �������������

-��������� Ocorre quando o usuário pula um nível intermediário dentro de

uma mesma dimensão.

� O usuário executa um Drill Across quando ele passar de anodireto para trimestre ou mês.

Drill Across

Dimensão localização geográfica

Membro RS (de ano para mês)

RSSC

3345

1234

820

1223

1001 1002 2001 2002Telefone Celular

RegiãoSul

Volume de Produção(em milhares)

Pagers

RSSC

25

43

13

42

Janeiro 01 Janeiro 02 Janeiro 01 Janeiro 02Telefone Celular

RegiãoSul

Volume de Produção(em milhares)

Pagers

Page 19: Olap 1p

,(������ �������� �������������

-��"4����4

� Ocorre quando um usuário passa de uma informação contida em uma dimensão para uma outra.

� Exemplo: um usuário está na dimensão tempoe, no próximo passo, começa a analisar a informação por região.

Page 20: Olap 1p

�5������ �������� �������������

2�������-��

� São operações para realizar navegação por meio dos dados na visualização de um cubo.

� Slice and Dice é o mesmo que filtrar.

Page 21: Olap 1p

�,������ �������� �������������

2�������-���6

� Utilizando as operações Slice and Dice, conseguimos ver a informação de ângulos que anteriormente inexistiam sem a implementação de um DW e a utilização de uma ferramenta OLAP.

� Slice é operação que corta o cubo, mas mantém a mesma perspectiva de visualização dos dados.

Page 22: Olap 1p

�������� �������� �������������

2�������-���6� Tabela 1 apresenta as vendas de celulares e pagers.

� Tabela 2 representa uma fatia dos dados (operação que visualiza somente a produção de um tipo de produto – celulares).

RSSC

3028

2630

2232

Janeiro Fevereiro MarçoCelulares e Pagers

RegiãoSul

Volume de Produção(em milhares)

Tabela 1

Tabela 2

RSSC

2219

1827

1825

Janeiro Fevereiro MarçoCelulares

RegiãoSul

Volume de Produção(em milhares)

Page 23: Olap 1p

�������� �������� �������������

2�������-���6� Dice é a mudança de perspectiva da visão.

� É a extração de um subcubo ou a interseção de vários slices.

� É como se girássemos o cubo em nossas mãos.

Page 24: Olap 1p

�������� �������� �������������

2�������-���6� Estávamos visualizando e analisando no sentido estado, cidade,

ano, modelo de produto e produto (Tabela 1).

� Dice é a mudança de perspectiva para modelo de produto,produto, ano, estado e cidade (Tabela 2).

CanoasPorto Alegre

1320

48

26

57

1001 1002 2001 2002Telefone Celular

RS

Volume de Produção(em milhares) Pagers

2006

Tabela 1

Tabela 2 10011002

134

208

Canoas Porto AlegreRS

Telefone Celular

Volume de Produção(em milhares)

2006

20012002

25

67

Pagers

Page 25: Olap 1p

�!������ �������� �������������

�7��

� É o ângulo pelo qual os dados são vistos.

� Na prática, corresponde à modificação das dimensões em um gráfico ou troca de linhas por colunas em uma tabela.

� É uma característica de planilhas eletrônicas, a sua capacidade de realizar slice.

� Pivot representa agregações em dimensões selecionadas.

� Exemplo: “Pivoting” em Local e Tempo resulta na seguinte tabulação cruzada:

Dimensão localDimensão

Tempo

Page 26: Olap 1p

������������

Stanley Robson de M. Oliveira

Page 27: Olap 1p

�&������ �������� �������������

�������89���������������2��

� Algumas consultas OLAP não podem ser facilmente formuladas em SQL.

� Exemplos:� Consultas que ranqueiam resultados;� Consultas que envolvem operações baseadas no

tempo.

� Um grande número de consultas podem ser formulada usando SQL.

� As consultas formuladas em SQL, envolvem:� “grouping” e “aggregation”

Page 28: Olap 1p

�'������ �������� �������������

�������89���������������2���:::

SELECT SUM(S.sales)FROM Sales S, Times T, Locations LWHERE S.timeid=T.timeid AND S.timeid=L.timeidGROUP BY T.year, L.state

SELECT SUM(S.sales)FROM Sales S, Times TWHERE S.timeid=T.timeidGROUP BY T.year

SELECT SUM(S.sales)FROM Sales S, Location LWHERE S.timeid=L.timeidGROUP BY L.state

Dimensão localDimensão

Tempo

Valores agregados por ano Valores agregados por estado

A tabulação cruzada da operação Pivot

Page 29: Olap 1p

�(������ �������� �������������

�������������/��;��/�<

� Em geral, se há K dimensões, temos 2k possíveis consultas SQL GROUP BY que podem ser geradas através de pivoting em um subconjunto de dimensões.

� CUBE pid, locid, timeid BY SUM Sales

� Equivalente a rolling up Sales em todos oitos subconjuntos do conjunto {pid, locid, timeid}; cada roll up corresponde a uma consulta SQL da forma:

SELECT SUM(S.sales)FROM Sales SGROUP BY grouping-list

As consultas diferem somente na seleção das dimensões:grouping-list

Page 30: Olap 1p

�5������ �������� �������������

�������������/��;��/�<�:::

� O relacionamento das 8 consultas possíveis no CUBOpode ser representado por um reticulado:

{pid, locid, timeid}

{pid, locid} {pid, timeid} {locid, timeid}

{pid} {locid} {timeid}

{ }

Reticulado das consultas GROUP BY em um CUBO

Page 31: Olap 1p

�,������ �������� �������������

)*����=�>�����)�����������.�����

� Elementos participantes de uma venda:� Quando foi realizada a venda?

� Onde foi realizada a venda?

� Quem realizou a venda?

� O que foi vendido?

Vendas

Onde?

Quem?

Quando?

O quê?

Page 32: Olap 1p

�������� �������� �������������

Modelo físico (nível de implementação).

Cod_TempoCod_LocalCod_ProdutoCod_Vendedor

Qtde_ProdutoTotal_Venda

VendasCod_Tempo

AnoTrimestreMesData

Cod_Local

RegiaoEstadoCidade

Tempo

Local

Cod_Vendedor

Nome_Vendedor

Vendedor

Cod_Produto

Tipo_ProdutoNome_Produto

Produto

)*����=�>�����)�����������.�����

Page 33: Olap 1p

�������� �������� �������������

)*����=�"�/������.������;,����<

32.100,00C723

9.150,00B622

76.400,00A521

14.700,00D424

8.900,00C323

5.400,00B222

2.700,00A121

6.500,00A1214

13.100,00D1113

12.800,00C1012

11.450,00B911

4.300,00A814

35.000,00D713

3.450,00C612

25.000,00B511

7.500,00D414

550,00C313

8.975,00B212

15.350,00A111

Total_VendaCod_ProdutoCod_PeriodoCod_VendedorCod_Local

Page 34: Olap 1p

�������� �������� �������������

��������������1������2��

1. Qual o total de vendas durante todo o período?SELECT SUM(total_venda) FROM vendas;

2. Qual o total de vendas do vendedor 1 no período?SELECT SUM(total_venda) FROM vendas WHERE cod_vendedor =1;

3. Qual o total de vendas do vendedor 2, no último trimestre?SELECT SUM(total_venda) FROM vendas WHERE cod_vendedor = 2 AND (cod_periodo = 10 OR cod_periodo = 11 OR cod_periodo = 12);

Page 35: Olap 1p

�!������ �������� �������������

��������������1������2���:::

4. Qual o total de vendas do vendedor 1 no último trimestre, no local 3?SELECT SUM(total_venda) FROM vendas WHERE cod_vendedor = 1 AND cod_local = 3 AND (cod_periodo = 10 OR cod_periodo = 11 OR cod_periodo = 12);

5. Qual o total de vendas do vendedor 2 no período, por produto?SELECT cod_produto, SUM(total_venda) FROM vendas WHERE cod_vendedor = 2 GROUP BY cod_produto;

6. Qual o total de vendas do vendedor 1 no período, por produto, por local?SELECT cod_local, cod_produto, SUM(total_venda) FROM vendas WHERE cod_vendedor = 1 GROUP BY cod_local, cod_produto;

Page 36: Olap 1p

�#������ �������� �������������

)*�����������������1������2���:::

7. Qual o total de vendas do produto A para o vendedor 1, no último semestre, por local?SELECT cod_local, SUM(total_venda) FROM vendasWHERE cod_vendedor = 1 AND cod_produto = 'A' AND (cod_periodo > 6 AND cod_periodo <= 12) GROUP BY cod_local;

8. Qual o total de vendas dos produtos A e D para o vendedor 2, no período, por local?SELECT cod_local, SUM(total_venda) FROM vendasWHERE cod_vendedor = 2 AND (cod_produto = 'A' OR cod_produto = 'D') GROUP BY cod_local;

Page 37: Olap 1p

����������������������������

Stanley Robson de Medeiros Oliveira

Page 38: Olap 1p

�'������ �������� �������������

����?�������������������������

� Existem várias maneiras de se classificar uma ferramenta OLAP quanto à sua arquitetura.

� Em geral, a classificação de ferramentas considera o tipo de dados acessado e o processamento desses dados.

� Quanto aos dados acessados, podemos classificar as ferramentas como:� MOLAP ou OLAP Multidimensional;

� ROLAP ou OLAP Relacional;

� HOLAP ou OLAP híbrido.

Page 39: Olap 1p

�(������ �������� �������������

������������>����

� Ferramentas MOLAP acessam bancos de dados multidimensionais.

� Ao invés de acessarem tabelas relacionais, MOLAPextraem informações de estruturas de dados pré–calculados (Cubos).

� Desvantagens do uso de ferramentas MOLAP:� Escalabilidade limitada, já que o tamanho do cubo fica

muito grande e sua carga muito demorada à medida em que adicionamos dimensões ou dados mais detalhados.

Page 40: Olap 1p

�5������ �������� �������������

� Vantagens do uso de ferramentas MOLAP:� O tempo de resposta é bem mais rápido do que o das

ferramentas que acessam tabelas relacionais.

� As ferramentas MOLAP se aplicam melhor no caso onde o usuário: � já tem definidas as dimensões e os conceitos com os

quais ele quer trabalhar, ou seja, tem o escopo de sua análise de dados já definida.

������������>�����:::

Page 41: Olap 1p

�,������ �������� �������������

� As ferramentas ROLAP (OLAP Relacionais) não utilizam os cubos pré–calculados.

� A característica principal das ferramentas ROLAP é o poder de fazer qualquer consulta.

� ROLAP não está limitada ao conteúdo de um "cubo" e à capacidade de navegar nos dados em níveis de detalhe mais baixos.

� Ferramentas ROLAP atendem melhor usuários que não têm um escopo de análise bem definido.

������������$����

Page 42: Olap 1p

�������� �������� �������������

� Os usuários típicos de ROLAP:� Usuários da área de Marketing;� Estão sempre buscando novos relacionamentos

entre as dimensões existentes.

� A desvantagem mais citada das ferramentas ROLAPé o seu tempo de resposta.

� Isso pode ser amenizado com a construção de tabelas agregadas:� Positivo: diminuem o tempo de resposta;� Negativo: ocupam um grande espaço em disco e

exigem um certo esforço de manutenção.

������������$�����:::

Page 43: Olap 1p

�������� �������� �������������

>�����7������$����

� O desenvolvimento MOLAP é mais fácil, pois a ferramenta realiza as agregações sozinha e não requer tuning específico do BD multidimensional.

� Já o desenvolvimento ROLAP requer:

� Um projeto lógico específico (star ou snowflakeschema);

� Tuning do banco de dados relacional;

� Criação e manutenção das tabelas sumarizadas.

Page 44: Olap 1p

�������� �������� �������������

>����7�����$�����:::

� Os argumentos usados pelos fabricantes dessas ferramentas são:

� Oferecer a escolha entre um banco de dados relacional e um banco de dados multidimensional;

� Carregar resultados de consultas relacionais em um banco de dados multidimensional, ou estrutura que simule a multidimensionalidade dos dados;

� Usar um banco de dados multidimensional p/ fazer um cache dos dados com maior nível de agregação;

� Usar um banco relacional para fazer um acesso dinâmico aos dados detalhados.

Page 45: Olap 1p

�!������ �������� �������������

� Outra classificação das ferramentas OLAP diz respeito às funcionalidades.

� Existem três funções básicas inerentes a quase todos os sistemas:

� Interface com o usuário;

� Gerenciamento do processamento ou camada lógica do sistema;

� Gerenciamento (acesso e armazenamento) dos dados.

����?��89��%������@������������

Page 46: Olap 1p

�#������ �������� �������������

� A estrutura clássica de um ambiente cliente-servidor coloca a interface exclusivamente no cliente.

� O gerenciamento dos dados fica no servidor para garantir o compartilhamento dos dados.

� O processamento é distribuído entre o cliente e o servidor.

����?��89��%������@������������

Page 47: Olap 1p

�&������ �������� �������������

� Ferramentas OLAP multidimensionais possuem uma arquitetura de duas camadas.

� O banco de dados multidimensional realiza as tarefas de armazenamento de dados, acesso e recuperação de registros, etc.

� Ao cliente, cabem todas as funcionalidades de interface.

����?��89��%������@������������

Page 48: Olap 1p

�'������ �������� �������������

� As ferramentas OLAP relacionais geralmente têm uma arquitetura de três camadas: banco de dados relacional, mecanismo OLAP e interface (front-end).

� Através da interface, atuando como cliente, acessamos o mecanismo OLAP, responsável por acessar o banco de dados e multidimensionalizar esses dados para consulta.

� O processamento fica dividido entre o mecanismo OLAP e o cliente.

����?��89��%������@������������

Page 49: Olap 1p

�(������ �������� �������������

)*���+���1. Qual é a diferença básica entre ferramentas MOLAP e

ROLAP?

2. Cite uma vantagem e uma desvantagem do uso de ferramentas MOLAP.

3. Quais seriam as melhores aplicações para ferramentas MOLAP?

4. Cite uma vantagem e uma desvantagem do uso de ferramentas ROLAP.

5. Quais seriam as melhores aplicações para ferramentas ROLAP?

6. Quantas camadas tem as ferramentas MOLAP e ROLAP, respectivamente? Quais são essas camadas?

Page 50: Olap 1p

!5������ �������� �������������

)*�������������������������

� Para exemplos de ferramentas OLAP e ferramentas de Data Warehouse, favor consultar:

� Capítulo 16 do livro “Tecnologia e Projeto de Data Warehouse: uma visão multidimensional”

Autor: Felipe Nery Rodrigues Machado.Editora Érica, 2004.