Você está na página 1de 15

Mdulo 4.

Construindo uma soluo OLAP


Objetivos
Diferenciar as diversas formas de armazenamento Compreender o que e como definir a porcentagem de agregao Conhecer a possibilidade da utilizao de parties Entender a manipulao dos Cubos Virtuais Melhorar os tempos de processamento Otimizar o espao de armazenamento

Contedo do mdulo
4.1. 4.2. Introduo Tipos de Armazenamento 4.2.1. 4.2.2. 4.2.3. 4.3. 4.4. 4.5. 4.6. 4.7. MOLAP ROLAP HOLAP

Definio de Agregaes Processamento de cubos Cubos Virtuais Parties A difcil busca do equilbrio

Pgina 1 de 15

4.1. Introduo

Nesta unidade abordaremos os conceitos que devem ser considerados para a implementao de um data mart. Sero descritos os diferentes tipos de armazenamento e as consideraes que devem ser analisadas para melhorar o desempenho do sistema. Alm disso, veremos qual a freqncia conveniente para processar nossos cubos e explicaremos o uso dos cubos virtuais e parties. Ao finalizar este mdulo, o leitor conhecer qual a forma de armazenamento mais adequada para os requerimentos da empresa e como balancear os diferentes fatores que ocorrem na implementao de um cubo.

4.2. Tipos de Armazenamento


Ao realizar um pequeno balano dos mdulos anteriores, vemos que j temos um desenho de requerimentos, sabemos de onde e como obter os dados e contamos com a definio da estrutura multidimensional. Agora montaremos fisicamente o cubo, por isso, devemos escolher entre as diferentes formas de armazenamento que podemos utilizar. Para facilitar esta escolha, vamos desenvolver e comparar os conceitos de MOLAP, ROLAP e HOLAP.

4.2.1.

MOLAP

No modo de armazenamento MOLAP (OLAP Multidimensional) uma cpia dos dados de origem do cubo, junto com as suas agregaes armazenam-se em uma estrutura multidimensional.

Pgina 2 de 15

importante considerar que enquanto os dados de origem so modificados diretamente com as operaes, os objetos com armazenamento MOLAP devem ser processados para incorporar estas mudanas. O tempo compreendido entre um processamento e o seguinte cria um perodo de latncia durante o qual a informao OLAP pode no coincidir com os dados de origem atuais. Como caractersticas do armazenamento MOLAP, podemos destacar: Oferece excelente rendimento e compresso de dados. Apresenta melhor tempo de resposta, dependendo apenas da porcentagem das agregaes do cubo. A estrutura est muito otimizada para maximizar o rendimento das consultas. Geralmente este mtodo muito apropriado para cubos com uso freqente devido sua rpida resposta.

AGREGAES E DADOS

Banco de Dados Relacional

Viso do Usurio Banco de Dados Multidimensional

4.2.2.

ROLAP

Em um modelo ROLAP (OLAP Relacional) toda a informao do cubo, seus dados, sua agregao, somas, etc., so armazenadas em um banco de dados relacional. Diferente do modo de armazenamento MOLAP, o ROLAP no armazena cpia do banco de dados. Ele acessa as tabelas originais quando precisa responder as consultas, geralmente muito mais lento do que as outras formas de armazenamento (MOLAP ou HOLAP). O ROLAP utilizado para economizar espao de armazenamento quando se trabalha com grandes conjuntos de dados consultados com pouca freqncia; por exemplo, dados exclusivamente histricos.

Pgina 3 de 15

Os usos comuns deste esquema so: Quando os clientes desejam ver as mudanas imediatamente. Quando contamos com grandes conjuntos de dados que no so consultados freqentemente. AGREGAES E DADOS

Banco de Dados Relacional

Banco de Dados Multidimensional

Viso do Usurio

4.2.3.

HOLAP

O HOLAP (OLAP hbrido) combina atributos do MOLAP e do ROLAP. Da mesma forma que o MOLAP, o HOLAP armazena as agregaes em uma estrutura multidimensional e os dados detalhados em um banco de dados relacional, da mesma forma que no armazenamento ROLAP. Para procedimentos de busca que acessam dados sumarizados, o HOLAP equivalente ao MOLAP. Em caso contrrio, se os processos de consultas acessam os nveis mximos de detalhe, devem retirar os dados do banco de dados relacional e isso no to rpido comparado com uma estrutura MOLAP. Os cubos armazenados como HOLAP so menores do que os MOLAP e respondem mais rpido que os ROLAP. Usos comuns de HOLAP: Cubos que requerem resposta rpida. Quando existem sumarizaes baseadas em uma grande quantidade de dados de origem. Soluo com o compromisso de reduzir o espao ocupado sem prejudicar totalmente o rendimento das consultas.

