Snel naar content
Slowy changing dimensions

Welke types Slowly Changing Dimensions (SCD) zijn er?

Iedere organisatie slaat dagelijks grote hoeveelheden aan data op. Je wil goede inzichten uit deze data halen door middel van Business Intelligence. Het is belangrijk om vooraf goed na te denken over welke data je nodig hebt voor de inzichten die je wil verkrijgen. Eén van die aspecten is datahistorie. Heb je historische (oude) data nodig voor de gewenste rapportages? Dan moet je goed nadenken hoe je dit in je datawarehouse opslaat. Welkom in de wereld van Slowly Changing Dimensions, ook wel SCD genoemd.

Slowly Changing Dimensions

Slowly changing dimensions (SCDs) zijn een belangrijk concept in datawarehousing. Ze stellen je in staat om historische veranderingen in data op te slaan. Zo analyseer je hoe deze veranderingen in de loop van de tijd hebben plaatsgevonden. Er zijn zes typen slowly changing dimensions: Type 0, Type 1, Type 2, Type 3, Type 4 en Type 6. Het is belangrijk om vooraf goed te bedenken welk type je in jouw datawarehouse wil gebruiken om te voorkomen dat je performanceproblemen ervaart in je datawarehouse en dashboards.

Praktische voorbeelden

Laten we deze soorten Slowly Changing Dimensions toelichten aan de hand van een voorbeeld. Je beschikt in je organisatie over klantgegevens zoals bijvoorbeeld naam en woonplaats. Je hebt in je datawarehouse een dimensie met twee attributen: Naam en Plaats:

Je klant, Rob, verhuist van Utrecht naar Zeist en hij informeert jouw organisatie over deze verhuizing. De dimensie moet worden bijgewerkt naar aanleiding van deze verhuizing. Dit kan je op verschillende manieren doen dankzij de verschillende type Slowly Changing Dimensions. Ieder type heeft zijn eigen voor- en nadelen.

Slowly Changing Dimension (SCD) Type 0

Bij een type 0 SCD blijft de data ongewijzigd. In het systeem blijft de plaats Utrecht gekoppeld aan Rob. Alle toekomstige interacties met Rob blijven geassocieerd met Utrecht en niet met zijn nieuwe woonplaats Zeist.

Slowly Changing Dimension (SCD) Type 1

Bij een type 1 SCD wordt Utrecht vervangen door Zeist. Vanaf nu zijn alle interacties met Rob geassocieerd met zijn nieuwe woonplaats Zeist. Ook interacties uit het verleden toen hij nog in Utrecht woonde. Dit is een prima methode als het niet belangrijk is om te weten in welke plaats Rob voorheen woonde.

Slowly Changing Dimensions (SCD) - type 1

Slowly Changing Dimension (SCD) Type 2

Bij een type 2 SCD voeg je de nieuwe woonplaats als extra regel toe. Je overschrijft de oude woonplaats dus niet. Het voordeel van type 2 is dat het je in staat stelt om te rapporteren op basis van historische data.

Alleen het toevoegen van deze nieuwe regel is nog niet voldoende om goed te kunnen rapporteren. Welke van de twee regels is nu de actuele? Om deze type 2 wijzigingen te kunnen verwerken, moeten we 4 nieuwe kolommen aanmaken:

  1. Surrogate Key: de originele ID waarde voldoet niet meer. Daarom moeten we een nieuwe ID aanmaken. Anders kunnen we de twee regels niet onderscheiden. Door de originele kolom met ID wel te bewaren, blijft Rob te herkennen aan deze ID waarde.
  2. Current Flag: dit is een eenvoudige methode om aan te geven wat de huidige record is.
  3. Start Date: de datum vanaf wanneer dat specifieke record actief is.
  4. End Date: de datum tot wanneer dat specifieke record actief is.
Slowly Changing Dimensions (SCD) - type 2

Als het voor je organisatie belangrijk is om over deze historische data te beschikken, is een type 2 SCD de meest gebruikte methode om historische data op te slaan. Het nadeel van type 2 is echter dat het zorgt voor meer werkzaamheden op gebied van beheer, hogere opslagkosten en dat het mogelijk consequenties heeft voor de performance van je dataomgeving. Het is daarom belangrijk om vooraf goed na te denken over de toepassing van je data. Op basis van die afweging maak je de keuze of en hoe je historische data wil opslaan.

Lees ook:
Verklein je dataset en los problemen met performance op

Slowly Changing Dimension (SCD) Type 3

Bij een type 3 SCD voeg je alleen een nieuwe kolom toe, genaamd “Vorige plaats” en update je de kolom Plaats met de nieuwe woonplaats. Het nadeel hiervan is echter dat je niet weet op welke datum de klant verhuisd is. Daarnaast moet je iedere keer als de klant wéér verhuist, weer een nieuwe kolom Vorige Vorige plaats toevoegen, etc.

Slowly Changing Dimensions (SCD)- type 3

Slowly Changing Dimension (SCD) Type 4

