O termo OLAP – On-line Analytical Processing – refere-se a um conjunto de ferramentas voltadas para acesso e análise ad-hoc de dados. Sendo assim, o objetivo final de uma ferramenta OLAP é transformar dados em informações capazes de dar suporte a decisões gerenciais de forma amigável e flexível ao usuário e em tempo hábil. O objetivo deste artigo é mostrar alguns conceitos importantes relacionados às ferramentas OLAP.
OLAP
O termo OLAP foi criado em 1993 por E.F.Codd, que instituiu 12 regras básicas, que serviriam para definir se uma ferramenta seria ou não considerada OLAP. Em meados da década de 90 surgia no mercado uma nova classe de ferramentas que traziam a tecnologia OLAP embutida. Estas possibilitaram acesso mais rápido aos dados, permitindo uma análise dinâmica e multidimensional. Tais ferramentas trouxeram uma grande capacidade de efetuar cálculos complexos como previsões, percentuais de crescimento e médias diversas considerando-se a variável tempo, muito importante no contexto gerencial
Assim, o OLAP ajuda a analisar de forma mais eficiente a quantidade de dados crescente armazenados pelas organizações transformando-os em informação.
A multi-dimensionalidade é o conceito-chave da análise feita através de ferramentas OLAP. Neste tipo de análise, os dados são modelados em uma estrutura conhecida como cubo que nos permite observar vários assuntos (dimensões) para uma mesma massa de dados (Figura 1).
As dimensões desse cubo representam os componentes dos negócios da empresa como cliente, produto, fornecedor e tempo, que na prática, são os diversos ângulos ou óticas sob as quais uma informação pode ser analisada. A célula resultante da interseção das dimensões do cubo é chamada de medida, representando dados numéricos, como vendas, lucros, quantidade de unidades vendidas, etc.
Além dos componentes dimensão e medida, outro aspecto importante do modelo é a consolidação dos dados, uma vez que para a análise é mais útil a agregação (sumarização) dos valores indicativos dos negócios.
Perguntas como “Qual o total de vendas (medida) de determinado produto (dimensão) foi verificada em determinada região (dimensão) no último semestre (dimensão)?” são facilmente respondidas por uma análise multidimensional. Conforme visto na edição 3 desta revista, os valores (medida) estarão na tabela fato e os assuntos pelos quais se deseja consultar estarão nas tabelas de dimensão.
A fim de resolver os diferentes níveis de consolidação que se pode ter ao longo de uma dimensão, é implementado o conceito de hierarquização das dimensões. A Figura 2 apresenta este conceito, onde se encontra “explodida” a hierarquia da dimensão Região.
Ao analisar as dimensões hierárquicas, o servidor OLAP “entende” a hierarquia implementada e sabe como agregar os dados. Por exemplo, o servidor “sabe” que não deve somar os dados de Estado e Região porque os dados do Estado já foram incluídos na Região.
Como citado, existem algumas regras que servem para definir se uma ferramenta é ou não considerada OLAP. Thomsen em “OLAP Solutions: building multidimensional information systems”, destaca quatro delas:
- Rapidez de cálculo e acesso: este é um fator crítico principalmente quando levamos em consideração o volume de dados envolvidos e o fato das consultas serem ad-hoc.
- Capacidade de análise avançada: a agregação de dados através de hierarquias está longe de suprir todas as necessidades do analista de negócio. Uma ferramenta OLAP deve ser capaz de prover operações mais sofisticadas tais como média, média ponderada, normalização, “ranking” (ordenação), acumulados no tempo, etc. O objetivo é que ela auxilie a tomada de decisões sobre o futuro, permitindo a construção de cenários a partir de suposições e fórmulas aplicadas pelos analistas nos dados históricos.
- Flexibilidade: pode ser considerada sob quatro perspectivas: visualização, definição, análise e interface. A flexibilidade de visualização é o poder de escolher a forma através da qual a informação será apresentada. Prover flexibilidade de definição significa possibilitar que o usuário modifique o conteúdo de descritores, formate a apresentação de células tanto numéricas quanto de texto, definir fórmulas, etc. A possibilidade de definição das operações que serão executadas em uma consulta pelo usuário refere-se à flexibilidade de análise e a flexibilidade de interface é o que usualmente chamamos de interface intuitiva e amigável.
- Suporte a múltiplos usuários: o desafio das ferramentas OLAP é usar os recursos computacionais disponíveis da melhor maneira possível de forma que os múltiplos acessos aos dados não afetem o desempenho das consultas de forma significativa.
Outra característica que deve estar presente em ferramentas OLAP é a capacidade de efetuar “slice and dice” e “drill up/down” (descritos na edição 3 desta revista). Resumindo, podemos dizer que Slice diz respeito ao fatiamento do cubo (Figura 3), onde por exemplo, apenas as vendas de uma região são analisadas. Dice é a capacidade de rotacionar o cubo, passando por exemplo, de uma análise do tipo “Quantidade de vendas de determinada região geográfica discriminada por mês de um período” para “Quantidade de vendas de determinado mês, discriminada por regiões geográficas”. Drill down/up é a capacidade de, a partir de determinado nível de consolidação, obter-se resultados em níveis acima (up) ou abaixo (down) dentro de uma hierarquia de dimensões, como a partir de “Vendas por semestre”, obter-se “Vendas anuais” (up) ou “Vendas mensais” (down).
Arquiteturas
Apesar de obedecer, geralmente, a uma estrutura cliente/servidor multiusuário, ferramentas OLAP podem ser implementadas de diversas formas sendo classificadas em cinco tipos de acordo com o local de armazenamento e o mecanismo utilizado para processamento das consultas. Os cinco tipos são: (1) MOLAP (Multidimensional OLAP), (2) ROLAP (Relacional OLAP), (3) HOLAP (Hybrid OLAP), (4) DOLAP (Desktop OLAP) e, (5) WOLAP (Web OLAP).
O local de armazenamento pode ser em:
- MDB (Banco de dados multidimensional), como nos casos de MOLAP, e HOLAP;
- RDBMS (Banco de dados relacional), como em ROLAP e também em HOLAP ou;
- arquivos em base de dados locais ou mesmo em memória RAM de estações clientes, como em DOLAP e WOLAP.
Com relação ao mecanismo de processamento de consultas temos:
- O mecanismo do servidor MDB em MOLAP e HOLAP;
- A linguagem SQL que é utilizada em ROLAP e HOLAP;
- Mecanismos multidimensionais nas estações clientes, em casos de DOLAP e alguns WOLAP.
Vejamos agora o que são e como funcionam MOLAP, ROLAP, HOLAP, DOLAP e WOLAP.
MOLAP (Multidimensional OLAP)
Na arquitetura MOLAP os dados ficam armazenados em um banco de dados multidimensional onde o servidor MOLAP atua. O usuário trabalha, monta e manipula os dados diretamente no servidor (ver Figura 4).
O armazenamento em um banco de dados multidimensional utiliza um espaço menor que o utilizado para armazenar os mesmos dados em um banco de dados relacional. Isto por que não são necessários índices e a estrutura multidimensional é mais enxuta. Os dados são mantidos em estruturas de dados do tipo “array” (ver Tabela 1) de maneira a prover um melhor desempenho ao acessá-los.
BD RELACIONAL | MATRIZ BIDIMENSIONAL | ||||||
Modelo | Cor | Vendas | modelo | Azul | Vermelho | Branca | |
Van | Azul | 6 | Van | 6 | 5 | 4 | |
Van | Vermelha | 5 | Coupe | 3 | 5 | 5 | |
Van | Branca | 4 | Cedan | 4 | 3 | 2 | |
Coupe | azul | 3 | |||||
Coupe | Vermelha | 5 | |||||
Coupe | Branca | 5 | |||||
Cedan | azul | 4 | |||||
Cedan | Vermelha | 3 | |||||
Cedan | Branca | 2 |
Aliada à rapidez, outra grande vantagem é o rico e complexo conjunto de funções de análises presentes nos bancos multidimensionais. Estes são projetados para suportar um grande número de usuários sem haver degradação de desempenho.
Porém, como existe a possibilidade dos dados serem esparsos (nem todo cruzamento das dimensões contém dados), pode ocorrer a chamada “explosão” de armazenamento do banco de dados, ou seja, um imenso banco de dados multidimensional contendo poucos dados armazenados. Outras limitações das ferramentas MOLAP 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.
ROLAP (Relacional OLAP)
ROLAP é uma simulação (ver Nota 1) 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 (ver Figura 5). As ferramentas OLAP relacionais também não utilizam os cubos pré-calculados como ocorre no 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 um consulta em SQL.
Suas principais características são a possibilidade de fazer qualquer consulta, visto que não se está limitado ao conteúdo de um “cubo” e a capacidade de navegar nos dados até atingir o nível de detalhe mais baixo, ou seja, de menor granularidade. Assim, as ferramentas ROLAP atendem melhor usuários que não têm um escopo de análise bem definido.
As ferramentas front-end permitem efetuar requisições multidimensionais, mas o programa de ROLAP transforma estas consultas em rotinas SQL.
A principal vantagem de se adotar uma ferramenta ROLAP é a utilização de uma tecnologia estabelecida, de arquitetura aberta e padronizada, beneficiando-se da diversidade de plataformas, escalabilidade e paralelismo de hardware. Quanto às limitações, temos o pobre conjunto de funções para análises dimensionais e o baixo desempenho da linguagem SQL na execução de consultas pesadas.
HOLAP (Hybrid OLAP)
Uma forte tendência de arquitetura OLAP atualmente é a HOLAP ou processamento híbrido. A arquitetura híbrida está se tornando a mais popular para os produtos atuais por que consegue combinar a capacidade e escalabilidade das ferramentas ROLAP com o desempenho superior dos bancos de dados multidimensionais (ver Figura 6).
Supondo um exemplo (Figura 7) onde exista 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 adequadamente 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 indicação da arquitetura HOLAP.
Já existem algumas ferramentas que fazem esta busca de forma transparente para o usuário final nas duas arquiteturas. Os bancos de dados, por sua vez, também estão permitindo mesclar estes tipos de arquiteturas. Alguns bancos de dados relacionais já permitem criar “arrays” multidimensionais. O mesmo ocorre com alguns bancos multidimensionais que já permitem implementar os conceitos relacionais.
DOLAP (Desktop OLAP)
DOLAP é 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. Neste último caso, o usuário, através do disparo de uma instrução SQL, acessa os cubos já existentes no banco de dados multidimensional residente no servidor OLAP e obtém de volta um micro-cubo para ser analisado em sua estação de trabalho.
O ganho com essa arquitetura é a redução da sobrecarga no servidor de banco de dados uma vez que todo o processamento OLAP acontece na máquina cliente. A desvantagem está no fato do tamanho do micro-cubo não poder ser muito grande, caso contrário, a análise pode ser demorada e a máquina do cliente não suportá-la.
WOLAP (Web OLAP)
A arquitetura das ferramentas WOLAP é uma variação da já conhecida cliente-servidor. A diferença está na utilização de um middleware do lado do servidor que será o responsável pela comunicação entre o cliente e uma aplicação servidora, neste caso, o banco de dados (observar Figura 8). No mais, estas ferramentas seguem os mesmos princípios de um sistema web qualquer. As solicitações são enviadas via http ao servidor que então as processa (aqui entra o middleware) e depois envia para o cliente o resultado da solicitação.
Como representa a migração da tecnologia OLAP para o ambiente da Internet, tem havido uma grande divulgação sobre o uso de Web browsers para acesso à OLAP, mas ainda são poucos os sites em funcionamento. Segundo alguns institutos de pesquisa, o WOLAP será a chave para aplicações na Internet e deverá oferecer um caminho simples e barato no acesso a dados do warehouse.
Uma breve comparação entre MOLAP e ROLAP
Comparando a flexibilidade entre as duas arquiteturas mais utilizadas atualmente, verificamos que em relação a freqüentes mudanças em regras de negócio:
- ROLAP: permite consolidações dinâmicas para análises ad-hoc facilitando a adequação a novas regras de negócio;
- MOLAP: por criar em seu banco de dados todas as regras, há a necessidade de recriar a estrutura multidimensional e toda a base de dados para satisfazer a necessidade de mudanças.
Em relação ao esforço de desenvolvimento correspondente a cada uma delas temos que:
- MOLAP: é mais simples pois a ferramenta realiza as agregações sozinha e não requer tuning específico do banco de dados multidimensional;
- ROLAP: requer um projeto lógico específico (star ou snowflake schema), tuning do banco de dados relacional e a criação e manutenção das tabelas sumarizadas.
Ferramentas OLAP
A seguir temos uma relação de algumas ferramentas existentes no mercado classificadas conforme o tipo de arquitetura OLAP que implementam:
- MOLAP: Arbor Software Essbase, Information Builders FOCUS/Fusion, Holistics Systems Holos, Hyperion Enterprise, Sinper TM/1, Comshare Commander EIS/OLAP, Holistics Systems Holos, Kenan technologies Acutrieve, Oracle Express Objects e Express analyzer, Pilot (D&B) LigthShip Professional, Planning Sciences Gentium.
- ROLAP: Andyne Pablo, Cognos PowerPlay, Information Advantage DecisionSuite 3.0, Informix-MetaCube, MicroStrategy DSS Agent, Prodea Beacon, BO – Business Object, DB2-OlapServer, Oracle Discoverer.
- HOLAP: White Light, Analysis Server, Crystal Holos, IBM DB2 Olap Server.
- DOLAP: Andyne GQL, Brio BrioQuery, Business Objects, Cognos Impromptu, Crystal Decision, Hummingbird.
- WOLAP: Versões novas do: BO – Business Object, MicroStrategy, Oracle Discoverer e outros.
Conclusão
Vimos neste artigo que a essência das ferramentas OLAP são: a rapidez, a sumarização e a análise flexível dos dados. Sua arquitetura varia, sendo a baseada na web (WOLAP) uma grande promessa para o futuro.
Aplicações bem sucedidas de OLAP tendem a aumentar a produtividade de gerentes, desenvolvedores e até da organização como um todo.
Bibliografia
Atenção: por essa edição ser muito antiga não há arquivo PDF para download. Os artigos dessa edição estão disponíveis somente através do formato HTML.