top of page
Buscar

Slow Changing Dimension

  • Foto do escritor: Erick Furst
    Erick Furst
  • 24 de set.
  • 3 min de leitura

Em projetos de Data Warehouse e Analytics, poucas decisões impactam tanto a qualidade das análises quanto a forma de tratar mudanças em dimensões. Slowly Changing Dimensions (SCD) são justamente o conjunto de técnicas que definem como preservar (ou substituir) o histórico de atributos de entidades como Cliente, Produto e Organograma. Este texto apresenta, de maneira objetiva e prática, os conceitos fundamentais de SCD — com foco nos tipos 1, 2 e 3, os mais utilizados e amplamente suportados por ferramentas de ETL.


Ao longo das seções, você verá exemplos simples e diretos que demonstram:

  • SCD Tipo 1: atualização destrutiva, sem histórico;

  • SCD Tipo 2: versionamento por linha, com datas de vigência ou indicador de “registro corrente”;

  • SCD Tipo 3: versionamento por colunas, útil para manter poucas alterações anteriores.


Para facilitar a leitura, adotamos a terminologia de uso corrente no mercado: SK (Surrogate Key) como chave técnica, chave de negócio (por exemplo, CPF) e atributos descritivos (Nome, UF). Os exemplos mostram como cada abordagem afeta a integridade histórica, a simplicidade de consulta, o custo operacional e a aderência às necessidades de negócio — como auditoria, comparações temporais e análises de churn ou migração (ex.: mudança de UF).


Este material é indicado para profissionais de engenharia de dados, BI, analytics e governança que precisam escolher conscientemente o tipo de SCD para cada dimensão, equilibrando performance, complexidade de manutenção e valor analítico. Se você já domina conceitos básicos de modelagem dimensional (fatos e dimensões) e está iniciando ou evoluindo um pipeline de dados corporativo, encontrará aqui um guia enxuto para decidir quando e por que aplicar cada técnica — e o que esperar de suas implicações no dia a dia.


Boa leitura e ótimos dados!


Slowly Changing Dimensions (Dimensões de modificação lenta) significa que os dados mudam sem uma base temporal. Não é uma mudança prevista por tempo.

Existem vários tipos de SCD (Tipo 0, 1, 2, 3, 4, 6 -híbridos-). Os mais comuns -Por mais comuns entenda também que são utilizados em ferramentas ETL- são o tipo 1, 2 e 3.


Abaixo um exemplo de cada tipo:


Tipo I:

Suponha que tenhamos uma dimensão Cliente com os seguintes atributos: CPF, Nome e UF, conforme tabela abaixo:


ree

Onde SK é a Surrogate Key (Chave numérica seqüencial e sem significado de negócio), o CPF é a chave de negócio, nome atributo descritivo e UF um atributo que se deseja atualizar.


No SCD tipo I, quando há a mudança de um dado este valor é atualizado. Ou seja não é gerada nenhuma versão.


No caso abaixo o cliente Erick Furst mudou do estado de MG para o estado do RJ.

Observe que a SK permanece a mesma e possuímos somente uma ocorrência do cliente Erick Furst.


ree

Tipo II:

O SCD tipo II permite o versionamento do registro.


ree

Nesse cenário o SCD Tipo II faz uso de dois novos campos Data Início Vigência e Data Fim Vigência que irão permitir o registro da situação do cliente (Essa técnica também pode ser utilizada com o campo “Indicador de Registro Corrente” ou com o “Número da Versão”).


Observe que o cliente Erick Furst foi adicionado no dia 24/09/2012 (campo Data Início Vigência) e o campo Data Fim Vigência vazio ou com uma data que representa nulo (ex.: 31/12/1800 ou 31/12/9999) indica que este registro está vigente, ou seja é o registro corrente.


Suponhamos que o cliente Erick Furst mudou-se para o RJ no dia 25/09/2012. A nova versão será incluída com uma nova SK (Valor 2). E a versão mais antiga receberá uma Data Fim Vigência equivalente à entrada do novo registro e a versão mais nova ficará com a Data fim Vigência em aberto.


ree

Tipo III:

O SCD tipo III permite o versionamento por coluna.

Exemplo, suponha a mesma situação acima do SCD tipo II, ao invés de versionar o registro a nova versão será incluída em colunas. A desvantagem desta técnica é que o versionamento é limitado à quantidade de colunas previstas para tal.

Ex.:


ree

 
 
 

Comentários


bottom of page