sql >> Databáze >  >> RDS >> Database

Úvod do pomalu se měnících rozměrů (SCD)

Dimenze je struktura, která kategorizuje sbírku informací, takže lze získat smysluplné odpovědi na otázky týkající se těchto informací. Dimenze ve správě dat a datových skladech obsahují relativně statická data; tato rozměrová data se však mohou měnit pomalu v průběhu času a v nepředvídatelných intervalech. Tyto typy rozměrových dat jsou známé jako pomalu se měnící rozměry (SCD).

V prostředí datového skladu má tabulka dimenzí primární klíč, který jednoznačně identifikuje každý záznam a další části informací, které jsou známé jako dimenzionální data. Primární klíč se pomocí tohoto klíče propojí s tabulkou faktů. Proto je důležité mít model pro aktualizaci a zpracování aktuálních dat a historických dat. Existují uznávané modely, které jsou známé podle jejich typů:

  • Typ 1 – Tento model zahrnuje přepsání staré aktuální hodnoty novou aktuální hodnotou. Není udržována žádná historie.
  • Typ 2 – Aktuální a historické záznamy jsou uchovávány a udržovány ve stejném souboru nebo tabulce.
  • Typ 3 – Aktuální data a historická data jsou uchovávána ve stejném záznamu. Uživatel rozhoduje o tom, kolik historie bude v záznamu uchováváno.
  • Typ 4 – V tomto modelu jsou aktuální data udržována ve dvou různých tabulkách; jeden pro aktuální data a jeden, který obsahuje všechna historická data.
  • Typ 6 – Tento model je hybridem typu 1, typu 2 a typu 3.

Všechny metody aktualizace pro různé modely SCD lze provést pomocí programu SortCL v IRI CoSort nebo IRI Voracity. Voracity nyní také poskytuje jednoho komplexního průvodce vytvořením pracovních míst, který tyto programy automaticky vytvoří; viz. níže. Většina typů používá úplné vnější spojení ke spárování záznamů z hlavního zdroje dat se záznamy ve zdroji aktualizace na základě přirovnání jedinečného klíče každého z nich. Záznamy se shodami je třeba aktualizovat v masteru. Záznamy ve zdroji aktualizací, které nemají shodu, je třeba přidat do hlavního serveru.

Moje články o různých typech SCD ukazují zdrojová nebo vstupní data v souborech a ukazují skripty SortCL, které se používají k aktualizaci hlavních souborů. Tabulky mohou být také zdrojem těchto skriptů.

V každém příkladu pokrývají kroky k aktualizaci rozměrového zdroje, který udržuje náklady na produkt, které se mění v nepravidelných intervalech. Klíčové pole nebo sloupec je ProductCode. Všechny zdrojové hlavní soubory budou obsahovat následující data:

Zdroj master1.dat obsahuje:

Kód produktu Cena Datum zahájení
C123 125,50 20110228
F112 2365,00 20120101
G101 19:25 20110930
J245 450,50 20110430
S022 98,75 20110515

Data aktualizace budou mít všechny stejné počáteční datum. Zdroj aktualizace obsahuje následující data:

Kód produktu Cena Datum zahájení
F112 2425,00 20120701
J245 550,50 20120701
M447 101,75 20120701
S022 101,75 20120701

Hlášení SCD je také diskutováno na webových stránkách IRI zde. Přečtěte si tyto články týkající se SCD: Typ 1, Typ 2, Typ 3, Typ 4 a Typ 6.

Nový grafický průvodce SCD

Uživatelé Voracity mohou nyní také používat účelově vytvořeného průvodce vytvořením úlohy k vytváření zpráv o SCD typů 1, 2, 3, 4 a 6 v grafickém uživatelském rozhraní IRI Workbench, postaveném na Eclipse. Průvodce také podporuje integraci třídění, vyhodnocování výrazů, agregace, nového formátování, šifrování a dalších.

Po nastavení úlohy a výběru typu SCD v průvodci určíte kmenová data a informace o aktualizaci. Poté určíte mapování pro cíl, umístíte pole do souladu se shodnými zdrojovými poli a pomocí polí se seznamem podle potřeby budete pracovat s aktuálními a historickými sadami polí. Po připojení zadaných informací na stránce Připojit zdroje je vytvořen příslušný skript a připraven k vytvoření diagramu, spuštění, úpravě nebo sdílení.

Články přidružené k výše uvedeným typům budou aktualizovány, aby odrážely, jak může nový průvodce SCD ve Voracity automaticky vytvářet tyto úlohy pro vás.


  1. Jaká je maximální velikost MySQL VARCHAR?

  2. potřeba vrátit dvě sady dat se dvěma různými klauzulemi where

  3. Jak funguje UTC_TIME() v MariaDB

  4. Jak hledat přesně odpovídající slovo pomocí MySql Query