Ads Top

O que é SCD - Dimensão de alteração lenta?


Existem alguns tipos de SCD.

Dependendo do tipo de SCD(dimensão de alteração lenta), você pode manter nenhuma, uma ou mais alterações históricas de linhas.

A ideia é simples: toda vez que a linha está atualizando, uma versão antiga (antes de UPDATE ou DELETE) da linha será mantida na tabela SCD.

A implementação nem sempre é fácil. Vamos dar uma olhada nos exemplos.

Como exemplo de dados de origem, usarei a seguinte linha de dados:


No exemplo acima, CustomerId é chave primária na origem do banco de dados(OLTP).

Introduzimos a chave substituta (CustomerKey) no DW para evitar a duplicação do CustomerId original e otimizar o desempenho, especialmente quando o sistema de origem usa caractere ou chaves complexas.


Tipo SCD 0


Este tipo não mantém alterações de atributos. Mantém apenas o valor original sem alterações. É usado principalmente para atributos que não podem ser alterados, como data de nascimento.

SCD Tipo 1: substituindo o histórico por um atributo

Esse método não pode rastrear as alterações nos dados e substitui os dados antigos por novos. Depois que nosso cliente alterar seu endereço, o novo endereço será substituído:


Como podemos ver, é muito simples implementar e manter o processo. É uma atualização simples. Em outras mãos, a desvantagem dessa abordagem é a falta de histórico da linha no Data Warehouse.

SCD Tipo 2: adicionando novas linhas

A metodologia é preservar o histórico, adicionando novas linhas e não há limite no número de alterações mantidas.


Além disso, você pode decidir de que maneira deseja ver as linhas antigas mantendo a coluna de flag (isCurrent) e/ou UpdateDate:



ou versão(version) da linha que será incrementada sequencialmente:




SCD Tipo 3: colunas históricas adicionais

Nesta abordagem, você pode gerenciar uma quantidade limitada de histórico adicionando colunas adicionais para rastrear atributos.

Querendo ter cidade de cliente anterior e atual, você pode implementar colunas: PreviousCity e CurrentCity. Haverá apenas uma linha no Data Warehouse (DW) por banco de dados de origem, portanto, o Tipo 3 tem usabilidade limitada e é menos popular que o Tipo 1 e 2.


Você deve ter cuidado se quiser usar o Tipo 3 do SCD. Certifique-se de que o analista de negócios e/ou seu cliente estejam cientes das limitações do histórico.

SCD Tipo 4: tabela histórica separada

Esse tipo usa tabelas separadas para manter os registros atuais e as alterações históricas. Vale a pena usar quando:

• A dimensão está mudando com frequência ou
• Dimensão é uma tabela de várias milhões de linhas


SCD Tipo 6:

Esta abordagem é numerada como 6 como 1 + 2 + 3 = 6, bem como 1x2x3 = 6. Portanto, é uma combinação desses três tipos:

Mantenha os valores anteriores e atuais para o atributo (como Tipo 3, observe as colunas: “HistoricCity”, “CurrentCity”)
• Substitui todos os registros da versão atual do atributo (como Tipo 1, veja a coluna “CurrentCity”)
• Mantém a versão histórica do atributo (como Tipo 2, aparência de colunas: “IsCurrent”, “StartDate”, “EndDate”)

Vamos ver como a linha está sendo alterada e como isso afeta o DW. O primeiro carregamento da linha:




Linhas na tabela de clientes da DW após a primeira realocação do cliente:




Linhas na tabela de clientes da DW após a segunda recolocação do cliente:


Qual tipo devo escolher?
Como consultor profissional, respondo profissionalmente:

Isso depende

Pergunte à sua equipe de negócios, análise de negócios ou a seu cliente: o que eles precisam no data warehouse.

Talvez eu não tenha explicado, mas na mesma tabela você pode aplicar diferentes tipos de SCD em cada coluna.

Por exemplo: Digite 2 na coluna Cidade, digite 1 na coluna Data de Nascimento. Tudo na mesma tabela.

Por isso, peça-lhes todas as dimensões:
• quais atributos são constantes,
• quais atributos são variáveis?
• quais atributos devem ser totalmente rastreados, o que deve manter apenas versões anteriores e atuais?
• Quantas linhas estão na tabela agora / são esperadas nos próximos 10 anos?

Guarde estas respostas como prova. As pessoas, especialmente os clientes, adoram mudar de ideia. 

Você sabe o que eu quero dizer.

Se ainda não tiver certeza de qual escolher, lembre-se de que:

Manter um histórico das mudanças é bom para você, simplesmente porque os requisitos podem mudar.

Além dos tipos 0 e 1, na minha opinião, os mais populares são o tipo 2 e o tipo 4.

Se precisar de mais informações entre em contato com a equipe do clicouvendas.com.br.


Nenhum comentário:

Tecnologia do Blogger.