Pgina 4 de 15

DADOS

AGREGAES

Banco de Dados Relacional

Banco de Dados Multidimensional

Viso do Usurio

importante considerar que, se os usurios geram consultas que devem utilizar os dados do nvel mais baixo o HOLAP pode no ser a melhor opo.

Exemplo de operadora telefnica. Vamos supor que: Sejam medidas as ligaes realizadas x Dia x Cliente. O tempo estruturado como Dia Ms Ano. Os Clientes so estruturados como Cliente Cidade Pas. Definio MOLAP Ligaes para um Dia e EM Cliente Soma das ligaes para algum cruzamento de Cliente Tempo onde pelo menos uma das duas EM dimenses no esteja no nvel mnimo. (Cliente e Ms ou Ano, Dia e Cidade ou Pas, etc.) EM = Estrutura Multidimensional BR = Banco de Dados Relacional Dados detalhados Dados sumarizados ROLAP BR HOLAP BR

BR

EM

Pgina 5 de 15

MOLAP Armazenamento das Agregaes Armazenamento dos dados Facilidade de Criao Velocidade de resposta

ROLAP

HOLAP Modelo Multidimensional Banco de dados relacional Simples Boa para consultas que apresentam agregaes, Regular para dados de baixo nvel

Modelo Banco de dados Multidimensional relacional Modelo Banco de dados Multidimensional relacional Simples Boa Muito Simples Regular ou Baixa

Escalabilidade Recomendados para

Problemas de escalabilidade Cubos com uso freqente

So mais escalveis Dados que no so utilizados freqentemente

Depende do perfil de consultas Se o cubo requer uma resposta rpida

Vantagens Melhor desempenho no tempo de resposta.

Desvantagens Duplica o armazenamento de dados (ocupa mais espao) Tempo de Latncia

MOLAP

ROLAP

Economia de espao de O tempo de resposta das armazenamento. til quando se consultas maior. trabalha com conjuntos de dados muito grandes. Bom tempo de resposta apenas para informao sumarizada. Volumes de dados maiores no banco de dados relacional.

HOLAP

Pgina 6 de 15

O MOLAP um OLAP baseado no acesso a um banco de dados multidimensional. O ROLAP um OLAP baseado no acesso a um banco de dados relacional. HOLAP um OLAP situado entre o ROLAP e o MOLAP e acessa o Multidimensional e o Relacional.

4.3. Definio de Agregaes


Outro fator a considerar na implementao do modelo OLAP, alm do modo de armazenamento a definio da porcentagem de agregaes. Denomina-se agregao ao processo de pr-calcular o clculo dos dados atravs dos nveis para diminuir os tempos de resposta nos processos de busca de informao. A porcentagem de agregao determina a proporo ou profundidade at onde so realizados os pr-clculos. As agregaes so armazenadas na estrutura multidimensional (de acordo com a forma de armazenamento escolhida). As agregaes so resumos de dados pr-calculados que melhoram o tempo de resposta pelo simples motivo de ter as respostas prontas antes de receber as perguntas.

Ao definir as agregaes importante levar em considerao a especificao das restries de armazenamento e de porcentagem de agregao, para conseguir uma boa soluo de compromisso entre o tempo de resposta das consultas e os requisitos de armazenamento. Se forem calculadas todas as agregaes possveis seria necessrio uma grande quantidade de tempo de processamento e espao de armazenamento. Se no forem pr-calculadas as agregaes (0%) a quantidade de espao de armazenamento necessrio fica reduzida ao mnimo, porm o tempo de resposta aumentar. Portanto, deve existir um equilbrio entre o espao de armazenamento, a porcentagem de possveis agregaes pr-calculadas e o desempenho requerido. possvel ver o grfico desta relao na figura:

Pgina 7 de 15

