sql >> Databasteknik >  >> RDS >> Database

Introduktion till Slowly Changing Dimensions (SCD)

En dimension är en struktur som kategoriserar en samling information så att meningsfulla svar på frågor om den informationen kan erhållas. Dimensioner i datahantering och datalager innehåller relativt statiska data; denna dimensionella data kan dock ändras långsamt över tiden och med oförutsägbara intervall. Dessa typer av dimensionsdata kallas Slowly Changing Dimensions (SCD).

I en datalagermiljö har en dimensionstabell en primärnyckel som unikt identifierar varje post och annan information som kallas dimensionsdata. Primärnyckeln länkar till en faktatabell med denna nyckel. Därför är det viktigt att ha en modell för uppdatering och hantering av aktuell data och historisk data. Det finns erkända modeller som är kända för sina typer:

  • Typ 1 – Denna modell innebär att det gamla aktuella värdet skrivs över med det nya aktuella värdet. Ingen historik upprätthålls.
  • Typ 2 – De aktuella och historiska dokumenten förvaras och underhålls i samma fil eller tabell.
  • Typ 3 – Aktuella data och historiska data sparas i samma register. Användaren bestämmer hur mycket historik som sparas i posten.
  • Typ 4 – I den här modellen behålls aktuell data i två olika tabeller; en för aktuell data och en som innehåller all historisk data.
  • Typ 6 – Denna modell är en hybrid av typ 1, typ 2 och typ 3.

Alla uppdateringsmetoder för de olika SCD-modellerna kan utföras med programmet SortCL i IRI CoSort eller IRI Voracity. Voracity tillhandahåller nu också en enda guide för att skapa jobb för att skapa dessa program automatiskt; se nedan. De flesta typer använder en fullständig yttre koppling för att matcha poster från huvuddatakällan med poster i uppdateringskällan baserat på att likställa en unik nyckel från varje. Poster med matchningar måste uppdateras i mastern. Poster i uppdateringskällan som inte har en matchning måste läggas till i mastern.

Mina artiklar om de olika SCD-typerna visar källan eller indata i filer och visar SortCL-skripten som används för att uppdatera masterfilerna. Tabeller kan också vara en källa med dessa skript.

I varje exempel täcker jag stegen för att uppdatera en dimensionell källa som upprätthåller produktkostnader som ändras med oregelbundna intervall. Nyckelfältet eller kolumnen är ProductCode. Alla källhuvudfiler kommer att innehålla följande data:

Källan master1.dat innehåller:

Produktkod Kostnad Startdatum
C123 125,50 20110228
F112 2365.00 20120101
G101 19.25 20110930
J245 450,50 20110430
S022 98,75 20110515

Alla uppdateringsdata kommer att ha samma startdatum. Uppdateringskällan innehåller följande data:

Produktkod Kostnad Startdatum
F112 2425.00 20120701
J245 550.50 20120701
M447 101,75 20120701
S022 101,75 20120701

SCD-rapportering diskuteras också på IRI:s webbplats här. Se dessa artiklar som är specifika för SCD:er:Typ 1, Typ 2, Typ 3, Typ 4 och Typ 6.

Ny SCD grafisk guide

Voracity-användare kan nu också använda en specialbyggd guide för att skapa jobb för att rapportera om SCD-typerna 1, 2, 3, 4 och 6 i IRI Workbench GUI, byggt på Eclipse. Guiden stöder även integrering av sortering, uttrycksutvärdering, aggregering, ny formatering, kryptering och mer.

Efter att ha ställt in jobbet och valt SCD-typ i guiden anger du masterdata och uppdateringsinformation. Därefter anger du mappningarna för målet, placerar fälten i linje med de matchade källfälten och använder kombinationsrutorna efter behov, arbetar med aktuella och historiska fältuppsättningar. Efter att ha anslutit den specificerade informationen på sidan Gå med källor skapas lämpligt skript och är redo att diagram, köra, ändra eller dela.

Artiklarna som är associerade med typerna ovan kommer att uppdateras för att återspegla hur den nya SCD-guiden i Voracity kan automatiskt skapa dessa jobb åt dig.


  1. Bifoga strängar i enstaka citattecken i SQLite-frågeresultat

  2. Sammanfoga radvärden T-SQL

  3. Returnera basdatatypen från ett SQL_variantvärde i SQL Server

  4. Sekvens som standardvärde för en kolumn