OLAP – Online Analytical Processing
OLAP é um software cuja tecnologia de construção permite aos analistas de negócios, gerentes e executivos analisar e visualizar dados corporativos de forma rápida, consistente e principalmente interativa.
A funcionalidade OLAP é inicialmente caracterizada pela análise dinâmica e multidimensional dos dados consolidados de uma organização permitindo que as atividades do usuário final sejam tanto analíticas quanto navegacionais.
As ferramentas OLAP (do inglês, Online Analytical Processing) são geralmente desenvolvidas para trabalhar com banco de dados desnormalizados. Essas ferramentas são capazes de navegar pelos dados de um Data Warehouse, possuindo uma estrutura adequada tanto para a realização de pesquisas como para a apresentação de informações.
Os Fundamentos de Sistemas Analíticos
Nos últimos anos o termo Business Intelligence (BI) tem sido largamente utilizado no mercado como sinônimo de sistemas analíticos, OLAP, cubos, entre outros. Embora essas denominações possam estar associadas entre si, são conceitualmente distintas.
A rigor, Business Intelligence pode ser obtido por qualquer artefato, seja tecnológico ou não, que permita a extração de conhecimento a partir de análises do negócio. Por razões óbvias, a efetividade destas análises será maior se os dados estiverem disponíveis de modo consistente e, preferencialmente, consolidado. Este é um dos objetivos dos Data Warehouses.
Soluções informatizadas de BI geralmente contém sistemas analíticos, que podem ser de diversos tipos, dependendo do objetivo das análises e do perfil do usuário, conforme ilustrado na Figura:
OLTP vs OLAP
Sistemas transacionais, também conhecidos como sintéticos ou ainda OLTP – Online Transactional Processing – são aqueles que, como o nome sugere, baseiam-se em transações. Alguns exemplos deste tipo de sistemas são:
- Sistemas Contábeis;
- Aplicações de Cadastro;
- Sistemas de Compra, Estoque, Inventário;
- ERPs, CRMs.
Os sistemas transacionais se caracterizam pela alta taxa de atualização, grande volumes de dados e acessos pontuais, ou seja, pesquisas cujo resultado seja de pequeno volume (até milhares de linhas, mas preferencialmente menos).
Já os sistemas analíticos, ou OLAP – Online Analytical Processing – se caracterizam por fornecer subsídio para tomadas de decisão, a partir de análises realizadas sobre bases de dados históricas, por vezes com milhões de registros a serem totalizados.
A tabela abaixo sintetiza as principais diferenças entre sistemas transacionais e analíticos.
Conforme ilustrado na tabela, o fato dos sistemas transacionais refletirem a situação atual de um determinado tipo de dado conduz todas as demais características, como:
- A realização de atualizações freqüentemente, mantendo os dados atuais;
- Informação detalhada com a maior granularidade possível (consistência microscópica);
- Pesquisas pontuais, portanto de baixa complexidade, no tocante ao negócio (do ponto de vista técnico, a pesquisa pode ser bem elaborada).
Do mesmo modo, o fato das análises serem realizadas sobre dados históricos leva às seguintes características:
- Uma vez que os dados são históricos, as atualizações não precisam ser tão freqüentes. Por exemplo, numa comparação entre a produtividade de três filiais de uma empresa para um determinado produto nos últimos quatro meses, por mês, o dia de hoje ou mesmo ontem não é, em geral, de grande representatividade;
- As análises geralmente agrupam informações, sendo tais agrupamentos mais importantes neste contexto do que os dados detalhados. No exemplo do item anterior, o importante é a produção conjunta mensal, e não a produção de uma unidade particular do produto analisado.
Os diferentes tipos de sistemas também sugerem diferentes abordagens técnicas, seja na forma de armazenamento ou de busca.
Banco de Dados Multidimensional
A finalidade de bases de dados multidimensionais é fornecer subsídio para realização de análises. Para tanto, sua arquitetura e até mesmo a terminologia empregada são distintas das utilizadas para bancos de dados transacionais.
O fato de existirem diversas informações a serem cruzadas (dimensões) permite a realização de pesquisas tais como a ilustrada nesta imagem.
As análises sobre dados históricos envolvem uma série de possibilidades de cruzamentos e agrupamentos de informações, com o uso dos seguintes termos:
Dimensões: estabelecem a organização dos dados, determinando possíveis consultas/cruzamentos.
Por exemplo: região, tempo, canal de venda,… Cada dimensão pode ainda ter seus elementos, chamados membros, organizados em diferentes níveis hierárquicos. A dimensão tempo, por exemplo, pode possuir duas hierarquias: calendário (com os níveis ano, mês e dia) e calendário fiscal (com os níveis ano, semana e dia);
Medidas: são os valores a serem analisados, como médias, totais e quantidades;
Fatos: são os dados a serem agrupados, contendo os valores de cada medida para cada combinação das dimensões existentes. O tamanho da tabela que contém os fatos merece atenção especial do analista;
Agregações: totalizações calculadas nos diversos níveis hierárquicos.
Arquiteturas OLAP
- ROLAP (Relational On Line Analytical Processing)
A consulta é enviada ao servidor de banco de dados relacional e processada no mesmo, mantendo o cubo no Servidor. - MOLAP (Multidimensional On Line Analytical Processing)
processamento realizado em um servidor multidimensional. - HOLAP (Hybrid On Line Analytical Processing)
é uma mistura de tecnologias onde há uma combinação entre ROLAP e MOLAP.
Alicerce Relacional
Diversas ferramentas analíticas, também chamadas ferramentas de OLAP, operam sobre bases de dados multidimensionais armazenadas em SGBDRs. Além disso, as agregações são também mantidas em banco de dados relacional.
Esta forma de armazenamento é conhecida como ROLAP. Uma vez que os dados já se encontram em um modelo apropriado, chamado multidimensional, basta processar as agregações. Com isso obtém-se ganho de espaço de armazenamento, uma vez que os dados permanecem apenas na base de origem.
Alicerce em Cubos
Outra forma de armazenamento, cujo modelo matemático denomina-se hipercubos, apresenta a característica de possuir armazenamento e indexação em estruturas de dados que otimizam consultas ao invés de atualizações.
Quando o modelo multidimensional é processado, nova base é gerada, desta vez contendo tanto os dados quanto as agregações em formato próprio, utilizando-se de estruturas apropriadas para pesquisas.
A Figura ilustra uma representação de um cubo com três dimensões Produto, Região e Tempo.
Fonte: Viviane Ribeiro