Een Sprong in de Toekomst: Onze Halve Dag Verkenning van Data Vault

Freelance opdracht

Rhino Bols is al vijf jaar actief als BI consultant bij Juvo. Gedurende deze periode heeft hij zich voornamelijk gespecialiseerd in Power BI en de voorbereidende ETL-processen, waaronder de laatste SQL voorbereidingen, dataflows, DAX en PowerQuery.

Rhino Bols

BI Consultant, Juvo

Op een frisse donderdagochtend, gewapend met enthousiasme en nieuwsgierigheid, verzamelde ons data team zich voor een bijzondere interne sessie. Deze halve dag stond in het teken van een fascinerende reis door de wereld van Data Vault, begeleid door Eveline Vounckx. Met deze sessie openden we niet alleen de deuren naar geavanceerde datamanagement technieken, maar ook naar nieuwe mogelijkheden voor ons team en onze projecten.

Data Vault: Van Oorsprong tot Evolutie

Terug naar de jaren ’90, een tijdperk van grote technologische veranderingen, waar Dan Linstedt een baanbrekende bijdrage leverde aan de wereld van dataopslag met de creatie van Data Vault 1.0. Dit innovatieve systeem, ontworpen om data efficiënt en snel op te slaan, baseert zich op drie fundamentele bouwstenen: hubs, links en satellieten.

Hubs vormen de kern, waarbij ze unieke sleutels van entiteiten bewaren. Links brengen deze entiteiten met elkaar in verband, terwijl satellieten zorgen voor het vastleggen van attributen en de historiek van zowel entiteiten als hun relaties.

 

Maar zoals de technologie vooruitgaat, zo evolueert ook Data Vault. In 2013 werd Data Vault 2.0 geïntroduceerd, een gezamenlijke inspanning van Dan Linstedt en Michael Olschimke. Deze versie is niet alleen een verfijning van het origineel, maar ook een uitbreiding ervan, met de integratie van nieuwe concepten zoals diverse vaults en marts.

Data Vault 2.0 vertegenwoordigt de verzamelde best practices die over de jaren heen zijn ontstaan, en houdt vast aan de originele bouwstenen van hubs, links en satellieten, terwijl het nieuwe dimensies toevoegt aan de manier waarop we met data omgaan.

Data Vault 2.0: Aanpassing aan de Tijdsgeest

De Opkomst van Big Data: Met de explosieve groei van datahoeveelheden ontstond er een dringende behoefte aan systemen die grote volumes data efficiënt konden verwerken en opslaan. Data Vault 2.0 werd ontwikkeld om aan deze groeiende vraag te voldoen.

Single Version of Facts versus Single Version of Truth: In tegenstelling tot de traditionele benadering van ‘single version of the truth’, koos Data Vault 2.0 voor een ‘single version of facts’-benadering. Dit betekent dat elke vorm van data, of het nu als correct of incorrect wordt beschouwd, wordt opgenomen in het systeem. Deze inclusieve benadering waarborgt dat alle data traceerbaar blijft naar zijn oorsprong. Hierdoor wordt het mogelijk om eventuele onnauwkeurigheden of fouten efficiënt te identificeren en te corrigeren, waarbij de integriteit en de historische waarde van de data behouden blijft.

Door deze aanpassingen biedt Data Vault 2.0 een robuuster en flexibeler framework dat niet alleen grote datavolumes aankan, maar ook een betrouwbare basis vormt voor gegevensbeheer en -analyse.

Methodologie van Data Vault 2.0: Een Samensmelting van Best Practices

Data Vault 2.0 staat symbool voor een geïntegreerde aanpak waarbij het de essenties van diverse gevestigde managementmethodieken omarmt. Het integreert de principes van Lean-Six Sigma, TQM (Total Quality Management), Agile en CMMI (Capability Maturity Model Integration). Deze samenvloeiing resulteert in een methodologie die niet alleen uitgebreide regels en methoden biedt, maar ook gedetailleerde testactiviteiten, verwachte resultaten, en processtappen omvat. Het doel van deze rijke methodologische mix is het creëren van een weloverwogen, nauwkeurig gedefinieerde en consistent herhaalbare benadering voor het efficiënt en effectief beheren van data. Door deze methoden te volgen, waarborgt Data Vault 2.0 een hoogwaardige en betrouwbare data management praktijk.

