Stanley Robson de M. Oliveira
O que é uma ferramenta OLAP?Tipos de ferramentas OLAP.Requisitos de uma ferramenta OLAP.Operações básicas de OLAP.Consulta...
Na análise multidimensional, os dados sãorepresentados por meio de dimensões (tabelas).Combinando essas dimensões, o usuár...
O termo OLAP refere-se a um conjunto detecnologias para acesso e análise ad-hoc de dados.Aplicações OLAP são conhecidas co...
"ROLAP (OLAP Relacional):    Acessam bancos de dados relacionais.MOLAP (OLAP Multidimensional):    Acessam bancos de dados...
$%Rapidez de Cálculo e Acesso:  A rapidez na execução de consultas é um fator crítico quando  levamos em consideração o vo...
$% Flexibilidade:   Flexibilidade de visualização é o poder de escolher a forma   através da qual a informação será aprese...
$%Suporte a múltiplos usuários:  O desafio das ferramentas OLAP é que os múltiplos  acessos aos dados não afetem a perform...
)*         +1.    O que é uma ferramenta OLAP?2.    Explique a diferença entre:     a)   ROLAP     b)   MOLAP     c)   HOL...
Stanley Robson de M. Oliveira
-                   .Exemplo de dados de vendas representados por umCUBO de dados.                                        ...
-        .        $                               /A medida (volume de vendas) é determinada pelacombinação de três dimens...
/Imagine você analisando um cubo.Você fatia os dados e as dimensões que quiser analisar,observar ou estudar.              ...
-    -0           $      1São operações para movimentar a visão dos dados aolongo dos níveis hierárquicos de uma dimensão....
$    1Exemplo de uma operação de Roll Up utilizando adimensão Tempo.    Volume de Produção                     2004       ...
-    -0Exemplo de uma operação de Drill Down utilizando adimensão localização geográfica.    Volume de Produção   Telefone...
2        3          -             -0                  $       1Drill Down: aumentar o nível de detalhe.Roll Up: diminuir o...
-Ocorre quando o usuário pula um nível intermediário dentro deuma mesma dimensão.O usuário executa um Drill Across quando ...
-   "4       4Ocorre quando um usuário passa de umainformação contida em uma dimensão parauma outra.Exemplo: um usuário es...
2            -São operações para realizar navegação por meio dosdados na visualização de um cubo.Slice and Dice é o mesmo ...
2              -        6Utilizando as operações Slice and Dice, conseguimos ver ainformação de ângulos que anteriormente ...
2               -        6Tabela 1 apresenta as vendas de celulares e pagers.Tabela 2 representa uma fatia dos dados (oper...
2              -        6Dice é a mudança de perspectiva da visão.É a extração de um subcubo ou a interseção de vários sli...
2                 -            6  Estávamos visualizando e analisando no sentido estado, cidade,  ano, modelo de produto e...
7É o ângulo pelo qual os dados são vistos.Na prática, corresponde à modificação das dimensões em um gráficoou troca de lin...
Stanley Robson de M. Oliveira
89                        2Algumas consultas OLAP não podem ser facilmenteformuladas em SQL.Exemplos:  Consultas que ranqu...
89                                2        :                                                         ::   Dimensão    Temp...
/ ; /<Em geral, se há K dimensões, temos 2k possíveisconsultas SQL GROUP BY que podem ser geradasatravés de pivoting em um...
/ ; / <:                              ::O relacionamento das 8 consultas possíveis no CUBOpode ser representado por um ret...
)*           =>             )                   . Elementos participantes de uma venda:     Quando foi realizada a venda? ...
)*              =>       )                .Modelo físico (nível de implementação).     Tempo                              ...
)*           =" /                         .                 ;                                                            ,...
1           21.   Qual o total de vendas durante todo o período?     SELECT SUM(total_venda) FROM vendas;2.   Qual o total...
1            2      :                                              ::4.   Qual o total de vendas do vendedor 1 no último t...
)*                               1           2     :                                                   ::7.   Qual o total...
Stanley Robson de Medeiros Oliveira
?Existem várias maneiras de se classificar umaferramenta OLAP quanto à sua arquitetura.Em geral, a classificação de ferram...
>Ferramentas MOLAP acessam bancos de dadosmultidimensionais.Ao invés de acessarem tabelas relacionais, MOLAPextraem inform...
>            :                               ::Vantagens do uso de ferramentas MOLAP:  O tempo de resposta é bem mais rápi...
$As ferramentas ROLAP (OLAP Relacionais) nãoutilizam os cubos pré–calculados.A característica principal das ferramentas RO...
$          :                            ::Os usuários típicos de ROLAP:  Usuários da área de Marketing;  Estão sempre busc...
>          7           $O desenvolvimento MOLAP é mais fácil, pois aferramenta realiza as agregações sozinha e nãorequer t...
>          7            $            :                                     ::Os argumentos usados pelos fabricantes dessas...
? 8 %        9                    @Outra classificação das ferramentas OLAP dizrespeito às funcionalidades.Existem três fu...
? 8 %         9                     @A estrutura clássica de um ambiente cliente-servidor colocaa interface exclusivamente...
? 8 %         9                    @Ferramentas OLAP multidimensionais possuem umaarquitetura de duas camadas.O banco de d...
? 8 %         9                     @As ferramentas OLAP relacionais geralmente têm umaarquitetura de três camadas: banco ...
)*       +1.   Qual é a diferença básica entre ferramentas MOLAP e     ROLAP?2.   Cite uma vantagem e uma desvantagem do u...
)* Para exemplos de ferramentas OLAP e ferramentas de Data Warehouse, favor consultar:     Capítulo 16 do livro “Tecnologi...
Próximos SlideShares
Carregando em…5
×

