sexta-feira, 28 de setembro de 2007

Modelos Dimensionais

O modelo dimensional é uma forma de modelar os dados, onde as informações se relacionam formando um cubo.
Sendo assim podemos subdividir o cubo e aprofundar em cada dimensão ou eixo, de modo a extrair mais detalhes, por exemplo, num modelo relacional de uma organização, torna-se muito complicado extrair informação e muitas vezes até impossíveis de serem analisadas.
O modelo dimensional permite visualizar dados abstractos de forma simples e relacionar informações de diferentes sectores da organização de forma muito eficaz.



Um modelo de dados dimensional é extremamente simples e intuitivo, isto permite aos utilizadores da base de dados identificarem mais facilmente onde estão localizadas as informações.

Um outro factor importante para a modelação dimensional é a velocidade de acesso a uma informação, com modelos simples sem muitas tabelas para relacionar, é muito rápido para extrair as informações necessárias.
Um modelo dimensional conta basicamente com uma tabela de factos central e tabelas dimensionais ligadas directamente a elas.


Os Factos e Dimensões são tabelas da base de dados, só que no modelo dimensional adquirem os nomes de Factos e Dimensões de acordo com a função da tabela.

Tipos de Modelos Dimensionais


- O Modelo Estrela (Star Schema)


No modelo estrela, todas as tabelas se relacionam directamente com a tabela de factos (Ver figura acima)
Este modelo é chamado estrela porque a tabela de factos fica ao centro e é rodeada pelas tabelas de dimensão, parecendo uma estrela.
Mas o ponto forte a fixar neste modelo é que as dimensões não são normalizadas.


- O Modelo Floco de Neve (Snow Flake)


No modelo Floco as tabelas dimensionais relacionam-se com a tabela de factos, mas algumas dimensões relacionam-se apenas entre elas. Isto ocorre por motivos de normalização das tabelas dimensionais, visando diminuir o espaço ocupado por essas tabelas, e também para evitar a redundância de dados.


Conclusão

O Modelo Floco (Snow Flake) reduz o espaço de armazenamento das tabelas dimensionais mas acrescenta várias tabelas ao modelo, deixando-o mais complexo, e tornando mais difícil o acesso e processamento por parte dos utilizadores (humanos ou software) da base de dados.

O Modelo Estrela (Star Schema) é mais simples e de mais fácil de navegação, no entanto, desperdiça espaço repetindo as mesmas descrições ao longo de toda a tabela (redundâncias). Testes efectuados demonstram também que a optimização resulta num ganho menor que 1% do espaço total da base de dados.

Portanto é recomendado utilizar um modelo estrela, pois fornece um acesso mas rápido aos dados e é mais fácil de aceder.
Criar tabelas auxiliares, deve ser efectuado quando for estritamente necessário, ou seja, quando demonstrar um benefício que justifique a perda de desempenho nas consultas.

2 comentários:

Rui Cunha disse...

Parabens Rui, o teu blog tá mto bom!
Quoting:
"O Modelo Estrela (Star Schema) é mais simples e de mais fácil de navegação, no entanto, desperdiça espaço repetindo as mesmas descrições ao longo de toda a tabela (redundâncias). Testes efectuados demonstram também que a optimização resulta num ganho menor que 1% do espaço total da base de dados."

Só uma achega a esta conclusão: em termos de armazenamento num modelo dimensional as dimensões são uma gota no oceano que são os factos...
dimensões: mtas colunas poucos registos
factos: muitos registos poucas colunas
daí o 1%


abraço!

Leandro disse...

da proxima vez, poderia citar a fonte, ou de onde copiou e colou o texto
http://www.tecnologiainfo.eti.br/documentos/bi/ModeloDimensionalDataWarehouse.doc