• Increase font size
  • Default font size
  • Decrease font size
Home BI / Datawarehouses Historical Staging Area HSA in een DWH project

Historical Staging Area HSA in een DWH project

E-mail Afdrukken
(3 stemmen)

laboratory_next_128Bij Datawarehouse-projecten is er altijd de vraag welke architectuur het beste kan worden ingezet. Iedere architectuur heeft zijn eigen voor- en nadelen. Wat ik belangrijk vind aan een architectuur is dat deze flexibel en schaalbaar moet zijn. Met andere woorden; het moet makkelijk kunnen worden aangepast aan nieuwe behoeften vanuit de business en het moet “oneindig” uitgebreid kunnen worden zonder beperkingen. Het Datawarehouse project waar ik nu aan meewerk is voorzien van een zogenaamde “HSA” (Historical Staging Area). Ik denk dat een HSA in ieder Datawarehouseproject van pas komt. Hieronder zal ik enkele voordelen die ik heb ondervonden in de praktijk beschrijven van de HSA.


In een HSA wordt het bronsysteem als het ware gevolgd. Iedere nacht wordt de HSA bijgewerkt en bevat een kopie van de bron. Het enige verschil met de bron is dat wij alle mutaties vasthouden in een aparte tabel.  Hierdoor kunnen wij alle mutaties terugvinden die ooit zijn gedaan op de brontabel. Deze mutaties worden in een aparte tabel opgeslagen, de zogenaamde HIS tabel. De laatste stand van zaken (1:1 kopie van de bron) wordt bewaard in een registratietabel, de REG tabel. De HIS tabel is voorzien van een tijdstrook.


Je zult je afvragen wat het grote voordeel hiervan is. Waarom zou je alle mutaties van een bronsysteem willen bewaren? Het antwoord hierop is eenvoudig. Je kunt nooit voorspellen welke informatievragen er in de toekomst naar voren komen. Wanneer je namelijk je stermodel maakt moet je direct beslissen voor welke velden je wel/geen historie wilt bewaren (Type I / Type II ). Door een HSA te gebruiken kun je deze keuze later eenvoudig veranderen, je kunt je dimensies en feiten namelijk geheel met terugwerkende kracht opbouwen omdat je de historie nog hebt. En wat te doen als er een TYPE II veld bijkomt in de dimensie? Deze kun je nu met terugwerkende kracht en met volledige historie opbouwen!


Kortom, de voordelen zijn groot. Nog een voordeel is dat de ETL die de HSA gaat vullen gegenereerd kan worden, het truukje dat je doet is immers iedere keer hetzelfde! Op dit moment hebben wij scripts die speciaal voor SQL-server de HSA genereert en vult. Wij kunnen dus snel nieuwe bronnen aansluiten in onze HSA. Het leuke hieraan is dat wij alvast een bronsysteem  kunnen gaan volgen die nog niet op het Datawarehouse is aangesloten zodat wij alvast historie opbouwen.

Copyright 2008. All Rights Reserved.

Trackback(0)

TrackBack URI voor deze post

Commentaar (6)

RSS feed Commentaar
...
0
Heel goed, Ronald! Precies zoals wij dat ook al tijden doen, incl. genereren, en dat werkt prima. Zie het maar als een zéér goedkoop alternatief van de data vault! ;-)
Frank , oktober 30, 2009
...
0
Helemaal eens met Frank!
Onmisbaar onderdeel in elk DWH project
Niek , oktober 30, 2009
...
0
Als je een CDC/Audit Trail op je Staging aansluit heb je automatisch een zeer efficiente en volledig consistente HSA! Dan hebben we lekker tijd over om te gaan Data Vaultensmilies/grin.gif
DM Unseen , november 02, 2009
...
63
Als je een CDC/Audit Trail op je Staging aansluit heb je automatisch een zeer efficiente en volledig consistente HSA! Dan hebben we lekker tijd over om te gaan Data Vaultensmilies/grin.gif

Leg eens uit?
Ronald Kraijesteijn , november 02, 2009
...
0
Een HSA stapelt als het goed is voor elke staging tabel al zijn records. Net zoals een Data Vault wordt een record alleen toegevoegd als er een verschil is met het laatste toegevoegde record (met dezelfde key). Daarnaast worden de laad en eind-tijden kop-staart gelegd (als je het netjes wilt doen).

Als je data van een Change Data Capture stroom krijgt (feitelijk een transactieoverzicht van de brontabel) dan krijg je precies deze gegevens, minus de eind datum, het kop staart leggen, en plus ook nog een beeld van voor de record update.
DM Unseen , november 03, 2009
...
0
Overigens, Nog even een paar opmerkingen.

een HSA heeft nog een bijkomend voordeel dat je je DataVault processing kunt standaardiseren tussen Transaction feeds en full extracts. Dit leverd je ook nog een zeer robust laadproces op omdat de relatie tussen data extractie+HSA staging en het DataVault import proces executies een veel-op-veel situatie mogenlijk maken. Overigens mag je bij een DataVault je HSA natuurlijk wèl gewoon opschonen.

Ja, ook ik ben helemaal voor de HSA (wel met DataVault natuurlijksmilies/wink.gif
DM Unseen , november 09, 2009

Schrijf commentaar

kleiner | groter
security image
Schrijf de volgende tekens

busy