Arquitetura OLAP

Como não conheço nada sobre a arquitetura OLAP e preciso desse conteudo para realizar algumas provas de concurso, decidi fazer um resumo dos conteúdos importantes sobre esse assunto, e ao final pretendo colocar algumas questões de concursos que tratam sobre o assunto.

O OLAP é uma ferramenta de Business Intelligence utilizada nas corporações para apoiar a tomada de decisão transformando dados brutos em informação útil do ponto de vista gerencial.

O termo OLAP refere-se a um conjunto de ferramentas voltadas para acesso e análise local de dado, com esta ferramenta tornou-se possível efetuar cálculos complexos como previsões, percentuais de crescimento e médias diversas considerando-se a variável tempo.

É uma ferramenta muito importante no contexto gerencial, ajudando a analisar de forma mais eficiente, a quantidade de dados crescente armazenada pelas organizações, transformados-os em informação útil (THOMSEN, 2002).

As ferramentas OLAP proporcionam condições de análise de dados on-line necessárias para responder as possíveis perguntas dos analistas, gerentes e executivos (MACHADO, 2004).

São aplicações que os usuários finais têm acesso para extraírem os dados de suas bases e construir os relatórios capazes de responder as suas questões gerenciais. Elas surgiram juntamente com os Sistemas de Apoio à Decisão para fazerem a consulta e análise dos dados contidos nos Data Warehouses e Data Marts (DWBrasil OLAP, 2005).

Características:

Um conceito muito importante de ser entendido é o do Cubo de Dados: no OLAP é uma estrutura multidimensional que expressa a forma na qual os tipo de informações se relacionam entre si. É formado pela tabela de fatos e pelas tabelas de dimensão que a circundam e representam possíveis formas de visualizar e consulta os dados. O cubo armazena todas as informações relacionadas a um determinado assunto, de maneira a permitir que sejam montadas várias combinações entre elas, resultando na extração de várias visões sobre o mesmo tema (HOKAMA, 2004, p.49).

