Uma dimensão é uma estrutura que categoriza uma coleção de informações para que possam ser obtidas respostas significativas a perguntas sobre essas informações. As dimensões em gerenciamento de dados e data warehouses contêm dados relativamente estáticos; no entanto, esses dados dimensionais podem mudar lentamente ao longo do tempo e em intervalos imprevisíveis. Esses tipos de dados dimensionais são conhecidos como Dimensões de Alteração Lenta (SCD).
Em um ambiente de data warehouse, uma tabela de dimensões tem uma chave primária que identifica exclusivamente cada registro e outras informações conhecidas como dados dimensionais. A chave primária será vinculada a uma tabela de fatos usando essa chave. Portanto, é importante ter um modelo para atualizar e manipular os dados atuais e os dados históricos. Existem modelos reconhecidos que são conhecidos por seus tipos:
- Tipo 1 – Este modelo envolve a substituição do valor atual antigo pelo novo valor atual. Nenhum histórico é mantido.
- Tipo 2 – Os registros atuais e históricos são mantidos e mantidos no mesmo arquivo ou tabela.
- Tipo 3 – Os dados atuais e os dados históricos são mantidos no mesmo registro. O usuário decide quanto histórico é mantido no registro.
- Tipo 4 – Neste modelo, os dados atuais são mantidos em duas tabelas diferentes; um para os dados atuais e outro que contém todos os dados históricos.
- Tipo 6 – Este modelo é um híbrido do Tipo 1, Tipo 2 e Tipo3.
Todos os métodos de atualização para os diferentes modelos de SCD podem ser realizados usando o programa SortCL no IRI CoSort ou IRI Voracity. Voracity agora também fornece um único assistente de criação de trabalho de ponta a ponta para construir esses programas automaticamente; ver abaixo. A maioria dos tipos usa uma junção externa completa para corresponder registros da fonte de dados mestre com registros na fonte de atualização com base na igualdade de uma chave exclusiva de cada um. Os registros com correspondências precisam ser atualizados no mestre. Os registros na fonte de atualização que não têm uma correspondência precisam ser adicionados ao mestre.
Meus artigos sobre os diferentes tipos de SCD mostram os dados de origem ou de entrada em arquivos e mostram os scripts SortCL que são usados para atualizar os arquivos mestres. As tabelas também podem ser uma fonte com esses scripts.
Em cada exemplo, abordo as etapas para atualizar uma fonte dimensional que mantém os custos do produto que mudam em intervalos irregulares. O campo ou coluna chave é ProductCode. Todos os arquivos mestre de origem conterão os seguintes dados:
A fonte master1.dat contém:
ProductCode | Custo | Data de início |
---|---|---|
C123 | 125,50 | 20110228 |
F112 | 2365,00 | 20120101 |
G101 | 19,25 | 20110930 |
J245 | 450,50 | 20110430 |
S022 | 98,75 | 20110515 |
Todos os dados de atualização terão a mesma StartDate. A fonte de atualização contém os seguintes dados:
ProductCode | Custo | Data de início |
---|---|---|
F112 | 2.425,00 | 20120701 |
J245 | 550,50 | 20120701 |
M447 | 101,75 | 20120701 |
S022 | 101,75 | 20120701 |
O relatório SCD também é discutido no site do IRI aqui. Consulte estes artigos específicos para SCDs: Tipo 1, Tipo 2, Tipo 3, Tipo 4 e Tipo 6.
Novo assistente gráfico SCD
Os usuários do Voracity agora também podem usar um assistente de criação de tarefas desenvolvido especificamente para relatar os tipos de SCD 1, 2, 3, 4 e 6 na GUI do IRI Workbench, construída no Eclipse. O assistente também oferece suporte à integração de classificação, avaliação de expressão, agregação, nova formatação, criptografia e muito mais.
Depois de configurar o trabalho e selecionar o tipo de SCD no assistente, você especifica os dados mestre e as informações de atualização. Depois disso, você especifica os mapeamentos para o destino, colocando os campos alinhados com os campos de origem correspondentes e usando as caixas de combinação conforme necessário, trabalha com conjuntos de campos atuais e históricos. Depois de juntar as informações especificadas na página Join Sources, o script apropriado é criado e está pronto para diagramar, executar, modificar ou compartilhar.
Os artigos associados aos tipos acima serão atualizados para refletir como o novo assistente SCD no Voracity pode criar automaticamente esses trabalhos para você.