Bij een type 4 SCD blijft de tabel intact en update je de record alsof je een type 1 wijziging doorvoert. Het verschil is echter dat je ook direct een extra historietabel aanmaakt waarin je de historische wijzigingen opslaat en bijhoudt.

De type 1 tabel:

Slowly Changing Dimensions (SCD) - type 1

De type 4 historietabel:

Slowly Changing Dimensions (SCD) - type 4

Door de datahistorie los te trekken, verklein je de dimensies en verbeter je de performance. In de meeste gevallen heb je namelijk alleen de huidige waarde nodig. Wanneer je echter toch historische data nodig hebt, zorgt deze structuur voor extra complexiteit. Het is in veel gevallen beter om type 2 te gebruiken in plaats van type 4.

Slowly Changing Dimension (SCD) Type 6

Een type 6 SCD is eigenlijk een hybride methode waarbij je alle technieken van types 1, 2 en 3 (1+2+3=6) toepast. Hierbij behoud je de historie van alle wijzigingen en update je tegelijkertijd een “current value” kolom voor alle records. Op deze manier beschik je over een complete wijzigingshistorie zonder dat er aanvullende berekeningen nodig zijn.

Het nadeel van een SCD type 6 is dat het meer opslagruimte vereist. Dit leidt tot inefficiënt gebruik van opslagruimte en tot verhoogde kosten voor opslag en onderhoud. Bovendien wordt het beheer van een hybride SCD complexer, met verhoogde complexiteit en hogere onderhoudskosten tot gevolg.

Slowly Changing Dimensions (SCD) - type 6

Conclusie

In deze blog hebben we het gehad over Slowly Changing Dimensions (SCD) en de verschillende SCD-types die worden gebruikt in datawarehousing. Het beheer van veranderingen in de tijd van dimensionele gegevens is een belangrijk onderwerp voor organisaties die waarde willen halen uit hun gegevens.

Het kiezen van het juiste SCD-type is afhankelijk van verschillende factoren. Denk bijvoorbeeld de aard van de gegevens, hoe vaak gegevens veranderen, de noodzaak om historische gegevens te behouden en de vereisten van de organisatie. Het is ook belangrijk om de complexiteit van het beheer van de verschillende SCD-types te overwegen, aangezien complexere types meer opslagruimte en onderhoud vereisen. Kies zorgvuldig een type Slowly Changing Dimensions bij het ontwerpen van een datawarehouse, om te zorgen voor nauwkeurige en betrouwbare gegevens over een langere periode.

Peter Ledeboer
Meer weten?
Boek direct een gratis adviesgesprek met Peter

✔ kies zelf je dag en tijd ✔ gratis en zonder verplichtingen

Meer weten?

Wil je meer weten over het bijhouden van datahistorie of over datawarehousing in het algemeen? Neem dan vrijblijvend contact met ons op. Eén van onze specialisten neemt binnen één werkdag contact met je op. Of plan direct zelf een gratis adviesgesprek in op een dag en tijd die jou het best uitkomt.

Blijf op de hoogte

De auteur

Inergy
Inergy

Wij eten, drinken en ademen data – en wat je ermee kan doen. Dat delen we graag met jou. Meer weten over Inergy? Neem contact met ons op via 0348 45 76 66 of info@inergy.nl.

Meer berichten

Alle berichten

Een dag uit het leven van Krystle Villaflor, Cloud & DevOps Engineer bij Inergy

Een dag uit het leven van Krystle Villaflor, Cloud & DevOps Engineer bij Inergy

Als Cloud & DevOps Engineer bij Inergy maak ik deel uit van een team van meer dan 170 collega’s. In mijn rol zorg ik ervoor dat onze infrastructuur soepel draait en dat klanten kunnen vertrouwen op stabiele, veilige en efficiënte cloudomgevingen door middel van geautomatiseerde processen en continue optimalisatie.

Lees verder

Toegankelijkheid is geen luxe, maar een basisvoorwaarde voor inclusiviteit

Toegankelijkheid is geen luxe, maar een basisvoorwaarde voor inclusiviteit

In een samenleving waarin de overheid er voor iedereen is, ligt er een duidelijk verantwoordelijkheid bij diezelfde overheid om toegankelijk te zijn voor al haar burgers. Dit betekent niet alleen fysiek toegankelijke gebouwen, maar ook toegankelijke digitale documentatie. Of je nu een beleidsdocument, een begroting, of een ander P&C-publicatie schrijft, het is cruciaal dat deze documenten voor iedereen te begrijpen en te gebruiken zijn - ongeacht eventuele beperkingen.

Lees verder

Leonard vertelt over de nieuwe LIAS Risico-applicatie

Leonard vertelt over de nieuwe LIAS Risico-applicatie

Heb je ooit gewenst dat je publicaties consistenter en professioneler waren, zonder urenlang te moeten sleutelen aan elke zin? Met de LIAS Tekstassistent wordt dit realiteit. Laten we je meenemen in de praktische toepassingen die jouw werk als schrijver aanzienlijk eenvoudiger maken.

Lees verder