Olap 1p

2.027 visualizações

Publicada em

  • Seja o primeiro a comentar

Olap 1p

  1. 1. Stanley Robson de M. Oliveira
  2. 2. 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.
  3. 3. Na análise multidimensional, os dados sãorepresentados por meio de dimensões (tabelas).Combinando essas dimensões, o usuário tem umavisão dos dados de um Data Warehouse.A análise multidimensional possibilita operaçõestí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.
  4. 4. O termo OLAP refere-se a um conjunto detecnologias para acesso e análise ad-hoc de dados.Aplicações OLAP são conhecidas como queriescomplexas.O objetivo final de uma ferramenta OLAP é darsuporte a decisões gerenciais de forma amigável eflexível, em tempo hábil.Em termos de SQL, OLAP envolve “group by”eoperadores de agregação.
  5. 5. "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. !
  6. 6. $%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. #
  7. 7. $% 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. &
  8. 8. $%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.
  9. 9. )* +1. O que é uma ferramenta OLAP?2. Explique a diferença entre: a) ROLAP b) MOLAP c) HOLAP d) DOLAP3. Quais são os requisitos básicos para uma ferramenta OLAP? (
  10. 10. Stanley Robson de M. Oliveira
  11. 11. - .Exemplo de dados de vendas representados por umCUBO de dados. Medidas Dimensão Localização Hierarquia de dimensão Estado Cidade Campinas SP Americana Dimensão Niterói tempo RJ Campos 1101 1102 2001 2002 Modelo de produto Hierarquia Membros de Celular da dimensão dimensão Pager Produto ,,
  12. 12. - . $ /A medida (volume de vendas) é determinada pelacombinação de três dimensões: localização, produto etempo.As dimensões localização e produto possuem doisní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 quantidadede venda.Exemplo: em um período específico, na cidade deCampinas, estado de SP, foram vendidos 11.000telefones do modelo 1101. ,
  13. 13. /Imagine você analisando um cubo.Você fatia os dados e as dimensões que quiser analisar,observar ou estudar. ,
  14. 14. - -0 $ 1São operações para movimentar a visão dos dados aolongo dos níveis hierárquicos de uma dimensão.Drill down ocorre quando o usuário aumenta o nível dedetalhe da informação, diminuindo o nível degranularidade.Roll up ocorre quando o usuário aumenta o nível degranularidade, diminuindo o nível de detalhe dainformação.Os caminhos de navegação são determinados pelashierarquias de dimensão. ,
  15. 15. $ 1Exemplo de uma operação de Roll Up utilizando adimensão Tempo. Volume de Produção 2004 (em milhares) Trim. 1 Trim. 2 Trim. 3 Trim. 4 Região RS 78 67 22 56 Sul SC 90 67 88 99 Roll Up Dimensão Tempo Volume de Produção 2004 (em milhares) Janeiro Fevereiro Março Região RS 30 26 22 Sul SC 28 30 32 ,!
  16. 16. - -0Exemplo de uma operação de Drill Down utilizando adimensão localização geográfica. Volume de Produção Telefone Celular Pagers (em milhares) 1001 1002 2001 2002 Região RS 33 12 8 12 Sul SC 45 34 20 23 Drill Down Dimensão localização geográfica Membro RS Volume de Produção Telefone Celular Pagers (em milhares) 1001 1002 2001 2002 Canoas 13 4 2 5 RS Porto Alegre 20 8 6 7 ,#
  17. 17. 2 3 - -0 $ 1Drill Down: aumentar o nível de detalhe.Roll Up: diminuir o nível de detalhe. Estado Drill Down Roll Up Cidade Cidade Cidade Cidade Cidade ,&
  18. 18. -Ocorre quando o usuário pula um nível intermediário dentro deuma mesma dimensão.O usuário executa um Drill Across quando ele passar de anodireto para trimestre ou mês. Volume de Produção Telefone Celular Pagers (em milhares) 1001 1002 2001 2002 Região RS 33 12 8 12 Sul SC 45 34 20 23 Drill Across Dimensão localização geográfica Membro RS (de ano para mês) Volume de Produção Telefone Celular Pagers (em milhares) Janeiro 01 Janeiro 02 Janeiro 01 Janeiro 02 Região RS 2 4 1 4 Sul SC 5 3 3 2 ,
  19. 19. - "4 4Ocorre quando um usuário passa de umainformação contida em uma dimensão parauma outra.Exemplo: um usuário está na dimensão tempoe, no próximo passo, começa a analisar ainformação por região. ,(
  20. 20. 2 -São operações para realizar navegação por meio dosdados na visualização de um cubo.Slice and Dice é o mesmo que filtrar. 5
  21. 21. 2 - 6Utilizando as operações Slice and Dice, conseguimos ver ainformação de ângulos que anteriormente inexistiam sem aimplementação de um DW e a utilização de uma ferramenta OLAP.Slice é operação que corta o cubo, mas mantém a mesmaperspectiva de visualização dos dados. ,
  22. 22. 2 - 6Tabela 1 apresenta as vendas de celulares e pagers.Tabela 2 representa uma fatia dos dados (operação que visualizasomente a produção de um tipo de produto – celulares). Volume de Produção Celulares e Pagers (em milhares) Janeiro Fevereiro Março Região RS 30 26 22 Sul SC 28 30 32 Tabela 1 Volume de Produção Celulares (em milhares) Janeiro Fevereiro Março Região RS 22 18 18 Sul SC 19 27 25 Tabela 2
  23. 23. 2 - 6Dice é 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.
  24. 24. 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). 2006 Volume de Produção Telefone Celular Pagers (em milhares)Tabela 1 1001 1002 2001 2002 Canoas 13 4 2 5 RS Porto Alegre 20 8 6 7 2006 Volume de Produção RS (em milhares) Canoas Porto AlegreTabela 2 1001 13 20 Telefone Celular 1002 4 8 2001 2 6 Pagers 2002 5 7
  25. 25. 7É o ângulo pelo qual os dados são vistos.Na prática, corresponde à modificação das dimensões em um gráficoou troca de linhas por colunas em uma tabela.É uma característica de planilhas eletrônicas, a sua capacidade derealizar slice.Pivot representa agregações em dimensões selecionadas.Exemplo: “Pivoting” em Local e Tempo resulta na seguinte tabulaçãocruzada: Dimensão local Dimensão Tempo !
  26. 26. Stanley Robson de M. Oliveira
  27. 27. 89 2Algumas consultas OLAP não podem ser facilmenteformuladas em SQL.Exemplos: Consultas que ranqueiam resultados; Consultas que envolvem operações baseadas no tempo.Um grande número de consultas podem serformulada usando SQL.As consultas formuladas em SQL, envolvem: “grouping” e “aggregation” &
  28. 28. 89 2 : :: Dimensão Tempo Dimensão localSELECT SUM(S.sales)FROM Sales S, Times T, Locations L A tabulação cruzadaWHERE S.timeid=T.timeid AND S.timeid=L.timeid da operação PivotGROUP BY T.year, L.stateSELECT SUM(S.sales) SELECT SUM(S.sales)FROM Sales S, Times T FROM Sales S, Location LWHERE S.timeid=T.timeid WHERE S.timeid=L.timeidGROUP BY T.year GROUP BY L.stateValores agregados por ano Valores agregados por estado
  29. 29. / ; /<Em geral, se há K dimensões, temos 2k possíveisconsultas SQL GROUP BY que podem ser geradasatravé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) As consultas diferem somente FROM Sales S na seleção das dimensões: GROUP BY grouping-list grouping-list (
  30. 30. / ; / <: ::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 5
  31. 31. )* => ) . Elementos participantes de uma venda: Quando foi realizada a venda? Onde foi realizada a venda? Quem realizou a venda? O que foi vendido? Onde? Quando? Vendas Quem? O quê? ,
  32. 32. )* => ) .Modelo físico (nível de implementação). Tempo Vendedor Cod_Tempo Cod_Vendedor Vendas Ano Nome_Vendedor Trimestre Cod_Tempo Mes Cod_Local Data Cod_Produto Cod_Vendedor Qtde_Produto Total_Venda Local Cod_Local Produto Cod_Produto Regiao Estado Tipo_Produto Cidade Nome_Produto
  33. 33. )* =" / . ; , < Cod_Local Cod_Vendedor Cod_Periodo Cod_Produto Total_Venda 1 1 1 A 15.350,00 2 1 2 B 8.975,00 3 1 3 C 550,00 4 1 4 D 7.500,00 1 1 5 B 25.000,00 2 1 6 C 3.450,00 3 1 7 D 35.000,00 4 1 8 A 4.300,00 1 1 9 B 11.450,00 2 1 10 C 12.800,00 3 1 11 D 13.100,00 4 1 12 A 6.500,00 1 2 1 A 2.700,00 2 2 2 B 5.400,00 3 2 3 C 8.900,00 4 2 4 D 14.700,00 1 2 5 A 76.400,00 2 2 6 B 9.150,00 3 2 7 C 32.100,00
  34. 34. 1 21. 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);
  35. 35. 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; !
  36. 36. )* 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 vendas WHERE 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 vendas WHERE cod_vendedor = 2 AND (cod_produto = A OR cod_produto = D) GROUP BY cod_local; #
  37. 37. Stanley Robson de Medeiros Oliveira
  38. 38. ?Existem várias maneiras de se classificar umaferramenta OLAP quanto à sua arquitetura.Em geral, a classificação de ferramentas considera otipo de dados acessado e o processamentodesses dados.Quanto aos dados acessados, podemos classificaras ferramentas como: MOLAP ou OLAP Multidimensional; ROLAP ou OLAP Relacional; HOLAP ou OLAP híbrido.
  39. 39. >Ferramentas MOLAP acessam bancos de dadosmultidimensionais.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. (
  40. 40. > : ::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 nocaso 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. 5
  41. 41. $As ferramentas ROLAP (OLAP Relacionais) nãoutilizam 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 dedetalhe mais baixos.Ferramentas ROLAP atendem melhor usuários quenão têm um escopo de análise bem definido. ,
  42. 42. $ : ::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 detabelas agregadas: Positivo: diminuem o tempo de resposta; Negativo: ocupam um grande espaço em disco e exigem um certo esforço de manutenção.
  43. 43. > 7 $O desenvolvimento MOLAP é mais fácil, pois aferramenta realiza as agregações sozinha e nãorequer tuning específico do BD multidimensional.Já o desenvolvimento ROLAP requer: Um projeto lógico específico (star ou snowflake schema); Tuning do banco de dados relacional; Criação e manutenção das tabelas sumarizadas.
  44. 44. > 7 $ : ::Os argumentos usados pelos fabricantes dessasferramentas 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.
  45. 45. ? 8 % 9 @Outra classificação das ferramentas OLAP dizrespeito às funcionalidades.Existem três funções básicas inerentes a quasetodos os sistemas: Interface com o usuário; Gerenciamento do processamento ou camada lógica do sistema; Gerenciamento (acesso e armazenamento) dos dados. !
  46. 46. ? 8 % 9 @A estrutura clássica de um ambiente cliente-servidor colocaa interface exclusivamente no cliente.O gerenciamento dos dados fica no servidor para garantir ocompartilhamento dos dados.O processamento é distribuído entre o cliente e o servidor. #
  47. 47. ? 8 % 9 @Ferramentas OLAP multidimensionais possuem umaarquitetura de duas camadas.O banco de dados multidimensional realiza as tarefas dearmazenamento de dados, acesso e recuperação deregistros, etc.Ao cliente, cabem todas as funcionalidades de interface. &
  48. 48. ? 8 % 9 @As ferramentas OLAP relacionais geralmente têm umaarquitetura de três camadas: banco de dados relacional,mecanismo OLAP e interface (front-end).Através da interface, atuando como cliente, acessamos omecanismo OLAP, responsável por acessar o banco de dadose multidimensionalizar esses dados para consulta.O processamento fica dividido entre o mecanismo OLAP e ocliente.
  49. 49. )* +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? (
  50. 50. )* 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. !5

×