Módulo 4. Construindo uma solução OLAP



Documentos relacionados
DATA WAREHOUSE. Introdução

Data Warehousing. Leonardo da Silva Leandro. CIn.ufpe.br

Módulo 2. Definindo Soluções OLAP

SERVIÇO DE ANÁLISE DE REDES DE TELECOMUNICAÇÕES APLICABILIDADE PARA CALL-CENTERS VISÃO DA EMPRESA

Arquitetura física de um Data Warehouse

Microsoft Access XP Módulo Um

Data Warehouse. Compras. Caroline B. Perlin

Prof. Marcelo Henrique dos Santos

Disciplina: Unidade III: Prof.: Período:

CRIANDO BANCOS DE DADOS NO SQL SERVER 2008 R2 COM O SQL SERVER MANAGEMENT STUDIO

Admistração de Redes de Computadores (ARC)

O que é RAID? Tipos de RAID:

Logística e a Gestão da Cadeia de Suprimentos. "Uma arma verdadeiramente competitiva"

Data Warehouse. Debora Marrach Renata Miwa Tsuruda

MÓDULO 8 ARQUITETURA DOS SISTEMAS DE BANCO DE DADOS

1. Arquivos Seqüenciais

Backup. Permitir a recuperação de sistemas de arquivo inteiros de uma só vez. Backup é somente uma cópia idêntica de todos os dados do computador?

Interatividade aliada a Análise de Negócios

SISTEMA DE ADMINISTRAÇÃO DE LOCAÇÃO IMOBILIÁRIA LISTA DE ATUALIZAÇÕES NOVAS

ISO/IEC 12207: Gerência de Configuração

E um dia, quem sabe, poderemos despertar para o ser empreendedor. E ganhar dinheiro com esta história toda.

Manual AGENDA DE BACKUP

Montagem e Manutenção. Luís Guilherme A. Pontes

ACOMPANHAMENTO GERENCIAL SANKHYA

Manual Operacional SIGA

Sistemas Operacionais

Banco de Dados - Senado

Fundamentos da Análise Multidimensional

Estatísticas Nacionais do (VoIP) Manual do Usuário Estatísticas do

MÓDULO 6 INTRODUÇÃO À PROBABILIDADE

Gerenciamento de Contatos

Tópicos Especiais em Informática

Software. Gerenciamento de Manutenção

Persistência e Banco de Dados em Jogos Digitais


Controle do Arquivo Técnico

Microsoft Access: Criar consultas para um novo banco de dados. Vitor Valerio de Souza Campos

TÓPICOS AVANÇADOS EM ENGENHARIA DE SOFTWARE

Podemos encontrar uma figura interessante no PMBOK (Capítulo 7) sobre a necessidade de organizarmos o fluxo de caixa em um projeto.

Módulo 5. Implementando Cubos OLAP

Disciplina: Suprimentos e Logística II Professor: Roberto Cézar Datrino Atividade 3: Transportes e Armazenagem

Sistemas Operacionais

Multiplexador. Permitem que vários equipamentos compartilhem um único canal de comunicação

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)

GSAN. Módulo Gerencial. Documentação de Funcionalidades Incluídas e Alteradas

Protocolo em Rampa Manual de Referência Rápida

Guia Site Empresarial

Controle de Estoque. Apresentação. Cadastro de Grupos de Produtos. Cadastro de Produtos

Análise de Dados do Financeiro

XDOC. Solução otimizada para armazenamento e recuperação de documentos

MÓDULO 9 METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS

Disciplina: Sistemas Operacionais - CAFW-UFSM Professor: Roberto Franciscatto

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados

SEI Superintendência de Estudos Econômicos e Sociais da Bahia Av Luiz Viana Filho, 435-4ª avenida, 2º andar CAB CEP Salvador - Bahia Tel.

Arquitetura de Rede de Computadores

Backup.

Engenharia de Software III

LINGUAGEM DE BANCO DE DADOS