De Gelaagde Architectuur van Data Vault 2.0: Een Overzicht

Data Vault 2.0 presenteert een gestructureerde en meerlaagse benadering van datamanagement, waarbij elke laag een specifieke functie vervult:

  • Staging Laag: Het fundament van het systeem begint bij de staging laag, waarbij data uit diverse bronnen wordt ingeladen. In deze fase worden geen transformaties of historieke bewerkingen toegepast; het is puur gericht op het verzamelen van ruwe data.

 

  • Data Warehouse (DWH) Laag: Na de staging laag volgt de DWH laag, waar Data Vault technieken worden toegepast. Deze laag behoudt de volledige historiek van de data en kan verder worden opgedeeld in twee sublagen:
      • Raw Data Vault (RDV): Deze laag dient als een opgeschoonde versie van de staging laag, waarbij alle data, inclusief potentieel foutieve, beschikbaar blijft. De RDV is een essentiële component van de architectuur.
      • Business Data Vault (BDV): Een optionele laag waar de eerste laag van bedrijfslogica wordt toegepast. Deze laag is handig voor rapportagedoeleinden en biedt een meer bedrijfsgerichte weergave van de data. Deze is ook sparsely built: men sluit daar alleen de data aan die in een information mart gebruikt gaat worden. Dit houdt in dat er enkel minimale business logica word toegevoegd, zoals formaterring. Er gebeuren hier nog geen aggregaties of herberekeningen. Zodat men de RDV strikt afgesloten kan houden van business.
  • Informatielaag: Deze gebruikersgerichte laag is specifiek ontworpen om het voor eindgebruikers eenvoudiger te maken om rapportages en analyses uit te voeren. Het transformeert data in een toegankelijk formaat voor besluitvorming en rapportage.
  • Metrics Vault: Als een optioneel, maar interessant onderdeel, helpt de Metrics Vault bij het beheren van operationele data. Deze kan worden ingezet voor doeleinden zoals fouteninspectie, prestatieopvolging en andere operationele analyses.

 

Elk van deze lagen speelt een cruciale rol in het efficiënt en effectief beheren van data, waarbij Data Vault 2.0 een holistische benadering biedt van datamanagement.

Verdieping in het Model van Data Vault 2.0: Kerncomponenten Ontcijferd

Data Vault 2.0 bouwt voort op de basisprincipes van Data Vault 1.0 en verrijkt deze met verfijnde elementen. Key take away van Data Vault is ook dat er NIETS verwijderd word, dus het is een immutable data store. Laten we de hoofdcomponenten van dit systeem nader bekijken:

  • Hub: De hub is het hart van de Data Vault-architectuur. Het slaat unieke sleutels (business keys) en hun bronnen op. Een unieke nieuwe sleutel wordt gegenereerd door de business key samen met de bron te hashen. Deze unieke sleutels zijn cruciaal voor het definiëren van verbindingen tussen hubs en satellieten, of voor het creëren van een link tussen twee hubs, wat effectief een nieuwe primaire sleutel wordt. Hubs bevatten geen historische data, alleen een laaddatum.
  • Link: Links zijn verantwoordelijk voor het vastleggen van de relaties tussen verschillende hubs (surrogate keys). Net als hubs bevatten ze enkel informatie over de laaddatum.
  • Satellieten: Satellieten bewaren beschrijvende informatie over de hubs en links. Ze kunnen een ongelimiteerd aantal kolommen of attributen bevatten, inclusief historische gegevens, wat hen onderscheidt van hubs en links.

Een klein voorbeeld:

Key

Name

Workplace

LoadDate

From

To

12345

Rhino

Port Of Antwerp

1-12-2019

1-1-2020

31-12-2020

12345

Rhino

Essent

1-12-2020

