Alguns atributos de uma dimensão podem sofrer mudanças, por exemplo, o estado civil de uma pessoa, a categoria de um produto, a UF de uma Cidade. Para controlar estas mudançãs utitizamos o SCD (Slowly Changing Dimensions).
Existem 3 técnicas:
1) Sobrescreve
-Corrige enganos ou remove dados antigos
2) Cria nova Linha/Flag
-Divide os dados históricos
3) Adiciona um atributo
-Trabalha com 2 informações na mesma linha de dados, dado anterior e dado atual
TIPO 1: SOBRESCREVE
-Atualiza a linha
-Não é necessário alterar a chave da dimensão
-É necessário refazer os objetos agregados
Este tipo é mais fácil de ser implementado, pois os dados são sobrescritos. Deve ser implementado quando não existe a necessidade de separar os dados para controle de perfis, ou os dados que devem sempre ser mantidos em sua última versão.
Vantagens
-Fácil e rápido para implementar e executar a carga da dimensão.
Desvantagens:
-O histórico é perdido. -Podem ocorrer erros quando consideramos os dados ao longo do tempo.
TIPO 2: CRIA NOVA LINHA/FLAG
-Gera uma nova surrogate key
-Insere uma linha na dimensão
-Não é necessário recriar os dados agregados.
Este tipo é utilizado quando existe a necessidade de se controlar os perfis e alterações de um dado através do tempo.
Datas de início e fim podem ser utilizadas para controle da versão atual, mas prefiro uma Flag(bit) Ativo.
Vantagens:
-É perfeito para fazer o controle de perfis e versões da informação.
Desvantagens:
-Torna o ETL mais complexo, pois é necessário administrar e manter surrogates keys.
-As dimensões tem maior número de linhas e se tornam mais complexas. -Usuários devem estar atentos e devem ser orientados em como devem fazer as queries pois um produto pode se repetir várias vezes em uma dimensão.
TIPO 3: ADICIONA UM ATRIBUTO
-Não é muito utilizada
-Adiciona uma nova coluna na tabela, com o nome do atributo e ums descrição. Ex: Categoria e Categoria_Anterior.
-Copia o valor existente para a coluna chamada de Anterior.
-Trata o valor corrente como Tipo1(sobrescreve)
Vantagens:
-É apropriada para alterações simples, que exijam comparações entre uma situação passada e atual.
Desvantagens:
-Não mantém todos os históricos.
Fonte: Cetax Consultoria
Num post futuro iremos ver esta implementação na prática.