No grfico possvel observar que se chega a um ponto no qual j no possvel atingir um aumento significativo nas agregaes ( importante lembrar que, neste contexto, aumentar as agregaes sinnimo de melhorar o desempenho das consultas), apesar de aumentar a quantidade de espao de armazenamento. Devemos escolher uma porcentagem situada na zona do ponto A, onde conseguimos a porcentagem mxima de agregao com a menor quantidade de espao possvel. Caractersticas das agregaes: As agregaes permitem melhorar os tempos de resposta Requerem armazenamento adicional Caso no forem controladas podem provocar uma exploso nos requisitos de armazenamento

Para um maior nmero de agregaes necessrio mais tempo de processamento e mais requerimento de espao. Um menor nmero de pr-agregaes reflete em um pior tempo de resposta das consultas.

4.4. Processamento de Cubos


Nesta etapa devemos definir quando e com qual freqncia processar os cubos. Quando so processadas dimenses ou cubos, esto sendo atualizados os dados, as estruturas multidimensionais ou ambos.

Pgina 8 de 15

Esta definio deve considerar os seguintes fatores: Modo de armazenamento escolhido (MOLAP-ROLAP-HOLAP) Tamanho da tabela de fatos (quantidade de registros) Nmero de dimenses do modelo Porcentagem de agregaes Para determinar a freqncia de processamento do cubo devemos considerar a anlise com o cliente com relao granularidade dos dados para o tempo. O nvel de detalhe (dia, ms, etc.) determinar a periodicidade de atualizao dos dados. Diferente dos sistemas OLTP nos quais a atualizao dos dados realizada online com as transaes e a agregao dos dados realizada no momento em que o usurio realiza uma consulta, no OLAP o processamento dos cubos realizado em contra-fluxo, nos horrios que no afete a tarefa dos usurios. No sistema de trfego telefnico, se os dados das ligaes forem recebidos uma vez por semana, ento devemos processar o cubo em um dia do final de semana para no afetar a tarefa do usurio. Se a informao das ligaes for recebida de forma diria, o processamento pode ser realizado uma vez por dia, tarde da noite ou bem cedo pela manh.

4.5. Cubos Virtuais


Os cubos virtuais so visualizaes de cubos reais. Os cubos virtuais podem ser utilizados: Quando o usurio deseja ver informao conjunta de dois cubos diferentes. Quando deseja ter uma viso parcial de um cubo. uma forma de simplificar a manipulao da segurana. No sistema de trfego telefnico, pode ser desejvel relacionar as ligaes telefnicas com a quantidade de horas trabalhadas. Uma forma simples de atender este requisito criar um cubo virtual que recolha dados dos cubos de Trfego e RH.

Pgina 9 de 15

4.6. Parties
Os cubos so formados por parties. Como o prprio nome diz, uma partio uma diviso ou fracionamento da informao que forma um cubo. Cada cubo contm pelo menos uma partio, porm pode estar formado por mltiplas parties. As parties de um cubo so invisveis para o usurio, porm o seu uso aumenta a carga de trabalho do administrador do modelo multidimensional. Para cada partio possvel definir a fonte de dados, o modo de armazenamento e a porcentagem de agregao de forma independente das demais parties. Alm disso, uma partio de dados pode ser atualizada independentemente das outras. Esta propriedade muito importante pois oferece a vantagem de melhorar os tempos de processamento se dividir corretamente as parties e elas forem processadas adequadamente. Dessa forma, se dividirmos o nosso cubo em parties, definiremos cada um destes parmetros da forma mais indicada. Partio mais utilizada (Tempo Real): Modo de Armazenamento: MOLAP % de Agregao: alta Freqncia de processamento: alta Partio consultada de forma mdia (Freqncia Intermediria): Modo de Armazenamento: HOLAP % de Agregao: baixa Freqncia de processamento: ocasional Partio pouco acessada (Perodos Antigos): Modo de Armazenamento: ROLAP % de Agregao: nula Freqncia de processamento: muito baixa (normalmente apenas na criao da partio)

Do ponto de vista administrativo cada partio pode ser manipulada como se fosse um cubo independente. Pode ter fonte de dados, modo de armazenamento, porcentagem de agregao e freqncia de processamento prprios.

Pgina 10 de 15

