Print This Post

De Data Vault-methodiek betekent in een aantal opzichten een radicale breuk met het datawarehouse-verleden. Hoe radicaal, merk je pas goed als je de ideeën eruit begint toe te passen. Dan kom je er ook achter dat je alleen ten volle profijt kunt trekken van dat nieuwe denken, als je je oude ideeën, aannamen en ervaring overboord durft te zetten.
Zo kan een vertrouwd concept als brononafhankelijkheid door een frisse benadering een geheel andere invulling krijgen.

Brononafhankelijkheid

Een datawarehouse moet (zo) brononafhankelijk (mogelijk) zijn: wijzigingen in de bronsystemen moeten zoveel mogelijk worden losgekoppeld van wijzigingen in de BI-omgeving.
Traditioneel wordt het datamodel van het centrale datawarehouse beschouwd als een belangrijke enabler voor brononafhankelijkheid. Het is een best practice om dit model niet te baseren op de datamodellen van de bronnen, maar op bedrijfsmodellen: informatiemodellen die de kern van het bedrijfsproces weten te vangen, ongeacht hoe dat proces op enig moment geïmplementeerd is. Daardoor wordt het datawarehouse-model in zekere mate generiek: er wordt als het ware op voorhand al rekening gehouden met toekomstige wijzigingen in de bron, zodat die geen aanpassing van het datamodel vereisen. Aanpassing van het ETL-proces is echter niet te vermijden, de brongegevens moeten immers omgevormd worden naar het generieke model.

Omslag

De Data Vault-aanpak staat daar haaks op. Er wordt geen poging gedaan om achterliggende bedrijfsprincipes te achterhalen en de feiten daar naartoe te modelleren: de feiten worden vastgelegd zoals ze binnenkomen. Op basis van een set vuistregels wordt een Data Vault-variant van het bronmodel geconstrueerd (en ook de ETL daar naartoe kan op die manier bepaald worden), maar inhoudelijk wordt er niets gewijzigd aan de gemodelleerde begrippen.
Met andere woorden: een Data Vault wordt volledig bronafhankelijk gemodelleerd!

Dat druist lijnrecht in tegen alles wat we weten over datawarehousing. In mijn huidige opdracht ben ik heel lang bezig geweest om die brongestuurde modellering te verenigen met het idee van een generiek datawarehouse-datamodel – we willen toch brononafhankelijkheid? Nou dan!
Totdat ik me realiseerde dat het in de Data Vault-architectuur zinloos is (zo niet contraproductief) om het centraal datawarehouse generiek te modelleren, omdat het in de overall omgeving een totaal andere rol speelt dan bij de traditionele aanpak.

Een andere kijk op het datawarehouse

We zijn gewend het centrale datawarehouse te beschouwen als de kern van de totale datawarehouse-omgeving, dé plek waar het allemaal gebeurt. Binnenkomende brongegevens worden onderweg naar het centrale datawarehouse omgemodelleerd, losgekoppeld van de bron, geïntegreerd, geschoond, etc. Het zwaartepunt van de processing, de “Big T” (als in: Transformatie met een grote T) bevindt zich dus aan de ingang van het datawarehouse.

In de Data Vault-architectuur daarentegen, speelt het centrale datawarehouse eigenlijk maar een ondergeschikte rol. De Big T, die in deze architectuur tussen het datawarehouse en de datamarts is gepositioneerd, is de kern van een Data Vault-datawarehouse: daar voeren we alle business logica uit, daar integreren we, daar schonen we.
En daar ligt ook het ontkoppelpunt met de bronnen. Als de bronnen wijzigen, moeten de gewijzigde gegevens nog steeds probleemloos ingelezen kunnen worden in het datawarehouse; maar wat er daarna mee gebeurt, wordt volledig bepaald in de Big T. Geheel in lijn met de Data Vault-principes, worden ook de gewijzigde gegevens niet zonder meer automatisch doorgeladen naar de datamart, maar alleen als de gebruiker daarom vraagt.

Impact

Maar als het ontkoppelpunt tussen bronnen en BI-omgeving binnen het datawarehouse komt te liggen, hebben bronwijzigingen toch wel degelijk impact op het datawarehouse-model?
Jawel – maar hoe erg is dat eigenlijk? Laten we eens bekijken hoe een en ander in de praktijk uitpakt.