1-1-2021

1-6-2022

 

Een interessant aspect van Data Vault 2.0 is hoe het omgaat met NULL-waarden in business keys:

  • Verplichte Business Key is NULL: In dit geval wordt de NULL-waarde vertaald naar -1 en vervolgens gehashed. Dit is noodzakelijk omdat alle sleutels binnen het systeem gehashed moeten worden.
  • Niet-verplichte Business Key is NULL: Hier wordt de NULL-waarde vertaald naar -2 en gehashed.

 

Deze benaderingen, gekoppeld aan het ‘Zero-key’ concept, zorgen ervoor dat Data Vault 2.0 flexibel blijft in situaties waarin tijdelijke of permanente NULL-waarden voorkomen. Bijvoorbeeld bij parallel inladen van verschillende gelinkte tabellen waarbij sommige falen/trager zijn dan andere en dus tijdelijk NULL kunnen zijn.

Het Data Vault Verhaal: Een Balans van Voor- en Nadelen

Na een diepgaande verkenning van Data Vault 2.0, sluiten we af met een overzicht van de belangrijkste voor- en nadelen:

Voordelen

  • Flexibele Data-opslag: Data Vault 2.0 staat bekend om zijn vermogen om zich aan te passen aan diverse datatypen en structuren.
  • Beheer van Grote Data-volumes: Het systeem is uitermate geschikt voor het omgaan met en het beheren van grote hoeveelheden data.
  • Uitgebreide Lineage: Biedt een helder inzicht in de herkomst en evolutie van data, wat cruciaal is voor data-integriteit en -analyse.

 

Nadelen

  • Complexiteit door Meer Tabellen: De toename in het aantal tabellen kan leiden tot een complexere databasestructuur.
  • Mogelijk Onpraktisch voor Bepaalde Bedrijfsscenario’s: Niet alle bedrijfscontexten kunnen even goed aansluiten bij de structuur en werking van Data Vault 2.0.
  • Hogere Kennisvereisten voor Ontwikkeling: Er is een diepgaande kennis en begrip nodig om het systeem effectief te ontwikkelen en te beheren.

Deze voor- en nadelen belichten de afwegingen die gemaakt moeten worden bij het overwegen van Data Vault 2.0 als een oplossing voor datamanagement.

Afsluiting met een Hackathon: Een Praktische Toepassing en Teamversterking

Als kers op de taart van onze verkenning in big data optimalisatie, stortten we ons in een korte maar intensieve hackathon van 1.5 uur. Het doel: input uit Excel-bestanden automatisch verwerken naar een gestandaardiseerd rapport. Deze ervaring was niet alleen waardevol voor het project, maar ook voor het versterken van de band binnen ons team van zes.

Hoewel de oorspronkelijke intentie was om kennis te delen, leidde de krappe tijd ertoe dat iedereen teruggreep naar zijn eigen specialiteiten. Het resultaat was echter indrukwekkend, gezien de tijdslimiet:

 

  • Manuele Opkuis van Excel en Omzetting naar CSV: Een slimme zet om tijd te besparen tijdens de hackathon.
  • Automatische Import naar een S3 Bucket.
  • Automatisch Inlezen van Data naar Snowflake.
  • De Eerste Stappen Richting een Datamodel.

 

Ondanks de tijdsdruk was het een leerrijke ervaring om samen met collega’s aan een nieuw project te werken. De dynamiek van het gewoon een vraag in de groep gooien en de diverse reacties en oplossingen te zien, bleek een efficiënte manier van vooruitgang boeken.

In de laatste minuten hebben we onze bevindingen omgezet in een PowerPoint-presentatie, die we aan twee andere ontwikkelingsteams hebben voorgesteld. Deze dag, afgesloten met een gezamenlijk etentje, bewees eens te meer dat de waarde van samenwerking verder gaat dan alleen technische termen. Het was een dag van niet alleen kennisverrijking maar ook van teamversterking.

Wil jij deel uitmaken van ons fantastische data team?
Lees dan zeker verder op volgende pagina

Contact