Tutoriais Pentaho

As 10 regras de Ralph Kimball

User Rating: 5 / 5

Star ActiveStar ActiveStar ActiveStar ActiveStar Active
 

 

Margy Ross – Presidente Kimball Group
Maio de 2009, Intelligent Enterprise.com


Tradução livre para a língua portuguesa por BI Experts ( Parceira em capacitação de Business Intelligence da Ambiente Livre) e revisado por Ambiente Livre.

Um estudante participando de uma aula recente de modelagem dimensional do Kimball Group perguntou-me se existia uma lista de “recomendações Kimball” para a modelagem dimensional.

Abstendo-se de utilizar uma terminologia religiosa, podemos dizer que as regras a seguir não devem ser quebradas e também existem algumas regras de ouro não tão severas a serem seguidas.


Regra #1: Carregue dados detalhados para as estruturas dimensionais.

Modelos dimensionais devem ser populados com um alicerce de dados detalhados para suportar os requisitos imprevisíveis de filtragem e agrupamento necessárias para atender as consultas dos usuários de negócios. Usuários normalmente não precisam visualizar um registro por vez, mas é impossível prever em quais diferentes maneiras eles pretendem ver os dados e acessar os detalhes. Se apenas dados agregados estiverem disponíveis, então você já deve ter se deparado com padrões de utilização dos dados que levaram os usuários a chegar a uma barreira intransponível quando eles querem acessar os detalhes. É claro, dados detalhados podem ser complementados por modelos dimensionais agregados que trazem vantagens de desempenho para consultas frequentes de dados sumarizados, mas os usuários de negócios não conseguem viver apenas dos dados agregados; eles precisam dos detalhes sangrentos para responder seus diferentes questionamentos.

Regra #2: Estruture os modelos dimensionais em torno dos processos de negócios.

Os processos de negócios são as atividades desenvolvidas por sua empresa; elas representam eventos mensuráveis, como registrar um pedido ou emitir uma fatura para um consumidor. Processos de negócios normalmente capturam ou geram métricas únicas de desempenho associadas a cada evento. Estas métricas traduzidas em fatos, com cada processo de negócios representado por uma única tabela fato.
Além destas tabelas fato para cada processo, tabelas fato consolidadas às vezes são criadas para combinar métricas de vários processos em uma tabela fato com um nível padronizado de detalhe. Novamente, tabelas fato agregadas são um complemento para as tabelas fato detalhadas relacionadas aos processos de negócio, e não um substituto para elas.

Regra #3: Tenha certeza de que cada tabela fato tenha uma dimensão de data associada.

Os eventos mensuráveis descritos na Regra #2 sempre tem uma data de algum tipo associada a eles, sejam eles um balancete mensal ou uma transferência de dinheiro registrada em seu centésimo de segundo. Cada tabela fato deve ter ao menos uma chave estrangeira associada a uma tabela de dimensão data, cuja granularidade é cada único dia, com os atributos de calendário e suas características não padronizadas relacionadas a data do evento, como o período fiscal ou um indicador corporativo de feriado. Às vezes multiplas chaves estrangeiras de data estão ligadas em uma única tabela fato.

Regra #4: Certifique-se que todos os fatos em uma única tabela fato estão na mesma granularidade ou nível de detalhe.

Existem três granularidades fundamentais para classificar todas as tabelas fato:  transacional, snapshot periódico, ou snapshot acumulado. Independente de sua granularidade, cada métrica em uma tabela fato deve estar exatamente no mesmo nível de detalhe. Quando você mistura fatos representando muitos níveis de granularidade em uma mesma tabela fato, você estará criando confusão para os usuários de negócios e tornando as aplicações de BI vulneráveis a erros de valores ou outros resultados incorretos.

Regra #5: Resolva relacionamentos muitos-para-muitos em tabelas fato.

Como uma tabela fato guarda os resultados de um evento de um processo de negócios, existem inerentemente relacionamentos muitos-para-muitos (M:M) entre suas chaves estrangeiras, como diferentes produtos vendidos em diferentes lojas em diferentes dias. Estes campos de chaves estrangeiras nunca devem conter valores nulos. Às vezes dimensões podem ter valores diferentes para uma único métrica,
como diferentes diagnósticos associados com uma consulta médica ou diferentes clientes de uma conta bancária. Nestes cados, seria irracional resolver as dimensões multi-valoradas diretamente na tabela fato, pois isto poderia violar a granularidade natural da métrica. Neste caso, podemos usar um relacionamento muitos-para-muitos, com uma tabela de relacionamento em conjunto com a tabela fato.

Regra #6: Resolva os relacionamentos muitos-para-um nas tabelas de dimensões.