Om de gewijzigde brongegevens in te passen in het datawarehouse-model, halen we ze door de modelleringsregels van de Data Vault: we zetten ze rechtstreeks om naar corresponderende hubs, satellites of links. (Een bronaanpassing zul je in een Data Vault vaak terugzien als nieuwe attributen in een bestaande satellite, of als nieuwe links en satellites die worden toegevoegd tussen de bestaande structuren.) Daardoor kan ook de ETL-verwerking het datawarehouse in rechttoe-rechtaan zijn; de gegevens kunnen vrijwel 1:1 geladen worden. (Dit deel van de ETL kan zelfs gegenereerd worden.)
De Big T, het meest complexe proces, hoeven we pas aan te passen als de gebruikers de gegevens in de BI-omgeving willen zien. Die klus doen we in ons eigen tempo, los van de bronwijziging.

Ook in een traditionele omgeving moet het ETL-proces aangepast worden. Maar daar wordt de zwaarste verwerking al aan de ingang van het datawarehouse gedaan: willen we dus de nieuwe gegevens überhaupt kunnen laden, dan hebben we geen andere keus dan direct de Big T onder handen te nemen – ook als we de nieuwe gegevens nog niet naar de datamarts hoeven door te zetten. En voor het uitvoeren van die complexe aanpassing, hebben we dan ook nog de releasedatum van het bronsysteem als deadline – want zodra de nieuwe interface operationeel wordt, moet het datawarehouse deze netjes kunnen verwerken, anders loopt het ETL-proces stuk.

Oftewel: in een Data Vault moet het datawarehouse-model weliswaar aangepast worden, maar de totale impact op de datawarehouse-omgeving is een stuk beter te beheren en beheersen. En dat is toch uiteindelijk de reden waarom we brononafhankelijkheid nastreven.


Print This Post
  • email
  • del.icio.us
  • Twitter
  • LinkedIn
  • Digg
  • Facebook
  • Google Bookmarks
Trackback URI: http://blog.grey-matter.nl/data-vault-en-brononafhankelijkheid/trackback/

Back to home page
« Ongestructureerde gegevens: zin of... De rol van het datamodel in het... »
12 Responses to “Data Vault en brononafhankelijkheid”
 

Alles tussen DV en de datamarts klakkeloos in de grote T stoppen lijkt mij geen goed idee, dat kan nl wel erg groot en oncontroleerbaar worden. Ik zie nog steeds emplooi voor additionele DWH benaderingen om zo die grote T die tussen de DV en de data marts ontstaat te overbruggen/beheersen. Ik denk bijvoorbeeld aan een ‘Bussiness’ (model) gedreven DWH in DV stijl (zoals oa. BIready dat doet) die gevoed wordt met de geschoonde data vanuit de DV. Of extra DV entiteiten die alleen geschoonde en geconformeerde gegevens bevatten/aangeven die dan eenvoudig naar de data marts geexproteerd kunnen worden.

Misschien moeten we Data Vault meer zien in het licht van evolutie van een HDS(Historical Data Stage) naar de IHDS(Integrated Historical Data Stage), en een business gedreven DV als de opvolger van het huidige datawarehouse.

M Evers wrote on August 4th, 2008 at 11:17

 

Het hangt er vanaf hoe je de big T implementeert. Beheersbaarheid is zeker een issue; waar in het overall proces je ze ook onderbrengt, het aantal business rules dat toegepast moet worden, en de complexiteit ervan, blijft gelijk. Je big T-implementatie moet daar dus tegenkunnen.

Bij mijn huidige opdrachtgever hebben we de grote T geformaliseerd door tussen EDW (de DV) en datamart een “EDW-plus” in te richten, waarin we de resultaten van de toepassing van de business rules bewaren. De grote T is dus niet alleen een stap in het proces, maar ook een aparte omgeving binnen het dwh geworden.
In het EDW-plus komen enkele van de benaderingen terug die jij ook schetst. Dus: extra DV-entiteiten voor geïntegreerde/geconformeerde gegevens, extra satellites voor afgeleide gegevens, hermodellering richting specifieke business-informatiebehoeften e.d.
De slag om tot een dimensioneel model (of welk ander formaat je kiest voor je datamart) te komen, is van daaruit inderdaad relatief eenvoudig.