Assessoria Técnica de Tecnologia da Informação - ATTI SIGA SAÚDE - BUSINESS INTELLIGENCE BI SIGA-SP. Manual de Orientação

TI em Números Como identificar e mostrar o real valor da TI

RELATÓRIOS GERENCIAIS

Laboratório de ENGSOF Estudo de Caso. Prof. André Pereira, MSC, PMP

OI CONTA EMPRESA MANUAL DO USUÁRIO

Arquitetura de Computadores. Sistemas Operacionais IV

PLANEJAMENTO OPERACIONAL: RECURSOS HUMANOS E FINANÇAS MÓDULO 16

Melhores práticas no planejamento de recursos humanos


Entendendo como funciona o NAT

4 Segmentação Algoritmo proposto

Manual AGENDA DE BACKUP

Editor de Questões E24H

MANUAL DE UTILIZAÇÃO

E-books. Guia para Facebook Ads. Sebrae

7. Análise e comparação dos programas VMI nas empresas XYZ e DEF

Material de Apoio. Sistema de Informação Gerencial (SIG)

Assessoria Técnica de Tecnologia da Informação - ATTI. Projeto de Informatização da. Secretaria Municipal de Saúde do. Município de São Paulo

Orientação a Objetos

Fundamentos de Sistemas Operacionais

PAYBACK - CALCULANDO O TEMPO NECESSÁRIO PARA RECUPERAR O INVESTIMENTO

O planejamento do projeto. Tecnologia em Gestão Pública Desenvolvimento de Projetos Aula 8 Prof. Rafael Roesler

Microsoft Project 2003

Módulo 3 Custo e nível dos Estoques

TOTVS BA Guia de Customização Linha Logix

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0

Gerenciamento de Estúdios de Tatuagem. MANUAL DO USUÁRIO (Versão do manual: 2009.a)

Analysis Services. Manual Básico

DECODIFICADOR DE DISPLAY DE 7 SEGMENTOS COM LATCH

TAM: o espírito de servir no SAC 2.0

Prof. Dr. Marco Antonio Leonel Caetano. Aula 01 - Prof. Dr. Marco Antonio Leonel Caetano

Para construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd.

Tabela e Gráficos Dinâmicos Como estruturar dinamicamente dados no Excel

1.2) Na tela seguinte, o primeiro item a ser selecionado é o Unidade Acumuladora1.

Data Warehouse Granularidade. rogerioaraujo.wordpress.com - rgildoaraujo@gmail.com 1

PARANÁ GOVERNO DO ESTADO

UM CONCEITO FUNDAMENTAL: PATRIMÔNIO LÍQUIDO FINANCEIRO. Prof. Alvaro Guimarães de Oliveira Rio, 07/09/2014.

O ESPAÇO NULO DE A: RESOLVENDO AX = 0 3.2

Você sabia que... O pagamento numa loja virtual. Guia #6 Como as formas de pagamento podem interferir nas minhas vendas

Banco de Dados. Uma coleção de dados relacionados [ELMASRI/NAVATHE]

Transcrição:

