Vaak gezien als sluitstuk, maar eigenlijk essentieel voor elk dataproject: het bijhouden van een datacatalogus. In een datacatalogus houd je metadata bij over al je data die je (wilt) gebruiken. Denk aan de betekenis van een tabel, veld of dataset, maar ook aan de gevoeligheid van de informatie of voorbeelden van queries. Een ander aspect dat belangrijk is om bij te houden is de lineage: de herkomst én het gebruik van een tabel of dataset. Waarom dit zo belangrijk is, lees je in dit artikel.
# 1: Vindbaarheid
De meest voor de hand liggende reden is vindbaarheid. Een goede datacatalogus heeft een goede zoekfunctie. En die zoekfunctie moet kunnen omgaan met vragen in natuurlijke taal. Tenslotte gebuikt niet iedereen dezelfde termen of woorden.
Belangrijke tip: test eerst de zoekfunctie voor aanschaf van datacatalogus-software.
# 2: Herbruikbaarheid
In de catalogus houd je niet alleen de namen, definities en privacy-aspecten bij, ook voorbeelden van queries en casussen waarin je de data gebruikt, sla je hierin op. Zo help je jezelf en collega’s door niet telkens het wiel opnieuw uit te vinden. Bovendien kunnen de meer ervaren collega’s queries van hogere kwaliteit opslaan, zodat beginnende analisten daar lering uit kunnen trekken.
Tip 2: zorg ervoor dat je query-voorbeelden opslaat én voorzie ze zoveel mogelijk van toelichting. Denk dan aan vragen zoals: Waarom koppel je tabellen op een bepaalde manier? Welke filters pas je toe? Hoe transformeer je de data?
# 3: Voorkom het stukmaken van zaken van jezelf en collega’s
Een datacatalogus zonder lineage is als een auto zonder brandstof: waardeloos. Zorg er dus voor dat je de lineage goed bijhoudt, het liefst automatisch natuurlijk.
Maar wat is dat eigenlijk, lineage? Kort door de bocht: de herkomst van datasets. Een dataset komt niet zomaar uit de lucht vallen. Door te registreren waaruit datasets voortkomen -in geval van gekoppelde datasets- kun je altijd terugkeren naar het origineel. Ook houd je eventuele tussentijdse transformaties (denk aan koppelingen aan andere datasets, opschoning, aggregatie enzovoorts) goed bij. Zo krijg je een totaaloverzicht van je herkomst.
…maar daar stopt het niet. Zorg er ook voor dat je het daadwerkelijke gebruik van je datasets goed registreert. In welke dashboards, voor welke modellen? Wie gebruikt de data? Zo voorkom je dat een collega boos aan je bureau staat omdat je zijn of haar dashboard stuk hebt gemaakt (omdat je de naam ´datum’ mooier vindt dan ‘date’ en ‘m dus hernoemd hebt — of omdat je opeens de tijd bij de datum had geplakt en het model daar niet goed mee overweg kan).
Tip 3: zonder lineage heb je niets aan een datacatalogus. Als je moet kiezen tussen een datacatalogus of een lineage-catalogus, dan is de laatste nuttiger.
# 4: Klaar voor de (AI-)toekomst
AI-modellen, zoals ChatGPT, zijn niet weg te denken en ze worden op een welhaast beangstigend tempo kundiger. Veel analisten en programmeurs gebruiken dagelijks chatmodellen om hun werk te versnellen of om problemen op te lossen. Een ai-model is zeker niet alwetend: het weet niet wat jij precies in je data warehouse gestopt hebt. Natuurlijk kun je databaseschema’s meegeven en dit helpt zeker, maar hoe kan een ai-model je waarschuwen als je gevoelige data gebruikt in een query? Of hoe legt het koppelingen tussen datasets die niet expliciet gekoppeld zijn?
Enter: de datacatalogus. Helemaal als die catalogus ingebouwde ai-functies heeft zodat je nog makkelijker informatie vindt en queries kunt laten maken.
Zien hoe we bij Datalab dit aanpakken? Zie de video hieronder van onze interne chatbot, Henk, die een (fictieve) zorginstelling helpt met data vinden.