quarta-feira, 13 de junho de 2012

O que é business intelligence parte II - OLTP X OLAP


Olá, pessoal.

Vamos continuar desvendando os conceitos básicos do BI.

Hoje falaremos sobre duas ferramentas utilizadas em banco de dados e suas diferenças.
OLTP X OLAP

Vamos começar com o OLTP.
O que é OLTP:
OLTP (On- line Transactional Processing) é um sistema utilizado como base de SGBD (Sistema Gerenciador de Banco de Dados) transacionais ele permite que a realização de comandos básicos como insert, update e delete.  É utilizado pela maior parte das empresas em pequenas transações em tempo real e de forma rápida, como não salvam histórico de dados não são ideais para utilização em suporte a tomada de decisão.
O Ambiente:
O ambiente OLTP é operacional, para leitura e gravação de dados. O acesso aos dados é atômico, ou seja, não é possível maior detalhamento de dados do que ele já apresenta e estes são normalizados.
Seus principais pontos fortes são:
·         Eficiência: A possibilidade da redução de documentos e maior velocidade na resposta dos cálculos de despesas ou retornos são exemplos de como esse sistema pode beneficiar a empresa que o tem como base de seu SGBD.

·         Simplicidade: Ele permite que o acesso aos dados seja mais fácil, rápido e organizado, fazendo com que sua utilização aperfeiçoe processos.

Segue modelo OLTP:


O que é OLAP:
On- line Analytical Processing é um SGBD relacional.
Funciona de forma dedicada à tomada de decisão, possui varias dimensões visualizáveis, hierarquizadas em várias granularidades e segue um modelo lógico multidimensional. São geralmente desenvolvidas para trabalhar em bancos de dados não normalizados.
Os dados presentes neste sistema não podem ser alterados, já que o sistema permite update dos dados, mas não manipulações com exclusão ou modificação direta dos dados.



Sua principal característica é a visão multidimensional, são consultas que fornecem informações sobre os dados presentes em uma ou mais dimensões, mas para entender esse conceito vamos falar sobre outras características:

·         Cubo: É uma estrutura que armazena os dados de negócio em formato multidimensional, tornando-os mais fácil de analisar.
·         Dimensão: É uma unidade de análise que agrupa dados de negócio relacionados. As dimensões se tornam cabeçalho de colunas e linhas, como exemplo linhas de produto, regiões de venda ou períodos de tempo.
·         Hierarquia: É composta por todos os níveis de uma dimensão, podendo ser balanceada ou não. Na hierarquia balanceada os níveis mais baixo são equivalentes, porém, isto não ocorre nas hierarquias não balanceadas onde a equivalência hierárquica não existe. Por exemplo, em uma dimensão geográfica o nível país não possui o subnível Estado para um determinado membro e possui para outro.
·         Membro: é um subconjunto de uma dimensão. Cada nível hierárquico tem membros apropriados aquele nível. Por exemplo, em uma dimensão geográfica existe o nível e seus membros.
·         Medida: É uma dimensão especial utilizada para realizar comparações. Ela inclui membros tais como: custos, lucros ou taxas.




Certo, visto esses conceitos básicos vamos falar sobre os operadores OLAP para navegação.
São eles:
·         Roll-up
·         Drill-down
·         Drill-through
·         Drill-cross
·         Slice
·         Dice
·         Pivot
·         Rank
Vamos começar falando sobre os operadores de navegação ao longo das hierarquias.
·         Roll-up: Abstrai detalhes, navega entre as hierarquias diminuindo nível do detalhe. Ex: Região -> País
·         Drill-down: Aumento o detalhamento dos dados, navegar entre as hierarquias buscando detalhamentos não visualizados. Ex: Região -> Estado
·         Drill-through: Detalha os valores, ao longo de uma dimensão dada além do nível mais baixo do cubo.
·         Drill-across: Detalha vários cubos com dimensões compartilhadas.

Passemos então ao operador retículo de cubos.
·         Slice: Extrai um sub-cubo das células verificando restrições ao longo de uma dimensão.
·         Dice: Extrai um sub-cubo das células verificando restrições ao longo de várias dimensões.

E finalmente os operadores de visualização de resultados.
·         Pivot: O pivot permite diferenciar as visualizações através de trocas de colunas por linhas ou alterando eixos das tabelas.
·         Rank: O rank permite ordenar os dados de uma dimensão de acordo com a medida corrente e serve também como filtro com ordenar os valores de vendas por ordem de data ou do maior para o menor valor.



O OLAP pode ser composto por alguns modelos físicos de dados dos quais os principais são o ROLAP e o MOLAP.

MOLAP:

O modelo MOLAP(Multidimensional On-Line Analytical Processing) armazena os dados de forma multidimensional, sua implementação é frequentemente feita em banco de dados relacional, porém não normalizado na 3ª forma. Seu acesso acontece diretamente no servidor multidimensional e não atinge a granularidade mínima.

ROLAP:
O modelo ROLAP(Relational On-line Analytical Processing) armazena os dados das tabelas relacionais, apresenta dados somente de forma multidimensional e por serem também relacionais apresentam maior compatibilidade com os sistemas, fontes, OLTP. Porém necessita de remodelagem prévia em esquemas especializados que serão modelados em star schema ou snow flake.

Modelo de dados Star Schema(Estrela):

O modelo de dados Star Schema possui uma tabela Fato contendo no mínimo uma coluna por medida agregada e uma coluna por chave de dimensão. Tabelas de dimensão contendo uma coluna para cada atributo descrevendo a dimensão e geralmente uma coluna por hierarquia.
Não se preocupe com redundâncias, pois haverá já que o modelo não possui normalização.



Modelo Snow Flake(Floco de Neve):

O modelo Snow Flake é parecido como o Star Schema. A diferença principal está na normalização das tabelas dimensões. Isso facilita a evolução das dimensões e ajuda a desocupar algum espaço antes utilizado pelas próprias, porém como passa a existir a necessidade de junções para acessar dados normalizados o tempo de resposta acaba ficando maior e talvez até mesmo pela velocidade e facilidade o modelo Estrela seja mais popular.



O DW é utilizado para armazenar informações e o OLAP para recuperá-las, ambos são
especializados para exercer suas funções de forma eficiente. As duas tecnologias são
complementares de modo que um bom DW é planejado com produção de relatórios em mente.
Desta forma, para explorar o DW completamente é necessário o OLAP que irá extrair e
alavancar totalmente as informações nele contidas.

O OLAP e Data Mining são partes integrantes de todo e qualquer processo de suporte à
decisão. Ainda, nos dias de hoje, a maioria dos sistemas de OLAP tem o foco no provimento de
acesso aos dados multidimensionais, enquanto os sistemas de DM lidam com a análise de
influência para os dados de uma única dimensão. As grandes empresas como a IBM, Oracle
estão liberando versões de seus RDBMS que possuem ferramentas de OLAP e DM. Quando os
usuários possuem ferramentas de OLAP e não de mineração de dados, eles gastam boa parte de
seu tempo fazendo as tarefas pertinentes a um DM, como classificações e predições das
informações recebidas.

Bibliografia: 






É isso aí galera, por enquanto. Espero ter conseguido satisfazer curiosidades.

Obrigado pela visita e até o próximo post.


Nenhum comentário:

Postar um comentário