Datamodellering met Steve: strategieën voor versiebeheer
Inleiding:
In deze blog verkennen we twee verschillende manieren om versies van records te beheren in datamodellering, met inzichten en strategieën om meerdere versies van records en hun bijbehorende child-records efficiënt te beheren.
Deze strategieën zijn essentieel voor ontwerpers die werken aan objectmodellen waarin versiebeheer cruciaal is.
Manieren om versies van records te beheren
Er zijn twee hoofdmanieren om versies van records te beheren:
- De aanpak met gelijkwaardige records
- De aanpak met child-versies
Laten we dieper ingaan op elke aanpak om de implementatie, voordelen en nadelen te begrijpen.
De aanpak met gelijkwaardige records
Bij de aanpak met gelijkwaardige records wordt elke versie van een record aangemaakt als een apart, gelijkwaardig record onder een object op het hoogste niveau. Deze methode is eenvoudig, en Salesforce laat haar zien in hoe het quotes onder verkoopkansen implementeert.

Implementatie:
Elke versie is een apart record onder een object op het hoogste niveau.
Je kunt één van de records als primair markeren, maar alle versies zijn zichtbaar in lijstweergaven, gerelateerde lijsten en rapporten.
Voordelen:
- Eenvoudig en rechttoe rechtaan te implementeren.
Nadelen:
- Alle versies zijn zichtbaar, waardoor het moeilijk is ze te onderscheiden.
- Er is geen duidelijke koppeling of audit trail tussen verschillende versies.
Zonder goede handhaving kunnen er meerdere primaire of lopende records zijn.
De aanpak met child-versies
De aanpak met child-versies werkt met twee niveaus van objecten: een parent-object op het hoogste niveau en een child-object voor elke versie. Deze aanpak maakt een schoon systeem voor versiebeheer en wijzigingslog mogelijk.

Implementatie:
- Een object op het hoogste niveau vertegenwoordigt de configuratie, met child-objecten voor elke versie.
- Elke child-versie wordt automatisch opgehoogd en heeft een status (bijv. gearchiveerd, actief, in afwachting).
- De actieve versie is vergrendeld en wordt gebruikt voor productie, terwijl een conceptversie bewerkt kan worden.
- Als een concept geactiveerd wordt, wordt het actief, en wordt de vorige actieve versie gearchiveerd.
Voordelen:
- Biedt een duidelijke audit trail en historische documentatie.
- Zorgt dat er maar één versie tegelijk actief is.
- Gearchiveerde records dienen als ongewijzigde historische records.
Nadelen:
- Lijkt voor sommige gebruikers misschien ingewikkeld, maar is nodig voor belangrijke processen zoals flows.
Voorbeeld van de implementatie in Salesforce

Salesforce implementeert een vergelijkbare aanpak bij flows. In Salesforce is er een flowobject op het hoogste niveau met child-flowversies. Elke versie wordt automatisch opgehoogd, wat een gedetailleerd historisch overzicht geeft van elke flow, de aanmaak- en activeringsdatums.
Deze implementatie zorgt dat er maar één flow tegelijk actief is, en biedt zo een betrouwbaar en efficiënt mechanisme voor versiebeheer.
Deel 5: conclusie
De juiste aanpak voor versiebeheer van records begrijpen en kiezen is cruciaal in datamodellering. De aanpak met gelijkwaardige records is eenvoudig, maar de aanpak met child-versies biedt meer controle en een efficiënte audit trail. Door de implementatie van Salesforce te bestuderen en je specifieke uitdagingen in datamodellering mee te wegen, kun je de aanpak kiezen die het best bij je behoeften past.
Blijf op de hoogte!
Voor meer inzichten en tips: blijf op de hoogte hier op www.SteveTechArc.com en via het YouTube-kanaal @SteveTechArc (opens in a new tab). Abonneer je en word samen met ons nog beter in datamodellering!
De wereld helpen veranderen door mooie gedachten te delen met collega-architecten en met iedereen die op weg is om architect te worden!
STA 2.1