v dnešním článku bych se chtěl zaměřit na pomalu se měnící rozměr, aka SCD. Dimension je slovo výňatek z datových skladů jako takových. Ne bez důvodu se SCD používá velmi často z hlediska témat datového skladu (DW) a lze jej použít pro účely auditu v systémech OLTP.
cílem článku je přezkoumat typy pomalu se měnícího rozměru, protože existuje jen málo verzí.
data se v průběhu času mění., Možná se nestaráte o historickou verzi dat v databázi OLTP, ale může to být obchodní požadavek, aby byly zachovány všechny historické změny. Jinými slovy, musíte být schopni ukázat v prodejní zprávě správný regionální úřad prodejní osoby, bez ohledu na to, kdy osoba změnila region. V takovém případě musíme data uchovávat před změnou a po aktualizaci.
jak transformace fungují?
existuje jen málo typů SCD.
V závislosti na typu SCD si můžete ponechat žádné, jednu nebo více historických změn řádků.,
myšlenka je jednoduchá: pokaždé, když se řádek mění, bude stará verze (před aktualizací nebo odstraněním) řádku uložena v tabulce SCD.
implementace těchto věcí není vždy snadná. Podívejme se na příklady.
Jako příklad zdrojových dat budu používat následující údaje řádek:
SCD Zdroj dat příklad
Ve výše uvedeném příkladu CustomerId je primární klíč v zdroj (OLTP) databází.,
Jsme zavést náhradní klíč (CustomerKey) v DW, aby se zabránilo zdvojování původní Kódzákazníka a optimalizovat výkon, zejména pokud zdrojový systém se používá znak nebo komplex klíče.
SCD dat v datovém Skladu příklad
SCD Typ 0
Tento typ nemá žádné změny atributů. Udržuje pouze původní hodnotu bez jakýchkoli změn. Používá se hlavně pro atributy, které nelze změnit, jako datum narození.,
Typ SCD 1: přepsání historie atributu
tato metoda nemůže sledovat změny v datech a přepíše stará data novými. Jakmile náš zákaznický změně jeho adresy, nová adresa by přepsat:
SCD Typu 1,
Jak můžete vidět – je to velmi jednoduché implementovat a udržovat proces – je to jednoduché aktualizace. V jiných rukou je nevýhodou tohoto přístupu nedostatek historie row v datovém skladu.,
SCD typ 2: Přidání nových řádků
metodika zachovává historii přidáním nových řádků a neexistuje žádný limit pro počet změn.,iv id=“f3da287bb9″>
SCD Typu 2,
kromě toho, můžete se rozhodnout, jakým způsobem chcete vědět, starší řádků o zachování současné vlajky sloupci a/nebo UpdateDate:
SCD Typu 2 s stávající vlajku,
nebo verze řádku, který bude zvýšen postupně:
SCD Typu 2 s verzí
SCD Typ 3: další historická sloupce
V tomto přístupu můžete spravovat omezené množství historii přidáním dalších sloupců, pro sledování atributy.,
Chcete-li mít předchozí a aktuální město zákazníka, můžete implementovat sloupce: PreviousCity a CurrentCity. V databázi datového skladu (DW) na zdrojovou databázi bude pouze jeden řádek, Proto typ 3 má omezenou použitelnost a je méně populární než typ 1 a 2.
SCD Typ 3
musíte být opatrní, pokud chcete použít Typ 3 SCD. Ujistěte se, že obchodní analytik a/nebo váš zákazník jsou si vědomi omezení historie.,
SCD Typ 4: samostatná Historická tabulka
Tento typ používá samostatné tabulky pro vedení aktuálních záznamů a historických změn. To stojí za to používat, když:
• Rozměr se mění docela často, nebo
• Rozměr je multi-milión řádků tabulky.
SCD Typ 4 aktuální tabulky
SCD Typ 4 – historické tabulce
Margy Ross z Kimball Skupinová volání takové tabulky jako „mini-rozměr“.,
Typ SCD 6:
tento přístup je číslován jako 6 jako 1+2+3=6 stejně 1x2x3=6. Proto je kombinace těchto tří typů:
• Mějte obě předchozí a aktuální hodnoty pro atribut (jako Typ 3, podívejte se na sloupcích: „HistoricCity“, „CurrentCity“)
• Přepíše všechny záznamy pro aktuální verzi atribut (jako Typ 1, podívejte se na sloupec „CurrentCity“)
• Uchovává historické verze atribut (jako Typ 2, vypadají jako sloupce: „IsCurrent“, „Počátečnídatum“, „EndDate“)
Pojďme se podívat, jak řadě je měněn a jak jeho vliv na DW., První načítání řádku:
SCD Typ 6 (krok 1)
Řádků v DW je Zákazník tabulka po prvním zákazníkem, přemístění:
SCD Typ 6 (krok 2)
Řádků v DW Zákazníka následující tabulce druhý zákazník přemístění:
SCD Typ 6 (krok 3)
, Který Typ si mám vybrat?,
jako profesionální konzultant odpovídám profesionálně:
záleží
zeptejte se svého obchodního týmu, obchodní analytiky nebo vašeho zákazníka: co potřebují v datovém skladu.
možná jsem to neřekl dostatečně nahlas, ale ve stejné tabulce můžete do každého sloupce použít různé typy SCD.
například: typ 2 do sloupce města, typ 1 do sloupce Datum narození. Vše ve stejné tabulce.
proto je požádejte o každou dimenzi:
• které atributy jsou konstantní,
* které atributy jsou proměnné?,
* které atributy by měly být plně sledovány, které by měly zachovat pouze předchozí a aktuální verzi?
* kolik řádků je v tabulce právě teď / se očekává v příštích 10 letech?
uchovávejte tyto odpovědi jako důkaz. Lidé, zejména zákazníci, rádi mění názor. Víš, co tím myslím.
Pokud si stále nejste jisti, který z nich má být vybrán, nezapomeňte, že:
udržování historie změn je pro vás dobré
jednoduše proto, že se požadavky mohou změnit.
vedle typů 0 a 1 jsou podle mého názoru nejoblíbenější typ 2 a typ 4.
jak načíst data do SCD?,
dobrá otázka. Ale toto téma je úplně jiný příběh.
než o tom připravím další příspěvek – podívejte se na tento nástroj:
Scd Merge Wizard
nástroj vám pomůže vytvořit, spravovat a udržovat mapování mezi zdrojovou databází(např. Navíc s tímto přístupem budete používat příkaz sloučení k provádění operací načítání pomocí nakonfigurovaného typu SCD pro každý sloupec.
v dalších příspěvcích vysvětlím, jak v tomto nástroji použít různé typy SCD.
hodně štěstí s loadings,
Kamil