terça-feira, 20 de março de 2012

OLTP & OLAP

OLTP (Online Transaction Processing ou Processamento de Transações em Tempo Real) caracteriza-se por um grande número de transações (INSERT, UPDATE e DELETE) envolvendo uma pequena quantidade de dados em um ambiente multi-acesso, mantendo a integridade referencial.

No planejamento do banco de dados busca-se reduzir o tamanho e a redundância dos dados e normalmente se aplica a 3FN (terceira Forma Normal) na modelagem, são os dados primitivos ou dados operacionais segundo W. H. Inmon.

OLAP (Online Analytical Processing ou Processamento Analítico em Tempo Real) caracteriza-se por poucas transações (INSERT e SELECT) envolvendo um volume muito grande de dados.

Na busca por eficiência das consultas, os dados armazenados no DW ou DM´s, normalmente são desnormalizados e utilizam esquemas multi dimensionais, são os dados derivados ou dados SAD segunda W. H. Inmon.

Fonte: http://datawarehouse4u.info/OLTP-vs-OLAP.html
Juntamente com o OLAP surgiram novos termos como DOLAP, ROLAP, MOLAP, HOLAP, slice and dice, pivot table, drill down/up que ampliaremos posteriormente.

A tabela abaixo extraída do livro "Como construir o Data Warehouse" de W. H. Inmon apresenta algumas diferenças conceituais entre os dados primitivos e os dados derivados, vejamos:

DADOS PRIMITIVOS ou
DADOS OPERACIONAIS
DADOS DERIVADOS ou
DADOS SAD
  • Baseados em aplicações
  • Baseados em assuntos ou negócios
  • Detalhados
  • Resumidos ou refinados
  • Exatos em relação ao momento do acesso
  • Representam valores de momentos já decorridos ou instantâneos
  • Atendem à comunidade funcional
  • Atendem à comunidade gerencial
  • Podem ser atualizados
  • Não são atualizados
  • São processados repetitivamente
  • Processados de forma heurística
  • Requisitos de processamento conhecidos com antecedência
  • Requisitos de processamento não são conhecidos com antecedência
  • Compatíveis com o SDLC
  • Ciclo de vida completamente diferente
  • Performance é fundamental
  • Performance atenuada
  • Acessados uma unidade por vez
  • Acessados um conjunto por vez
  • Voltados para transações
  • Voltados para análises
  • O controle de atualizações é atribuição de quem tem a posse
  • O controle de atualizações não é problema
  • Alta disponibilidade
  • Disponibilidade atenuada
  • Gerenciados em sua totalidade
  • Gerenciados por subconjuntos
  • Não contemplam a redundância
  • A redundância não pode ser ignorada
  • Estrutura fixa; conteúdos variáveis
  • Estrutura flexível
  • Pequena quantidade de dados usada em um processo
  • Grande quantidade de dados usada em um processo
  • Atendem às necessidades cotidianas
  • Atendem às necessidades gerenciais
  • Alta probabilidade de acesso
  • Baixa ou modesta probabilidade de acesso

Por enquanto é só, até o próximo assunto.

Persistindo alguma dúvida, curiosidade ou querendo dar uma sugestão, crítica ou elogio envie seu comentário.

2 comentários:

  1. Sandro, muito legal o post. Ficou clara a diferença entre os termos; estes termos derivados eu não conhecia. Parabéns e sucesso aí na nova empreitada. Abraço

    ResponderExcluir