Lidwine van As wrote on August 4th, 2008 at 21:31

 

Lidwine, bedankt voor je commentaar.

Ik zou bijna gaan concluderen dat om de grote T te implementeren hergebruik van de DV modelleertechniek voor een (gedeeltelijke) business (model) gedreven aanpak in feite een best practice (aan het worden) is .
Mits dit natuurlijk echt nodig is voor de datamarts.

Waar ik mij wel zorgen over maak is of je ook naar zo’n aanpak toe kan evolueren. Stel je begint met een puur DV. Waarna er meestal al snel een aantal extra hubs, links en sattelieten bij komen om de geschoonde en geconformeerde data weer te geven die nodig is in je datamarts. Wanneer en hoe ga je dat op een gegeven moment afsplitsen in een ‘eigen’ business DV? Of moet je met de planning al rekening gaan houden met een business DV, en is het dus een vast onderdeel van je architectuur. Dit laatste maakt een ‘complete’ DV(DV+business DV) architectuur nl wel minder flexibel.

M Evers wrote on August 5th, 2008 at 08:16

 

Minder flexibel…dat hoeft niet. Zoals wij het nu inrichten, definiëren we het EDW+ wel van meet af aan als onderdeel van de architectuur; maar het plus-gedeelte is een optionele tussenstap, niet verplicht - als er geen bewerkingen op de gegevens uitgevoerd hoeven worden, hoeven ze ook niet in het EDW+ gedupliceerd te worden.
De datamarts kunnen dus opgebouwd worden op basis van bewerkte/geschoonde/geïntegreerde data uit het EDW+, maar ook op basis van “ruwe” data rechtstreeks uit het EDW (of een combinatie van beide); daarmee creëer je juist extra flexibiliteit voor je processing, terwijl de onderverdeling overzichtelijk blijft.

(Feitelijk is er dus in onze architectuur geen aparte “business DV”-component aan te wijzen; al zou je EDW en EDW+ samen als een conceptuele business DV kunnen beschouwen.)

Lidwine van As wrote on August 7th, 2008 at 13:41

 

Bedankt voor je uitwerking,

Ik maak hieruit op dat jou EDW en EDW+ alleen conceptueel gescheiden zijn, maar logisch (en mischien wel fysiek) een geheel vormen.

M Evers wrote on August 8th, 2008 at 08:45

 

Nee, ze zijn ook logisch gescheiden. Zo maken we bijv. aparte logische datamodellen en logische dataflow ontwerpen voor het EDW en EDW+. Momenteel vormen ze dus alleen fysiek één geheel.

Naarmate de DV breder toegepast gaat worden, zullen er langzamerhand wel best practices voor de inrichting van de big T ontstaan; op dit moment is er natuurlijk nog weinig uitgekristalliseerd. Wat zijn jouw ervaringen hiermee?

Lidwine van As wrote on August 13th, 2008 at 12:41

 

Jou oplossing is dus een soort duale oplossing waarbij er 2 DV zijn op 2 niveaus(ruwe data en geschoonde data) die allebei als bron voor de datamarts dienen.

Mijn eigen (niet DV) ervaring is dat de grote T voor veel organisaties ook het grote struikelblok is. Het beheersen en reduceren ervan is vaak een belangrijke succesfactor voor een duurzaam DWH. Een mismacth tussen deze T en de organsiatie levert mijns inziens regelmatig problemen op, zekrer op de lange termijn.

Binnen de DV aanpak zelf zie op dit moment 2 (uitersten) van aanpakken om de grote T klein te krijgen:

Als een zeer systematische aanpak zou de neiging hebben om een tweelaags DV te maken waarbij de onderste laag met brondata (standaard bottom up DV) met evt analyses van die brondata in zijn geheel omgezet wordt naar een bovenste DV die volledig topdown (business/analyse model) gedreven is. Deze toplaag stuurt dan (de meeste) datamarts aan.
Hiermee hak je de grote T effectief in twee delen. Dit vergt echter wel een volledig systematische DV naar DV transformatie van *alle* gegevens. Ook degradeer ik nu de oorspronkelijke DV naar meer en meer een ‘historical staging’ rol. alleen de bovenste DV is voor de gemiddelde gebruiker toegankelijk (de onderste is voor auditors/analisten ed).
Overigens kan ik me voorstellen dat bij zeer grote en/of complexe organisaties dat er zelfs meerdere business DV’s zijn die allen gebaseerd zijn op één DV met brondata.

