[BI] Slowly Changing Dimensions
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.
Sign up to our newsletter
Receive our latest updates about programming languages, software, database, books, ebooks, classes, jobs and more.