quarta-feira, 9 de maio de 2012

Um passo de cada vez...

Este é um momento especial.

Há pouco mais de 2 (dois) meses fiz a primeira postagem de um total de 13 até o momento, gerando mais de 1000 visualizações de amigos / conhecidos e pessoas que nem conheço ou nem conhecia (pois já conheci novas pessoas por conta deste projeto).

Pessoas espalhadas por quatro continentes, que usam os mais diversos sistemas operacionais, navegadores consagrados e outros que eu nem sabia que existiam como o Flipboard e o SimplePie, até o Netscape ainda está ativo.

Estou gostando da forma que o "Diário de Bordo" está tomando, refletindo novos aprendizados e servindo como base de conhecimento / consulta.

Muito obrigado a todos que direta ou indiretamente apoiaram este projeto e vamos em frente, em breve novas postagens abordando aspectos mais práticos.

Até breve e sinta-se a vontade para deixar o seu comentário.

Abraços.

sexta-feira, 4 de maio de 2012

Modelagem multidimensional IV

Agora vamos aos "fatos", ao centro das atenções, pois são as tabelas fatos que irão guardar no data warehouse a respota para todas as questões.

É na tabela fato que o analista de SAD armazenará as métricas do negócio, possibilitando recuperar dados quantitativos e responder por exemplo quanto foi vendido de um determinado produto? em determinada época? em determinado local? dentre outras questões.

Os fatos ou métricas armazenadas podem ser de três tipos:
  • Aditivas: São as métricas que podem ser sumarizadas adicionando seus valores ao longo do tempo. Por exemplo o valor, o custo e/ou a quantidade de um pedido podem ser somados independente das combinações dos parametros das dimensões;
  • Não-aditivas: É o inverso das aditivas, por exemplo valores percentuais (no geral não são somados) e como normalmente são derivadas de outras métricas aditivas, fica mais prático calcular em tempo de execução do que armazenar estas métricas.
  • Semi-aditiva: Estas métricas podem ser sumarizadas apenas em algumas dimensões, como exemplo temos o saldo de uma conta corrente, que pode ser sumarizada na dimensão cliente, na dimensão agência mas não faz sentido somar o saldo da conta ao longo do tempo.
Ampliando esta questão dos tipos de métricas, temos o exemplo da temperatura (métrica não-aditiva) e do saldo da conta (métrica semi-aditiva) que não faz sentido somar, mas podemos utilizar outras operações como média, máximo e mínimo;

Normalmente na tabela fato a chave primária (PK) é composta, sendo que cada elemento é uma chave estrangeira (FK) vinculada à uma tabela dimensão, sendo que a dimensão tempo sempre faz parte deste conjunto.
Em alguns casos podemos ter uma tabela sem fato, onde apenas a relação entre as dimensões já é o suficiente para a área de negócios, conforme o exemplo:

quarta-feira, 2 de maio de 2012

Modelagem multidimensional III

Vamos falar um pouco sobre a tabela "dimensão", um item importante na modelagem multidimensional e que tem algumas caracteristicas próprias que devemos observar:

  • Projete a tabela dimensão na perspectivas do usuário. Utilize textos descritivos e códigos que sejam de fácil entendimento do usuário final, não tente economizar alguns bytes neste quesito.
  • Evite utilizar técnicas de normalização dos dados. Esta técnica aumenta a complexidade das consultas, impactando no desempenho, além de não compensar a economia de espaço obtida.
  • Utilize uma chave primária genérica e simples. Este procedimento evita problemas de atualização que surgem aos utilizar, por exemplo, o próprio código do cliente ou produto como chave primária, além de proporcionar um melhor desempenho na utilização dos índices.
  • Utilize múltiplas colunas de atributos. Com isto ficará mais fácil identificar a chave em questão.

Abaixo alguns exemplos de atributos que podem ser utilizados para ajudar a detalhar uma chave facilitando na definição dos parametros da consulta OLAP.


Atributos estruturais para relacionamentos pai-filho;
Fonte: HARRISON, Thomas H. Intranet Data Warehouse. São Paulo, Berkeley, 1998. 362 p.











   









Atributos para definição de nível;
Fonte: HARRISON, Thomas H. Intranet Data Warehouse. São Paulo, Berkeley, 1998. 362 p.















Atributos tipo "flag" de resolução e/ou de seqüência;
Fonte: HARRISON, Thomas H. Intranet Data Warehouse. São Paulo, Berkeley, 1998. 362 p.