Een heel pragmatische aanpak is om informatie over data- kwaliteit en transformatie volledig in het DV op te slaan, en een alleen een (logische) toegangslaag te maken waarmee je de een business view krijgt van je onderliggende DV data.

Natuurlijk kun je eindeloos variëren tussen deze twee strategieën.

Ik ben niet van mening dat de grote T zoveel mogenlijk buiten de DV gehouden wordt, dwz opweg naar de datamarts, aangezien die transformaties daar veel minder systematisch, herbruikbaar en controleerbaar zijn. Datamarts moeten in mijn ogen zo goed mogenlijk centraal gestuurd worden. Dat impliceert een overzichtelijke T tussen EDW en Datamrts

M Evers wrote on August 15th, 2008 at 10:34

 

De uitdaging is naar mijn idee om het Centrale Data Warehouse stabiel qua structuur te houden en om redundantie in functionaliteit (ETL) te voorkomen
De stabiliteit van het CDW kan de Data Vault-methode worden geborgd door de logische business keys als basis te nemen voor het model. Hiermee bereik je dat het model van de CDW gebaseerd wordt op de logische structuur van de business die veel stabieler is dan de technische structuur van de bronsystemen. Een lastig punt daarbij is dat noch de organisatie noch het bronsysteem zorgvuldig omgaat met het definiëren van business keys.
Een uitdaging van de modelleurs van het CDW om dit vanuit de business boven tafel te krijgen!

Tussen bron en CDW krijg je zo een transformatieslag tussen bron en bedrijfsmodel.
In feite gaat het meer om een mapping dan een transformatie.
Elke sleutel en attribuut in het CDW is terug te voeren tot een gegeven in de bron. Gegevens die redundant in bronnen voorkomen (zoals de klantnaam) hoef je echter in principe maar één keer op te nemen als ze dezelfde betekenis hebben.

Omdat je zo in het CDW verschillende bronnen in een gemeenschappelijke structuur hebt ondergebracht die een afspiegeling is van het businessmodel wordt de transformatie tussen CDW en datamarts eenvoudiger.

Hiermee is de redundantie niet of slechts deels opgelost, In het CDW hebben we immers de basisgegevens (one statement of the facts) en niet de afgeleide gegevens (user- or department specific versions of the truth). Idealiter zou je dit via een business rules engine willen regelen; zover zijn we echter nog niet. Vooralsnog lijkt een laag na het CDW met afgeleide gegevens een geschikte oplossing.

Rob Mol wrote on February 23rd, 2009 at 11:19

 

Who wants to hear something refreshing? Easy is as easy does is what I always say. So I found an easy way to make money. This thing I found is actually some software. The fact is, that this software is 100% legal, “white hat” and ethical, that even giant enterprises use it. The software needs very little babysitting so it’s basically set it up and forget it. Some people are tempted to exploit this software and use it for unethical web promotion but the owner is asking that everyone who is lucky enough to get it, please try to respect the laws of the internet. It really is as simple as downloading the software and then pushing a button. Basically what it does is bring a stream of free visitors to any website. You might be tempted to try to disect this software in order to ’see the magic’ but why bother? All you really need to know is that you can download it (if the link hasn’t been taken down yet) and then push a button and watch the magic. Test it out -> http://tinyurl.com/pbcsites

Sanjuanita Jinkens wrote on August 1st, 2011 at 22:18

 

I think this website has very excellent written content content.

louis vuitton replica wrote on December 10th, 2011 at 17:17

 

When you need cash now, but payday is still too far away, apply for loans online can be the answer to your problems.

We are not a payday advance lender. Simply fill out the short application and we will identify lenders that can provide you with a short term cash loan. We will attempt to match you with a lender most likely to provide you the cash you need

If you are matched with a lender, the lender will contact you to complete the process, review the terms of your loan and discuss repayment adn extension options. The money will be electronically deposited into your bank account. When the loan is due , you cash advance fees are automatically deducted from you bank account by apply for loans online. http://www.applyforloansonline.us/

Welte wrote on January 4th, 2012 at 21:27

 

I like this site so a lot, saved to favorites .

fake louis wrote on January 10th, 2012 at 18:37

Leave a Reply