Professional Documents
Culture Documents
Objetivos
Diferenciar as diversas formas de armazenamento
Compreender o que é e como definir a porcentagem de
agregação
Conhecer a possibilidade da utilização de partições
Entender a manipulação dos Cubos Virtuais
Melhorar os tempos de processamento
Otimizar o espaço de armazenamento
Conteúdo do módulo
4.1. Introdução
4.2. Tipos de Armazenamento
4.2.1. MOLAP
4.2.2. ROLAP
4.2.3. HOLAP
4.3. Definição de Agregações
4.4. Processamento de cubos
4.5. Cubos Virtuais
4.6. Partições
4.7. A difícil busca do equilíbrio
Página 1 de 15
4.1. Introdução
4.2.1. MOLAP
No modo de armazenamento MOLAP (OLAP Multidimensional) uma cópia dos
dados de origem do cubo, junto com as suas agregações armazenam-se em uma
estrutura multidimensional.
Página 2 de 15
É importante considerar que enquanto os dados de origem são modificados
diretamente com as operações, os objetos com armazenamento MOLAP devem
ser processados para incorporar estas mudanças.
O tempo compreendido entre um processamento e o seguinte cria um período de
latência durante o qual a informação OLAP pode não coincidir com os dados de
origem atuais.
Como características do armazenamento MOLAP, podemos destacar:
Oferece excelente rendimento e compressão de dados.
Apresenta melhor tempo de resposta, dependendo apenas da porcentagem
das agregações do cubo.
A estrutura está muito otimizada para maximizar o rendimento das
consultas.
Geralmente este método é muito apropriado para cubos com uso freqüente
devido à sua rápida resposta.
AGREGAÇÕES E
DADOS
Visão do
Banco de Usuário
Dados
Relacional Banco de Dados
Multidimensional
4.2.2. ROLAP
Página 3 de 15
Os usos comuns deste esquema são:
Quando os clientes desejam ver as mudanças imediatamente.
Quando contamos com grandes conjuntos de dados que não são
consultados freqüentemente.
AGREGAÇÕES E
DADOS
Visão do
Banco de Usuário
Dados Banco de Dados
Relacional Multidimensional
4.2.3. HOLAP
O HOLAP (OLAP híbrido) combina atributos do MOLAP e do ROLAP.
Da mesma forma que o MOLAP, o HOLAP armazena as agregações 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 contrário, se os processos de consultas
acessam os níveis máximos de detalhe, devem retirar os dados do banco de
dados relacional e isso não é tão rápido comparado com uma estrutura MOLAP.
Os cubos armazenados como HOLAP são menores do que os MOLAP e
respondem mais rápido que os ROLAP.
Usos comuns de HOLAP:
Cubos que requerem resposta rápida.
Quando existem sumarizações baseadas em uma grande quantidade de
dados de origem.
Solução com o compromisso de reduzir o espaço ocupado sem prejudicar
totalmente o rendimento das consultas.
Página 4 de 15
DADOS AGREGAÇÕES
Visão do
Banco de Usuário
Dados Banco de Dados
Relacional Multidimensional
Página 5 de 15
MOLAP ROLAP HOLAP
Vantagens Desvantagens
Volumes de dados
Bom tempo de resposta apenas
HOLAP maiores no banco de dados
para informação sumarizada.
relacional.
Página 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.
Página 7 de 15
No gráfico é possível observar que se chega a um ponto no qual já não é possível
atingir um aumento significativo nas agregações (é importante lembrar que, neste
contexto, aumentar as agregações é sinônimo de melhorar o desempenho das
consultas), apesar de aumentar a quantidade de espaço de armazenamento.
Devemos escolher uma porcentagem situada na zona do ponto A, onde
conseguimos a porcentagem máxima de agregação com a menor quantidade de
espaço possível.
Características das agregações:
As agregações permitem melhorar os tempos de resposta
Caso não forem controladas podem provocar uma explosão nos requisitos
de armazenamento
Página 8 de 15
Esta definição deve considerar os seguintes fatores:
Modo de armazenamento escolhido (MOLAP-ROLAP-HOLAP)
Tamanho da tabela de fatos (quantidade de registros)
Número de dimensões do modelo
Porcentagem de agregações
Para determinar a freqüência de processamento do cubo devemos considerar a
análise com o cliente com relação à granularidade dos dados para o tempo. O
nível de detalhe (dia, mês, etc.) determinará a periodicidade de atualização dos
dados.
Diferente dos sistemas OLTP nos quais a atualização dos dados é realizada on-
line com as transações e a agregação dos dados é realizada no momento em que
o usuário realiza uma consulta, no OLAP o processamento dos cubos é realizado
em contra-fluxo, nos horários que não afete a tarefa dos usuários.
Página 9 de 15
4.6. Partições
Os cubos são formados por partições. Como o próprio nome diz, uma partição é
uma divisão ou fracionamento da informação que forma um cubo. Cada cubo
contém pelo menos uma partição, porém pode estar formado por múltiplas
partições.
As partições de um cubo são invisíveis para o usuário, porém o seu uso aumenta
a carga de trabalho do administrador do modelo multidimensional.
Para cada partição é possível definir a fonte de dados, o modo de armazenamento
e a porcentagem de agregação de forma independente das demais partições.
Além disso, uma partição 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 partições e elas forem
processadas adequadamente.
Dessa forma, se dividirmos o nosso cubo em partições, definiremos cada um
destes parâmetros da forma mais indicada.
Partição mais utilizada (Tempo Real):
Modo de Armazenamento: MOLAP
% de Agregação: alta
Freqüência de processamento: alta
Partição consultada de forma média (Freqüência Intermediária):
Modo de Armazenamento: HOLAP
% de Agregação: baixa
Freqüência de processamento: ocasional
Partição pouco acessada (Períodos Antigos):
Modo de Armazenamento: ROLAP
% de Agregação: nula
Freqüência de processamento: muito baixa (normalmente apenas na
criação da partição)
Página 10 de 15
Podemos criar uma partição por cada ano contido no cubo (por
exemplo, 2004, 2005 e 2006) e armazenar as partições da
seguinte forma:
2006: Em uma estrutura MOLAP, com uma alta porcentagem
de agregações, para obter uma resposta rápida das consultas.
2005: Em uma estrutura HOLAP, com uma baixa porcentagem
de agregações, que permitirá bons tempos de resposta para
consultas de resumo, com um espaço de armazenamento
mínimo.
Anos anteriores: Em uma estrutura ROLAP, com porcentagem
de agregações zero, que economizará espaço de
armazenamento. Este economia é paga com o aumento do
tempo de resposta, porém não é caro, pois as consultas são
ocasionais.
Página 11 de 15
Resposta Tempo de Resposta
Processamento
Manutenção
Tempo de
Ocupado
Espaço
Consultas Mudanças
Ação
% Pré-agregações
Partições Sim
Estudo de Caso
Página 12 de 15
Este modelo será implementado sobre um cubo denominado Vendas.
Cubo Vendas
Página 13 de 15
depois, apenas quando for solicitada pelo cliente.
Não é necessário criar um cubo virtual para poder visualizar as duas partições.
Do ponto de vista de acesso para as consultas, as partições são transparentes
para o usuário, que define o cubo como sua fonte de dados sem considerar a sua
forma de construção.
Página 14 de 15
Os tempos de resposta das consultas são um fator chave?
Estão definidos os valores mínimos ou máximos que devem
ser atendidos?
Está estimado o volume de dados que deve ser manipulado,
tanto hoje quanto no futuro?
A freqüência e o tempo de processamento são fatores
críticos?
A empresa possui o equipamento adequado para a situação
atual e a estimativa futura? Foi considerado este fator com
relação ao armazenamento e à velocidade de
processamento?
Existem critérios preestabelecidos para a definição da % de
pré-agregação?
Será necessário criar cubos virtuais?
Existe uma idéia clara da quantidade e qualidade das
consultas habituais? Existe algum padrão de filtragem
repetido, como mês ou cidade?
Página 15 de 15