MDX é a linguagem de consulta comum em OLAP. É semelhante à SQL e foi projetada para Microsoft. Está sendo usada comercialmente desde 1998. A seguir são apresentados os tipo de operações a serem executadas no modelo OLAP:

  • Drill Down:
  • Aumento do nível de detalhe da informação e conseqüente diminuição do nível de granularidade. Ex: Uma análise de vendas por estado é alterada para uma análise de vendas das cidades de um determinado estado.
  • Drill Up:
  • Diminuição no nível de detalhe e conseqüente aumento do nível de granularidade. Ex.: Uma análise de vendas é alterada de uma cidade para seu estado correspondente.
  • Slice:
  • Corta o cubo, mas mantém a mesma perspectiva de visualização dos dados. Funciona como um filtro que restringe uma dimensão à apenas um ou alguns de seus valores. Ex.: Em uma dimensão tempo de um modelo é selecionado somente o ano de 2000.
  • Dice:
  • Mudança de perspectiva da visão multidimensional, como se o cubo fosse girado. Permite descobrir comportamentos e tendências entre os valores das medidas analisadas em diversas perspectivas. Ex.: A análise é alterada de região (linha) por ano (coluna) para ano (linha) por região (coluna).
  • Drill Across
  • O nível de análise dentro de uma mesma dimensão é alterado, ou seja, o usuário avança um nível intermediário dentro de uma mesma dimensão. Ex.: O nível da análise é alterado direto de ano para mês dentro da dimensão tempo, quando esta é composta por ano, semestre e mês.
  • Drill Around:
  • Ocorre quando a tabela de fatos que compartilha dimensões em comum não é organizada em uma ordem linear, assim é preciso fazer um drilling em volta do valor. Ex.: Existem 10 entidades cuidando de um paciente, compartilhando informações entre si. É possível gerar poderosos relatórios realizando queries distintas para cada tabela fato e fazer um outer join com as configurações dos resultados do paciente.
  • Drill Through
  • Ocorre quando o usuário passa de uma informação contida em uma dimensão para uma outra. Ex.: O usuário está realizando uma análise na dimensão tempo e no próximo passo analisa a informação por região.
  • Drill Out:
  • É o detalhamento para informações externas como fotos, som, arquivos texto, tabelas.
  • Drill Within
  • É o detalhamento através dos atributos de uma dimensão.
  • Sort:
  • Tem a função de ordenar a informação, podendo ser aplicada a qualquer tipo de informação, não somente a valores numéricos. Ex.: Ordenar as instituições em ordem alfabética.
  • Ranking:
  • Permite agrupar resultados por ordem de tamanho, baseado em valores numéricos, refletindo somente na apresentação do resultado e não no resultado em si. Ex.: Ordenar a relação de filiais de acordo com os maiores volumes de vendas.
  • Pivoting:
  • Alternar linhas e colunas, sendo que todos os valores totalizados serão recalculados. Ex.: Arrastar a dimensão sexo para dentro da coluna de tempo que compõe as linhas da tabela.
  • Paging:
  • Apresentação dos resultados de uma consulta em várias páginas, permitindo a navegação do usuário. Ex.: Permitir um máximo de 10 resultados por página.
  • Filtering:
  • Apresentação de consultas com restrições sobre atributos ou fatos.
  • Tiling:
  • Visualização múltipla em uma única tela. Ex.: Páginas resultantes de uma consulta, diferentes metáforas visuais referentes a uma consulta, ou resultados de diferentes consultas.
  • Alerts:
  • Utilizados para indicar situações de destaque em elementos dos relatórios, baseados em condições envolvendo objetos e variáveis. Ex.: Definir que os valores das vendas mensais inferiores a R$ 50.000,00 devem aparecer com destaque em vermelho.
  • Break:
  • Permite separar o resultado de uma análise em grupos de informações, permitindo também a subtotalização de valores para cada grupo. Ex.: O usuário tem a necessidade de visualizar a informação por cidades, então ele solicita um break. O relatório será automaticamente agrupado por cidades, somando os valores mensuráveis por cidade.
    Arquitetura de Ferramentas OLAP:

    Apesar de obedecer a uma estrutura cliente/servidor multiusuário, as ferramentas OLAP podem ser implementadas de diversas formas, classificadas em cinco tipos a seguir (INMON, 1997):

  • MOLAP (Multidimensional On Line Analytical Processing)
  • Na arquitetura MOLAP os dados ficam armazenados em um banco de dados multidimensional, onde o servidor MOLAP atua e o usuário trabalha, monta e manipula os dados diferentes no servidor (CARVALHO, 2004). Os dados de um banco multidimensional são armazenados em um espaço menor que o utilizado para armazenar os mesmos dados em um banco de dados relacional. No banco multidimensional, os dados são mantidos em estruturas de dados do tipo array de maneira a prover um melhor desempenho ao acessá-los. Além de ser uma arquitetura rápida uma outra vantagem é o rico e complexo conjunto de funções de análises presentes nos bancos multidimensionais (CARVALHO,2004).

    Uma de suas limitações é a possibilidade dos dados serem esparsos (nem todo cruzamento das dimensões contém dados), ocorrendo a chamada explosão de armazenamento de dados, ou seja, um imenso banco de dados multidimensional contendo poucos dados armazenados. Outras limitações dessa ferramenta estão relacionadas ao fato dos bancos multidimensionais serem sistemas proprietários que não seguem padrões, ou seja, cada desenvolvedor cria a sua própria estrutura para o banco e as próprias ferramentas de suporte (CARVALHO, 2004).

    Vantagens:
    – Alto Desempenho: Os cubos são construídos para uma rápida recuperação de dados;
    – Pode executar cálculos complexos: todos os cálculos são pré-gerados quando o cubo é criado e podem ser facilmente aplicados no momento da pesquisa de dados.

    Desvantagens:
    – Baixa escalabilidade: sua vantagem de conseguir alto desempenho com a pré-geração de todos os cálculos no momento da criação dos cubos, faz com que o MOLAP seja limitado a uma pouca quantidade de dados. Esta deficiência pode ser contornada pela inclusão apenas do resumo dos cálculos quando se construir o cubo;
    – Investimentos altos: este modelo exige enormes investimentos adicionais como cubo de tecnologia proprietária.

    Termos-chave:
    – Armazenamento dos dados em cubos dimensionais e em formato proprietário;
    – Alto desempenho;
    – Execução de cálculos complexos;
    – Baixa escalabilidade;
    – Investimentos altos.

  • ROLAP (Relational On Line Analytical Processing)
  • A arquitetura ROLAP é uma simulação da tecnologia OLAP feita em banco de dados relacionais que, por utilizar a estrutura relacional, possui a vantagem de não restringir o volume de armazenamento de dados (CARVALHO, 2004). Essa ferramenta não utiliza cubos pré-calculados como a MOLAP. À medida que o usuário monta sua consulta em uma interface gráfica, a ferramenta acessa os metadados ou quaisquer outros recursos que possua, para gerar uma consulta SQL (Structured Query Language) (THOMSEN, 2002).

    A sua principal característica é a possibilidade de fazer qualquer consulta, atendendo melhor os usuários que não têm um escopo de análise bem definido. Essa ferramenta tem a vantagem de utilizar tecnologia estabelecida, de arquitetura aberta e padronizada, beneficiando-se da diversidade de plataformas, escalabilidade e paralelismo de hardware. Sua desvantagem é o conjunto pobre de funções para análises
    dimensionais e o baixo desempenho da linguagem SQL na execução de consultas pesadas (CARVALHO, 2004).

    Vantagens:
    -Alta escalabilidade: usando a arquitetura ROLAP, não há nenhuma restrição na limitação da quantidade dados a serem analisados, cabendo essa limitação sendo do próprio banco de dados relacional utilizado;
    – Pode alavancar as funcionalidades inerentes do banco de dados relacional: Muitos bancos de dados relacionais já vêm com uma série de funcionalidades e a arquitetura ROLAP pode alavancar estas funcionalidades.

    Desvantagens:
    – Baixo desempenho: cada relatório ROLAP é basicamente uma consulta SQL (ou várias consultas SQL) no banco de dados relacional e uma consulta pode ser consumir muito tempo se houver uma grande quantidade de dados;
    – Limitado pelas funcionalidades SQL: ROLAP se baseia principalmente na geração instruções SQL para consultar a base de dados relacional, porém essas instruções não suprem todas as necessidades (por exemplo, é difícil de realizar cálculos complexos utilizando SQL). Portanto, usar ROLAP é se limitar ao que instruções SQL podem fazer.

    Termos-chave:
    – Alta escalabilidade;
    – Pode alavancar as funcionalidades inerentes do banco de dados relacional;
    – Baixo desempenho;
    – Limitado pelas funcionalidades SQL.

  • HOLAP (Hybrid On Line Analytical Processing)
  • A arquitetura HOLAP, ou processamento híbrido, está se tornando a mais popular para os produtos atuais, porque consegue combinar a capacidade e a escalabilidade das ferramentas ROLAP com o desempenho superior dos bancos de dados multidimensionais (THOMSEN,2002). Por exemplo, suponha uma base de
    50.000 clientes distribuídos em 500 cidades, 23 estados, 5 regiões e um total geral. Até o nível de cidades o armazenamento multidimensional resolveria as consultas para levantar totais de vendas. Porém, se fosse necessário consultar o total de vendas de um determinado cliente, o banco de dados relacional responderia com muito mais rapidez à solicitação. Essa situação é típica para a indicação da arquitetura HOLAP (OLIVEIRA,
    2002).

    Vantagens:
    – Alto desempenho: os cubos dimensionais apenas armazenam síntese das informações;
    – Alta escalabilidade: os detalhes das informações são armazenados em um banco de dados relacional.

    Desvantagens:
    – Arquitetura de o maior custo: é modelo que possui o maior custo de aquisição.

    Termos-chave:
    – Alto desempenho;
    – Alta escalabilidade;
    – Arquitetura de o maior custo.

  • DOLAP (Desktop On Line Analytical Processing)
  • A arquitetura DOLAP que é uma arquitetura desktop do OLAP, ou seja, é uma ferramenta para usuários que possuam uma cópia da base multidimensional ou de um subconjunto dela ou ainda, que queiram acessar um repositório de dados central localmente. O usuário ao acessar este repositório, dispara uma instrução SQL e acessa os cubos já existentes no banco de dados multidimensional residente no servidor OLAP e obtém de volta um para ser analisado em sua estação de trabalho (CAVALCANTI, OLIVEIRA e MONTEIRO, 1998).

    A vantagem dessa arquitetura é a redução da sobrecarga no servidor de banco de dados uma vez que todo o processamento OLAP acontece na máquina cliente e a desvantagem é o tamanho do microcubo que não pode ser muito grande, caso contrário, a análise pode ser demorada e a máquina do cliente não suportar (CAVALCANTI, OLIVEIRA e MONTEIRO, 1998).

    Vantagens:
    – Pouco tráfego que na rede: todo o processamento OLAP acontece na máquina cliente;
    – Sem sobrecarregar o servidor de banco de dados: como todo o processamento acontece na máquina cliente, o servidor fica menos sobrecarregado.

    Desvantagem:
    – Limitação do cubo de dados: o tamanho do cubo de dados não pode ser muito grande, caso contrário, a análise passa a ser demorada e/ou a máquina do cliente pode não suportar em função de sua configuração.

    Termos-chave:
    – Pouco tráfego na rede;
    – Não sobrecarrega o servidor de banco de dados;
    – Limitação do cubo de dados.

  • WOLAP (Web On Line Analytical Processing)
  • Finalmente, a arquitetura WOLAP é a utilização de uma ferramenta OLAP a partir de um browser. Essa arquitetura tem duas tecnologias que estão em constante evolução, a primeira é a Web e a segunda são as ferramentas OLAP. A diferença desta ferramenta para as outras é que ela utiliza a Web, facilitando assim, a distribuição da ferramenta, o acesso remoto dos dados a serem analisados e a utilização da aplicação independente de plataforma (ANDREATO, 1999).
  • JOLAP (Java Online Analytical Processing)
  • Essa é uma API java para OLAP.
  • SOLAP (Spacial Online Analytical Processing)
  • Esta implementação é a união de OLAP com sistema de informação geográfico.
    Provas de Concursos:

    CESPE 2004 SERPRO Cargo 2
    96) Na arquitetura multidimensional OLAP (MOLAP), o módulo de software OLAP, que pode encontrar-se em um servidor OLAP próprio, gerencia as consultas provenientes do cliente decompondo cada consulta em diversas sub consultas que são entregues a um banco de dados relacional, de modo que, recebendo as diversas respostas, o servidor OLAP apresenta ao cliente uma visão multidimensional da informação.

    Gabarito: ERRADO

    Justificativa: O conceito da questão define ao método de armazenamento DOLAP, onde um cliente envia uma consulta para o servidor e recebe o cubo de informações de volta para ser analisado na estação cliente. Já no método MOLAP, o usuário trabalha, monta e manipula os dados do cubo diretamente no servidor.

    CESPE 2006 DATAPREV Perfil V
    89) Um datawarehouse exige grande capacidade de armazenamento e processamento dos dados, pois armazena dados analíticos, destinados às necessidades de tomada de decisão. Esses dados podem ser armazenados em banco de dados relacional ou MOLAP (multidimensional-array OLAP). Na estrutura MOLAP, devem-se criar vários índices atrelados às tabelas de fatos e dimensões para um acesso mais rápido e eficiente ao banco de dados.

    Gabarito: ERRADO

    Justificativa: No caso, a arquitetura correta seria ROLAP, pois a questão citou “Esses dados podem ser armazenados em banco de dados relacional…”.

    CESPE 2007 PETROBRÁS Cargo 5
    147) Soluções MOLAP possuem maior escalabilidade que ROLAP.

    Gabarito: ERRADO

    Justificativa: É o ROLAP que possui maior escalabilidade do que o MOLAP.

    CESPE 2007 PETROBRÁS Cargo 7
    134) Soluções MOLAP promovem maior independência de fornecedores de SGBDs que soluções ROLAP.

    Gabarito: ERRADO

    Justificativa: No MOLAP há alto um alto investimento em cubo de tecnologia proprietária, então ao se usar essa arquitetura, existirá uma dependência maior de fornecedores. Quanto ao ROLAP, não teremos esse problema pois podemos usar qualquer bancos de dados.

    Deixe um comentário

    O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *