O proprietário do armazém de dados deve decidir como responder às mudanças nas descrições dos dimensional entidades como Funcionário, Cliente, Produto, Fornecedor, Local e outros. Em 30 anos de estudo desta questão, descobri que só são necessários três tipos diferentes de respostas. Eu chamo a estas dimensões em mudança lenta (SCD) tipos 1, 2 e 3. Na coluna do mês passado, descrevi o tipo 1, que substitui a informação alterada na dimensão., Nesta coluna, descrevo os tipos 2 e 3.
Tipo 2: Adicionar um Novo Registro de Dimensão
Vamos alterar o cenário da coluna anterior, onde eu tenha substituído a Cidade de origem campo Ralph Kimball registro de funcionário para assumir que Ralph Kimball, na verdade, mudou-se para Santa Cruz para Boulder Creek em 18 de julho de 2008. Suponha que a nossa política é rastrear com precisão os endereços dos empregados no armazém de dados. Esta é uma mudança clássica tipo 2.
O SCD tipo 2 requer que emitamos um novo recorde de funcionários para Ralph Kimball em 18 de julho de 2008., Isto tem muitos efeitos secundários interessantes:
- tipo 2 requer que generalizemos a chave primária da dimensão do empregado. Se a chave natural do empregado de Ralph Kimball é G446, então essa chave natural será a “cola” que mantém os múltiplos registros de Ralph Kimball juntos. Eu não recomendo a criação de uma chave primária inteligente para o tipo 2 SCDs que contém a chave natural literal. Os problemas com chaves inteligentes tornam-se especialmente óbvios se você estiver integrando vários sistemas de RH incompatíveis com chaves naturais formatadas de forma diferente., Em vez disso, você deve criar chaves primárias completamente artificiais que são simplesmente números inteiros atribuídos sequencialmente. Chamamos a estas chaves chaves de aluguer. Você deve fazer uma nova chave de substituição primária sempre que você processar uma mudança de tipo 2 em uma dimensão.
- Além da chave de substituição primária, eu recomendo adicionar cinco campos adicionais a uma dimensão que está passando por processamento de tipo 2. Estes campos são mostrados na Figura 1. Os dados são Carimbos a tempo inteiro que representam o período de tempo entre o momento em que a mudança se tornou efetiva e o momento em que a próxima mudança se torna efetiva., A data final efectiva de um registo de dimensão de tipo 2 deve ser exactamente igual à data inicial efectiva da próxima alteração para esse membro de dimensão. O registro de dimensão mais atual deve ter um DateTime final efetivo igual a um datetime fictício distante no futuro. O texto da razão para a mudança deve ser extraído de uma lista pré-planejada de razões para uma mudança, em nosso exemplo, para os atributos do empregado. Finalmente, a bandeira atual fornece uma maneira rápida de isolar exatamente o conjunto de membros da dimensão que está em vigor no momento da consulta., Estes cinco campos administrativos permitem aos utilizadores finais e às aplicações realizar muitas consultas poderosas.
- Com uma dimensão em processo de tipo 2, deve ter-se o maior cuidado para usar as chaves substitutas contemporâneas corretas desta dimensão em todas as tabelas de fatos afetadas. Isto garante que os perfis de dimensão corretos estão associados com a atividade da tabela de fatos. O processo de extração, transformação e carga (ETL) para alinhar as tabelas de dimensão com tabelas de fato no tempo de carga é chamado de tubulação de chave substituta e é amplamente coberto em meus artigos e livros.,
Tipo 3: Adicionar um Novo Campo
Embora o Tipo 1 e 2 SCDs são o principal cavalo de batalha técnicas para responder às mudanças em uma dimensão, precisamos de uma terceira técnica para o manuseio de realidades alternativas. Ao contrário de atributos físicos que só podem ter um valor em um ponto no tempo, alguns atributos atribuídos pelo usuário podem legitimamente ter mais de um valor atribuído, dependendo do ponto de vista do observador. Por exemplo, uma categoria de produto pode ter mais de uma interpretação., Numa Papelaria, um marcador poderia ser atribuído à categoria de bens domésticos ou à categoria de material de arte. Os usuários finais e as aplicações precisam ser capazes de escolher no momento da consulta Qual destas realidades alternativas se aplica.
a exigência de uma visão de realidade alternativa de um atributo dimension geralmente é acompanhada por um requisito sutil de que versões separadas da realidade estejam disponíveis em todos os momentos no passado e no futuro, mesmo que o pedido para tornar essas realidades visíveis chegou ao data warehouse hoje.,
na variação mais simples, existe apenas uma realidade alternativa. Neste caso, para o exemplo da categoria de produtos, adicionamos um novo campo na dimensão, talvez chamada categoria alternativa. Se a categoria primária de nossa caneta de marcação costumava ser bens de uso doméstico e agora deve ser material de arte, em seguida, em um tratamento Tipo 3, empurramos o rótulo de bens de uso doméstico para o campo de categoria alternativa e atualizamos o campo de categoria regular com Suprimentos de arte por substituição. O passo de substituição é semelhante a um SCD tipo 1 e provoca todas as mesmas ressalvas na coluna do mês passado.,com máquinas do tipo 3 no lugar, os utilizadores finais e as aplicações podem alternar perfeitamente entre estas realidades alternativas. Se o ambiente requer mais do que uma realidade alternativa, esta abordagem pode ser generalizado, adicionando mais Alternativo campos, embora, obviamente, esta abordagem não escala, graciosamente, além de algumas opções.
As três abordagens SCD para lidar com a variação de tempo nas dimensões têm enorme aplicabilidade nas situações do mundo real encontradas pelo data warehouse., O tipo 2, em particular, permite-nos fazer o bem na promessa do data warehouse para preservar a história fielmente.