ERD met relaties tussen verschillende datamodellen

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • Naj_Geetsrev
  • Registratie: Oktober 2002
  • Laatst online: 28-03-2024
Ik ben momenteel bezig met een groot project waar ik verantwoordelijk ben voor de algehele architectuur. In dit project gaat er nogal wat overgegooid worden met data tussen verschillende systemen van verschillende leveranciers. Vaker dan mij lief is moet er een bepaalde transformatie toegepast worden, maar vaak is de mapping 1 op 1.

Nou loop ik tegen het mooie probleem aan dat de relatie/mappings en transformaties tussen systeem A en B helder zijn, en tussen B en C en B en D. Maar heb net even zitten te tellen, er zitten soms 5 slagen tussen het bronsysteem en de uiteindelijke afnemers van die data, terwijl er in die slagen (en tussen liggende systemen) die data ook gewoon gebruikt moet worden.

Deze complexiteit komt uiteraard omdat we ook wat legacy in stand moeten houden de komende jaren.

Ik heb het wel redelijk in mijn hoofd zitten, maar ik wil het ook inzichtelijk maken dat het duidelijk is waar bepaalde data vandaan komt. En wat de impact is als we aan het begin van de keten iets veranderen.

Bijvoorbeeld:
Data X voor systeem D komt oorspronkelijk uit systeem A. Maar in de slag tussen B en C is er een transformatie toegepast: de voorloopnullen zijn weggehaald.
Ik heb al een poging gedaan tot een afschuwelijk Excel document met macro's en al. En het is minimaal werkbaar. Alleen mis je de transformaties en de vele 1:* relaties. Ik moet er ook niet aan denken om hier een grote ERD van te maken (afgezien dat transformaties dan ook niet goed inzichtelijk zijn).

Ik was benieuwd of iemand mij de juiste kant op kan wijzen. Of vanuit ervaring vertellen hoe dit aangevlogen is.

Alle reacties


  • Gomez12
  • Registratie: Maart 2001
  • Laatst online: 17-10-2023
Wat is het idee achter het beschrijven van die relaties?

Een transactie keten van met 7 stappen dat is gewoon complex. En dat wil je in principe ook niet in detail beschrijven omdat je kans op fouten veels te groot is.

Het lijkt namelijk vaak alsof iets 1 op 1 is, maar het is veelal onbekend of dat ook echt zo is. Mogelijk haalt systeem A simpelweg bij alle getalsvelden alle voorloopnullen weg, alleen valt dit je nergens op omdat het bij je bron ook al de standaard is op getalsvelden.

En elke update in het systeem kan dat dus veranderen.

Daarom dat ik ook vraag wat het doel erachter is, want als je het wilt simplificeren en je altijd dezelfde bron hebt dan zou ik gewoon zeggen dat je je bron moet verbouwen dat die alles gaat produceren.

Praktisch gezien is elk systeem gewoon een black-hole in je keten. Je weet wat er in gaat en je weet wat er uitkomt, maar of het 1-op-1 is dat is veelal slechts een aanname.

Acties:
  • 0 Henk 'm!

  • 80000
  • Registratie: Januari 2002
  • Laatst online: 01:19

80000

mrox

Je probleem omschrijving doet me denken aan een dezelfde problematiek in data warehousing voor ETL's tussen verschilende databases, mappings en transformaties tussen deze databases.

Daar zijn tools voor, omgevingen waar ik gewerkt heb gebruikten de volgende tools:
- Informatica PowerCenter: Deze url:https://morioh.com/p/fa233e6f24e7 geeft een aardige intro.
- Oracle Data Integrator

De tools geven je de mogelijkheid om per database, per table, per column, datatype, lengte en de mapping te beheren/implementeren inclusief overzicht om te traceren hoe elke stap tussen de databases transformaties, 1 op 1 of zelfs functies zijn.
De tools geven ook verdere automatisering, zodat de schema's beheerd/geupdate kunnen worden en nog veel meer.
Prijzen zijn dan ook navenant hoog en de genoemde tools zijn voor jouw doel misschien overkill en misschien helemaal niet passend voor jouw situatie.

Heb geen ervaring met opensource tools, maar deze link geeft een overzicht https://blog.panoply.io/1...case-for-saying-no-to-etl.

Misschien dat dit je een richting geeft.

En anders ideeen hoe je je Excel beter kan inrichten, ik zit ook wel eens op een project waar geen kennis, tijd (denk aan teveel legacy systemen + onderhoud +complexiteit) en budget voor zo'n tool is, dus als het alleen voor jezelf is en de documentatie/mapping hoeft niet gedeeld te worden, +1 voor Excel _/-\o_ .