Podemos criar uma partio por cada ano contido no cubo (por exemplo, 2004, 2005 e 2006) e armazenar as parties da seguinte forma: 2006: Em uma estrutura MOLAP, com uma alta porcentagem de agregaes, para obter uma resposta rpida das consultas. 2005: Em uma estrutura HOLAP, com uma baixa porcentagem de agregaes, que permitir bons tempos de resposta para consultas de resumo, com um espao de armazenamento mnimo. Anos anteriores: Em uma estrutura ROLAP, com porcentagem de agregaes zero, que economizar espao de armazenamento. Este economia paga com o aumento do tempo de resposta, porm no caro, pois as consultas so ocasionais.

Desenhar mal uma partio, sem considerar os filtros habitualmente utilizados pelo usurio, aumenta a carga administrativa e no melhora o desempenho das consultas. Se a lgica que define as parties no est corretamente desenhada, os dados podem ser perdidos ou duplicados.

4.7. A difcil busca do equilbrio


No momento de implementar o cubo, devemos analisar em conjunto os seguintes fatores, tentando atingir um ponto de equilbrio. % de Pr-agregao. Tempo de Processamento. Requerimentos de tempos de resposta. Tipo de armazenamento. Tipificao das consultas (Base para decidir se sero manipuladas parties). Uso de Parties.

Pgina 11 de 15

Tempo de Processamento

Consultas

Mudanas

Ao

% Pr-agregaes Armazenamento MOLAP X X X Sim Alto Baixo Mdio Alto Baixo Mdio x Agenda Direto x Agenda Alto Baixo Mdio

ROLAP HOLAP

Parties

Estudo de Caso

Veremos como implementar o desenho do modelo OLAP desenvolvido no mdulo anterior. Como vimos, nosso modelo era:

Pgina 12 de 15

Manuteno

Resposta

Tempo de Resposta Espao Ocupado

Este modelo ser implementado sobre um cubo denominado Vendas.

Cubo Vendas

Levando em considerao que o nosso cliente analisa a sua informao com relao aos perodos de tempo, filtrando por ano, construiremos duas parties dividindo o cubo de forma anual. Dessa forma obteremos uma partio para 2005 e outra para 2006. O objetivo desta partio oferecer suporte s consultas realizadas com pouca freqncia, motivo pelo qual optamos por definir parmetros que permitam a economia de espao ocupado, aceitando um desempenho mais baixo.

2005

A partio para 2005 ter: Modo de armazenamento: HOLAP Porcentagem de agregao: 10% Freqncia de processamento: Ser processada no momento da criao e
Pgina 13 de 15

depois, apenas quando for solicitada pelo cliente. O objetivo desta partio oferecer suporte s consultas realizadas habitualmente e um dos requerimentos bsicos o tempo de resposta das consultas, motivo pelo qual optamos por definir parmetros que apontem para a obteno de um melhor desempenho, aceitando o custo de espao ocupado e tempo de processamento. Modo de armazenamento: MOLAP Porcentagem de agregao: 40% Freqncia de processamento: O processamento ser realizado diariamente a partir das 22:00 hs, pois sabemos que os usurios no realizam consultas nesse horrio. No necessrio criar um cubo virtual para poder visualizar as duas parties. Do ponto de vista de acesso para as consultas, as parties so transparentes para o usurio, que define o cubo como sua fonte de dados sem considerar a sua forma de construo.

2006

A partio de 2006 ter:

Existem diferentes formas de armazenamento dos dados e agregaes de um cubo e devemos selecionar um deles de acordo com as necessidades e possibilidades da nossa empresa. conveniente utilizar parties quando existem grandes volumes de dados para obter melhorias nos tempos de processamento e resposta das consultas. Utilizaremos cubos virtuais quando o data mart precise relacionar informaes de diferentes cubos.

Pgina 14 de 15

Os tempos de resposta das consultas so um fator chave? Esto definidos os valores mnimos ou mximos que devem ser atendidos? Est estimado o volume de dados que deve ser manipulado, tanto hoje quanto no futuro? A freqncia e o tempo de processamento so fatores crticos? A empresa possui o equipamento adequado para a situao atual e a estimativa futura? Foi considerado este fator com relao ao armazenamento e velocidade de processamento? Existem critrios preestabelecidos para a definio da % de pr-agregao? Ser necessrio criar cubos virtuais? Existe uma idia clara da quantidade e qualidade das consultas habituais? Existe algum padro de filtragem repetido, como ms ou cidade?

Pgina 15 de 15

Você também pode gostar