sql >> Database teknologi >  >> RDS >> Database

Introduktion til Slowly Changing Dimensions (SCD)

En dimension er en struktur, der kategoriserer en samling af information, så der kan opnås meningsfulde svar på spørgsmål vedrørende denne information. Dimensioner i datastyring og datavarehuse indeholder relativt statiske data; disse dimensionelle data kan dog ændre sig langsomt over tid og med uforudsigelige intervaller. Disse typer dimensionsdata er kendt som Slowly Changing Dimensions (SCD).

I et datavarehusmiljø har en dimensionstabel en primær nøgle, der unikt identificerer hver post og andre oplysninger, der er kendt som dimensionsdata. Den primære nøgle vil linke til en faktatabel ved hjælp af denne nøgle. Derfor er det vigtigt at have en model for opdatering og håndtering af de aktuelle data og de historiske data. Der er anerkendte modeller, der er kendt på deres typer:

  • Type 1 – Denne model involverer overskrivning af den gamle aktuelle værdi med den nye aktuelle værdi. Ingen historik vedligeholdes.
  • Type 2 – De aktuelle og historiske optegnelser opbevares og vedligeholdes i samme fil eller tabel.
  • Type 3 – De aktuelle data og historiske data opbevares i samme post. Brugeren bestemmer, hvor meget historik der opbevares i registreringen.
  • Type 4 – I denne model vedligeholdes de aktuelle data i to forskellige tabeller; en for de aktuelle data og en, der indeholder alle de historiske data.
  • Type 6 – Denne model er en hybrid af Type 1, Type 2 og Type3.

Alle opdateringsmetoderne for de forskellige SCD-modeller kan udføres ved hjælp af SortCL-programmet i IRI CoSort eller IRI Voracity. Voracity leverer nu også en enkelt ende-til-ende jobskabelsesguide til at bygge disse programmer automatisk; se nedenunder. De fleste typer bruger en fuld ydre joinforbindelse til at matche poster fra masterdatakilden med poster i opdateringskilden baseret på at sidestille en unik nøgle fra hver. Optegnelser med kampe skal opdateres i masteren. Poster i opdateringskilden, der ikke har et match, skal tilføjes til masteren.

Mine artikler om de forskellige SCD-typer viser kilde- eller inputdata i filer og viser SortCL-scripts, der bruges til at opdatere masterfilerne. Tabeller kan også være en kilde med disse scripts.

I hvert eksempel dækker jeg trinene til at opdatere en dimensionel kilde, der vedligeholder produktomkostninger, der ændrer sig med uregelmæssige intervaller. Nøglefeltet eller kolonnen er ProductCode. Alle kildemasterfiler vil indeholde følgende data:

Master1.dat-kilden indeholder:

Produktkode Omkostninger Startdato
C123 125,50 20110228
F112 2365.00 20120101
G101 19.25 20110930
J245 450,50 20110430
S022 98,75 20110515

Opdateringsdataene vil alle have samme startdato. Opdateringskilden indeholder følgende data:

Produktkode Omkostninger Startdato
F112 2425.00 20120701
J245 550,50 20120701
M447 101,75 20120701
S022 101,75 20120701

SCD-rapportering diskuteres også på IRI's websted her. Se disse artikler, der er specifikke for SCD'er: Type 1, Type 2, Type 3, Type 4 og Type 6.

Ny SCD grafisk guide

Voracity-brugere kan nu også bruge en specialbygget jobskabelsesguide til at rapportere om SCD-typerne 1, 2, 3, 4 og 6 i IRI Workbench GUI, bygget på Eclipse. Guiden understøtter også integration af sortering, udtryksevaluering, aggregering, ny formatering, kryptering og mere.

Efter at have opsat jobbet og valgt SCD-typen i guiden, angiver du stamdata og opdateringsoplysninger. Derefter angiver du tilknytningerne for målet, placerer felterne på linje med de matchede kildefelter, og bruger kombinationsfelterne efter behov, arbejder med aktuelle og historiske feltsæt. Efter tilslutning af de specificerede oplysninger på siden Join Sources oprettes det relevante script og er klar til at diagramme, udføre, ændre eller dele.

Artiklerne, der er knyttet til typerne ovenfor, vil blive opdateret for at afspejle, hvordan den nye SCD-guide i Voracity automatisk kan oprette disse job for dig.


  1. Sådan fungerer FIND_IN_SET() i MariaDB

  2. Hvad er en forespørgselsudligger, og hvordan rettes den

  3. Eksempler på konvertering af 'tid' til 'datetime' i SQL Server (T-SQL)

  4. SQL Server Unik sammensat nøgle af to felter med andet felt automatisk stigning