Introducere în tipurile de dimensiuni care modifică încet (SCD) - Adatis
Când am început să scriu o postare recentă pe blog, am vrut să fac legătura cu o postare de blog clară și concisă pe diferite tipuri de dimensiuni cu modificări lente (SCD) pentru oricine nu este familiarizat cu subiectul. Deși există o varietate de introduceri amănunțite acolo, nu am găsit una atât de clară și concisă pe cât aș vrea.

Prin urmare, vă ofer propria mea ofertă, o introducere rapidă la Slowly Changing Dimensions sau SCD, într-un scenariu de stocare a datelor.
Pentru o discuție mai detaliată despre dimensiunile care se schimbă încet, aș sugera să vă uitați la postările proprii ale Kimball Group pentru tipul 1 și tipurile 2 și 3.
Ce schimbă încet dimensiunile?
Atunci când organizați un datawarehouse în scheme de stele în stil Kimball, raportați înregistrările de fapt la o înregistrare de dimensiune specifică cu atributele sale conexe. Dar dacă informațiile din dimensiune se schimbă? Acum asociați toate înregistrările de fapt cu noua valoare? Ignorați schimbarea pentru a păstra acuratețea istorică? Sau tratați faptele înainte ca dimensiunea să se schimbe diferit de cele de după?
Această decizie este cea care determină dacă dimensiunea dvs. se va schimba încet. Există mai multe tipuri diferite de SCD, în funcție de modul în care tratați schimbările primite.
Care sunt tipurile de SCD?
Foarte simplu, există 6 tipuri de dimensiuni care se schimbă lent care sunt utilizate în mod obișnuit, acestea sunt după cum urmează:
- Tipul 0 - Dimensiune fixă
- Nu sunt permise modificări, dimensiunea nu se schimbă niciodată
- Tipul 1 - Fără istoric
- Actualizați înregistrarea direct, nu există nicio înregistrare a valorilor istorice, ci doar starea actuală
- Tipul 2 - Versiunea în rânduri
- Urmăriți modificările ca înregistrări de versiune cu steagul curent și datele active și alte metadate
- Tipul 3 - Coloana Valoare anterioară
- Urmăriți modificarea la un anumit atribut, adăugați o coloană pentru a afișa valoarea anterioară, care este actualizată pe măsură ce apar modificări suplimentare
- Tipul 4 - Tabel istoric
- Afișați valoarea curentă în tabelul de dimensiuni, dar urmăriți toate modificările într-un tabel separat
- Tipul 6 - SCD hibrid
- Utilizați tehnici din tipurile SCD 1, 2 și 3 pentru a urmări schimbările
În realitate, doar tipurile 0, 1 și 2 sunt utilizate pe scară largă, celelalte fiind rezervate pentru cerințe foarte specifice. În mod confuz, nu există SCD tip 5 în definițiile convenite în mod comun.
După ce ați implementat tipul de dimensiune ales, puteți să vă îndreptați înregistrările de fapt către afacerea relevantă sau cheia surogat. Cheile surogate din aceste exemple se referă la o versiune istorică specifică a înregistrării, eliminând complexitatea îmbinării din structurile de date ulterioare.
Exemple practice
Avem o dimensiune „client” foarte simplă, cu doar 2 atribute - Numele și țara clientului: