Slowly Changing Dimension stage em DataStage
O estágio Slowly Changing Dimension (SCD) é um estágio de processamento que funciona dentro do contexto de um banco de dados de esquema em estrela. O estágio SCD tem um único link de entrada, um único link de saída, um link de referência de dimensão e um link de atualização de dimensão.
O estágio SCD lê dados de origem no link de entrada, executa uma consulta de tabela de dimensão no link de referência e grava dados no link de saída. O link de saída pode passar dados para outro estágio SCD, para um tipo diferente de estágio de processamento ou para uma tabela de fatos. O link de atualização de dimensão é um link de saída separado que carrega mudanças para a dimensão. É possível executar essas etapas em uma única tarefa ou em uma série de tarefas, dependendo do número de dimensões em seu banco de dados e de seus requisitos de desempenho.
Os estágios SCD suportam o processamento SCD Tipo 1 e SCD Tipo 2:
- SCD Tipo 1
- Substitui um atributo em uma tabela de dimensões.
- SCD Tipo 2
- Adiciona uma linha a uma tabela de dimensões.
Cada etapa do SCD processa uma única dimensão e realiza pesquisas usando uma técnica de correspondência de igualdade. Se a dimensão for uma tabela de banco de dados, o estágio lê o banco de dados para criar uma tabela de pesquisa na memória. Se for encontrada uma correspondência, a etapa SCD atualiza as linhas na tabela de dimensões para refletir os dados alterados. Se não for encontrada nenhuma correspondência, o estágio cria uma nova linha na tabela de dimensões. Todas as colunas necessárias para criar uma nova linha de dimensão devem estar presentes nos dados de origem.
Os dados inseridos nas etapas do SCD devem representar com precisão a ordem em que os eventos ocorreram. Pode ser necessário pré-classificar seus dados de entrada por um número de sequência ou um campo de data. Se um trabalho tiver várias etapas SCD, você deve garantir que a ordem de classificação dos dados de entrada esteja correta para cada etapa.
Se o estágio SCD estiver sendo executado em paralelo, os dados de entrada devem ser particionados por hash por chave. O particionamento hash permite que todos os registros com a mesma chave de negócios sejam tratados pelo mesmo processo. O estágio SCD divide a tabela de dimensões entre os processos, criando uma tabela de pesquisa separada para cada processo.