Escolar Documentos
Profissional Documentos
Cultura Documentos
AcadBI Modulo4
AcadBI Modulo4
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.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
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
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
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
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.
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.
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.
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.
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
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
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