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:
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):
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.
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.
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.
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.
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.