Hierarquicamente, relacionamentos muitos-para-um (M:1) entre atributos são normalmente desnormalizados ou concentrados em uma única tabela dimensão. Caso você não queira passar a maior parte de sua carreira desenhando modelos entidade-relacionamento para sistemas transacionais, você precisa resistir a sua instintiva tendência a normalizar ou criar um snowflake com subdimensões menores para cada relacionamento M:1; desnormalização de dimensões é a regra do jogo na modelagem dimensional.
É bastante comum ter muitos relacionamentos M:1 em uma única tabela dimensão.
Relacionamentos um-para-um, como uma única descrição de produto associada a um código de produto, também são encontradas em uma tabela dimensão.
Ocasionalmente relacionamentos muitos-para-um são resolvidos na tabela fato, como no caso de uma tabela de dimensão detalhada com milhões de linhas e com atributos frequentemente atualizados. Entretanto, usar a tabela fato para resolver relacionamentos M:1 deve ser feito de forma moderada.

Regra #7: Gravar nomes de relatórios e valores de domínios de filtros em tabelas dimensão.

Os códigos e, mais importante ainda, as decodificações e descrições associadas a eles usadas como nomes de colunas em relatórios e como filtros em consultas devem ser gravadas em tabelas dimensionais. Evite gravar campos com códigos criptográficos ou volumosos campos descritivos na própria tabela fato; da mesma forma, não grave apenas o código na tabela de dimensão e assuma que os usuários não precisam das decodificações descritivas ou que elas pódem ser resolvidas na aplicação de BI. Se a informação for um nome de linha/coluna ou um filtro de menu, então ela deve ser tratada como um atributo de dimensão.
Embora tenhamos dito na Regra #5 que as chaves estrangeiras de tabelas fato nunca devem ser nulas, também é aconselhável evitar nulos em campos de atributos de tabelas dimensão trocando o valor nulo por um valor como "NA" (não se aplica) ou algum outro valor padrão, determinado pela administração de dados, para reduzir a confusão entre os usuários se possível.

Regra #8: Tenha certeza de que as tabelas dimensão usam uma chave artificial.

Chaves artificiais, sem significado e sequenciais (exceto para a dimensão data, onde chaves cronologicamente definidas e mais inteligíveis são aceitáveis) provém um grande número de benefícios operacionais; chaves menores significam menores tabelas fato, menores índices, e desempenho melhorado. Chaves artificiais são absolutamente necessárias no caso de você estar registrando as alterações dos atributos da dimensão com uma nova linha para cada mudança. Mesmo que seus usuários de negócios inicialmente não visualizem o valor de registrar as alterações nos atributos, usar chaves artificiais tornará uma futura alteração de política menos onerosa. As chaves artificiais também permitem mapear múltiplas chaves
transacionais para um único perfil, adicionalmente protegendo contra atividades operacionais inesperadas, como a reutilização de um código de produto obsoleto ou a aquisição de uma outra empresa com suas próprias regras de codificação.

Regra #9: Crie dimensões padronizadas para integrar os dados na empresa.

Dimensões padronizadas (também conhecidas por dimensões comuns, principais, ou de referência) são essenciais para o data warehousing empresarial. Gerenciadas no sistema de ETL e então reutilizadas associadas a diversas tabelas fato; dimensões padronizadas trazem atributos descritivos consistentes para os modelos dimensionais e permitem a habilidade de navegar através dos dados integrados de diferentes
processos de negócios. A matriz de negócios da empresa é o diagrama de arquitetura chave para representar os processos de negócios principais da organização e suas dimensões associadas. A reutilização das dimensões padronizadas finalmente diminui o tempo de desenvolvimento eliminando o desenho redundante e o esforço de desenvolvimento; entretanto, dimensões padronizadas requerem um compromisso e investimento em administração de dados e governância, desta forma você não precisa que cada pessoa concorde com cada uma das dimensões para atingir a conformidade.

Regra #10: Avalie requisitos e realidade continuamente para desenvolver uma solução de DW/BI que seja aceita pelos usuários de negócios e suporte seu processo de tomada de decisões.

Os responsáveis pela modelagem dimensional devem constantemente balancear os requisitos do usuários de negócios com as realidades inerentes aos dados de origem associados para desenvolver um modelo que possa ser implantado, e que, mais importante ainda; tenha uma boa chance de ser útil aos negócios. A avaliação dos requisitos-verus-realidades é parte da tarefa dos desenvolvedors de DW/BI, apesar de você estar focado na modelagem dimensional, estratégia do projeto, arquiteturas técnica/ETL/BI ou implantação/planejamento de manutenção.
Se você tem lido nossos artigos na Intelligent Enterprise, os livros Toolkit ou as dicas de Arquitetura mensais, estas regras não devem ser novas para você, mas aqui você as tem consolidadas em um único local que póde ser utilizado como referência para quando você estiver envolvido no desenho ou revisão de seus modelos.

Sobre a Ambiente Livre

Ambiente LivreAmbiente Livre é especialista em Open Source e Free Software e tem uma divisão especialista em Business Intelligence e Business Analytics. Fornece implantação, integração, suporte, consultoria e treinamento Business Intelligence com a plataforma Pentaho Business Intelligence e Analytics a mais de 10 anos.

Já capacitou centenas de empresas para trabalhar com Business Intelligence, ECM, BPM, CRM e Big Data e usa uma metodologia própria de ensino.

Conheça também as divisões de ECM e BPMCRM e CMS e Big Data e Data Science.