Módulo 4. Construindo uma solução OLAP 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 Nesta unidade abordaremos os conceitos que devem ser considerados para a implementação de um data mart. Serão descritos os diferentes tipos de armazenamento e as considerações que devem ser analisadas para melhorar o desempenho do sistema. Além disso, veremos qual é a freqüência conveniente para processar nossos cubos e explicaremos o uso dos cubos virtuais e partições. Ao finalizar este módulo, o leitor conhecerá qual é a forma de armazenamento mais adequada para os requerimentos da empresa e como balancear os diferentes fatores que ocorrem na implementação de um cubo. 4.2. Tipos de Armazenamento Ao realizar um pequeno balanço dos módulos anteriores, vemos que já temos um desenho de requerimentos, sabemos de onde e como obter os dados e contamos com a definição 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 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 Banco de Dados Relacional Banco de Dados Multidimensional Visão do Usuário 4.2.2. ROLAP Em um modelo ROLAP (OLAP Relacional) toda a informação do cubo, seus dados, sua agregação, somas, etc., são armazenadas em um banco de dados relacional. Diferente do modo de armazenamento MOLAP, o ROLAP não armazena cópia 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 espaço de armazenamento quando se trabalha com grandes conjuntos de dados consultados com pouca freqüência; por exemplo, dados exclusivamente históricos. 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 Banco de Dados Relacional Banco de Dados Multidimensional Visão do Usuário 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 Banco de Dados Relacional Banco de Dados Multidimensional Visão do Usuário É importante considerar que, se os usuários geram consultas que devem utilizar os dados do nível mais baixo o HOLAP pode não ser a melhor opção. Dados detalhados Dados sumarizados Exemplo de operadora telefônica. Vamos supor que: Sejam medidas as ligações realizadas x Dia x Cliente. O tempo é estruturado como Dia Mês Ano. Os Clientes são estruturados como Cliente Cidade País. Definição MOLAP ROLAP HOLAP Ligações para um Dia e Cliente EM BR BR Soma das ligações para algum cruzamento de Cliente Tempo onde pelo menos uma das duas dimensões não esteja no EM BR EM nível mínimo. (Cliente e Mês ou Ano, Dia e Cidade ou País, etc.) EM = Estrutura Multidimensional BR = Banco de Dados Relacional Página 5 de 15

MOLAP ROLAP HOLAP Armazenamento das Agregações Modelo Multidimensional Banco de dados relacional Modelo Multidimensional Armazenamento dos dados Modelo Multidimensional Banco de dados relacional Banco de dados relacional Facilidade de Criação Velocidade de resposta Simples Muito Simples Simples Boa Regular ou Baixa Boa para consultas que apresentam agregações, Regular para dados de baixo nível Escalabilidade Problemas de escalabilidade São mais escaláveis Depende do perfil de consultas Recomendados para Cubos com uso freqüente Dados que não são utilizados freqüentemente Se o cubo requer uma resposta rápida Vantagens Desvantagens MOLAP ROLAP Melhor desempenho no tempo de resposta. Economia de espaço de armazenamento. Útil quando se trabalha com conjuntos de dados muito grandes. Duplica o armazenamento de dados (ocupa mais espaço) Tempo de Latência O tempo de resposta das consultas é maior. HOLAP Bom tempo de resposta apenas para informação sumarizada. Volumes de dados maiores no banco de dados 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. 4.3. Definição de Agregações Outro fator a considerar na implementação do modelo OLAP, além do modo de armazenamento é a definição da porcentagem de agregações. Denomina-se agregação ao processo de pré-calcular o cálculo dos dados através dos níveis para diminuir os tempos de resposta nos processos de busca de informação. A porcentagem de agregação determina a proporção ou profundidade até onde são realizados os pré-cálculos. As agregações são armazenadas na estrutura multidimensional (de acordo com a forma de armazenamento escolhida). As agregações são 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 agregações é importante levar em consideração a especificação das restrições de armazenamento e de porcentagem de agregação, para conseguir uma boa solução de compromisso entre o tempo de resposta das consultas e os requisitos de armazenamento. Se forem calculadas todas as agregações possíveis seria necessário uma grande quantidade de tempo de processamento e espaço de armazenamento. Se não forem pré-calculadas as agregações (0%) a quantidade de espaço de armazenamento necessário fica reduzida ao mínimo, porém o tempo de resposta aumentará. Portanto, deve existir um equilíbrio entre o espaço de armazenamento, a porcentagem de possíveis agregações pré-calculadas e o desempenho requerido. É possível ver o gráfico desta relação na figura: 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 Requerem armazenamento adicional Caso não forem controladas podem provocar uma explosão nos requisitos de armazenamento Para um maior número de agregações é necessário mais tempo de processamento e mais requerimento de espaço. Um menor número de pré-agregações reflete em um pior tempo de resposta das consultas. 4.4. Processamento de Cubos Nesta etapa devemos definir quando e com qual freqüência processar os cubos. Quando são processadas dimensões ou cubos, estão sendo atualizados os dados, as estruturas multidimensionais ou ambos. 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 online 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. No sistema de tráfego telefônico, se os dados das ligações forem recebidos uma vez por semana, então devemos processar o cubo em um dia do final de semana para não afetar a tarefa do usuário. Se a informação das ligações for recebida de forma diária, o processamento pode ser realizado uma vez por dia, tarde da noite ou bem cedo pela manhã. 4.5. Cubos Virtuais Os cubos virtuais são visualizações de cubos reais. Os cubos virtuais podem ser utilizados: Quando o usuário deseja ver informação conjunta de dois cubos diferentes. Quando deseja ter uma visão parcial de um cubo. É uma forma de simplificar a manipulação da segurança. No sistema de tráfego telefônico, pode ser desejável relacionar as ligações telefônicas com a quantidade de horas trabalhadas. Uma forma simples de atender este requisito é criar um cubo virtual que recolha dados dos cubos de Tráfego e RH. 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) Do ponto de vista administrativo cada partição pode ser manipulada como se fosse um cubo independente. Pode ter fonte de dados, modo de armazenamento, porcentagem de agregação e freqüência de processamento próprios. 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. Desenhar mal uma partição, sem considerar os filtros habitualmente utilizados pelo usuário, aumenta a carga administrativa e não melhora o desempenho das consultas. Se a lógica que define as partições não está corretamente desenhada, os dados podem ser perdidos ou duplicados. 4.7. A difícil busca do equilíbrio No momento de implementar o cubo, devemos analisar em conjunto os seguintes fatores, tentando atingir um ponto de equilíbrio. % de Pré-agregação. Tempo de Processamento. Requerimentos de tempos de resposta. Tipo de armazenamento. Tipificação das consultas (Base para decidir se serão manipuladas partições). Uso de Partições. Página 11 de 15

Ação Resposta Tempo de Processamento Tempo de Resposta Consultas Mudanças Espaço Ocupado Manutenção % Pré-agregações Armazenamento MOLAP X Alto Alto x Agenda Alto ROLAP X Baixo Baixo Direto Baixo HOLAP X Médio Médio x Agenda Médio Partições Sim Estudo de Caso Veremos como implementar o desenho do modelo OLAP desenvolvido no módulo anterior. Como vimos, nosso modelo era: Página 12 de 15

Este modelo será implementado sobre um cubo denominado Vendas. Cubo Vendas Levando em consideração que o nosso cliente analisa a sua informação com relação aos períodos de tempo, filtrando por ano, construiremos duas partições dividindo o cubo de forma anual. Dessa forma obteremos uma partição para 2005 e outra para 2006. 2005 O objetivo desta partição é oferecer suporte às consultas realizadas com pouca freqüência, motivo pelo qual optamos por definir parâmetros que permitam a economia de espaço ocupado, aceitando um desempenho mais baixo. A partição para 2005 terá: Modo de armazenamento: HOLAP Porcentagem de agregação: 10% Freqüência de processamento: Será processada no momento da criação e Página 13 de 15

depois, apenas quando for solicitada pelo cliente. 2006 O objetivo desta partição é oferecer suporte às consultas realizadas habitualmente e um dos requerimentos básicos é o tempo de resposta das consultas, motivo pelo qual optamos por definir parâmetros que apontem para a obtenção de um melhor desempenho, aceitando o custo de espaço ocupado e tempo de processamento. A partição de 2006 terá: Modo de armazenamento: MOLAP Porcentagem de agregação: 40% Freqüência de processamento: O processamento será realizado diariamente a partir das 22:00 hs, pois sabemos que os usuários não realizam consultas nesse horário. 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. Existem diferentes formas de armazenamento dos dados e agregações de um cubo e devemos selecionar um deles de acordo com as necessidades e possibilidades da nossa empresa. É conveniente utilizar partições 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 informações de diferentes cubos. 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