Dataplatform · open source · datavisualisatie

Marquez: de herkomst van data in één oogopslag te volgen maken

Marquez project screenshot

Context

In een dataplatform staat niets los. Een tabel wordt geproduceerd door een job die drie andere tabellen leest, en die voeden een dashboard waarover maandagochtend iemand komt klagen. Als die afhankelijkheden alleen als ID’s in een lijst bestaan, verandert de vraag “waar komt dit getal vandaan?” in een middag navragen bij collega’s.

Uitdaging

Een dichte afhankelijkheidsgraaf zo tekenen dat hij leesbaar blijft: genoeg tegelijk zichtbaar om de vorm van het systeem te zien, genoeg detail op verzoek om een echte vraag te beantwoorden, en geen situatie waarin de gebruiker verdwaalt in zijn eigen data.

Scope

Wat ik heb gedaan

  1. 01Ik werkte mee aan de frontend van de open-sourcewebapplicatie Marquez.
  2. 02Ik werkte aan interfaces om metadata door te bladeren.
  3. 03Ik implementeerde de visuele weergave van afhankelijkheden tussen data.
  4. 04Ik gebruikte React en D3.js voor een interactieve, sterk datagedreven UI.

Belangrijkste beslissingen

Belangrijkste beslissingen

  1. 01

    De graaf is de hoofdmanier van lezen, geen decoratie

    Afhankelijkheden worden als graaf getekend omdat de vraag bijna altijd relationeel is: niet “wat is deze dataset?”, maar “wat zit er stroomopwaarts en wat valt om als ik dit wijzig?”

  2. 02

    D3.js waar een grafiekbibliotheek ophoudt

    Lineage-grafen vragen controle over de layout, het gedrag van de knooppunten en hoeveel er tegelijk wordt getekend. D3 geeft die controle ten koste van meer handwerk, en dat is de juiste afweging voor een gespecialiseerde interface waarin mensen de hele dag werken.

  3. 03

    React als bindmiddel voor de rest van de applicatie

    De componentstructuur verbond de visualisatie met de metadatapanelen en de flows eromheen, zodat de graaf een weergave in de applicatie is en geen eiland middenin.

Resultaten

Resultaten

  1. 01

    Een interface waarin engineers metadata doorbladeren en afhankelijkheden volgen in plaats van ze met de hand te reconstrueren.

  2. 02

    Een technische datagraaf die je kunt verkennen, in plaats van een lijst met ID’s.

  3. 03

    Werk dat publiek te controleren is, want Marquez is open source en de code staat op GitHub.

Stack

  • React
  • JavaScript
  • D3.js
  • Open Source

Ingezette diensten

Heb je een vergelijkbaar project? Laat me weten wat je wilt bouwen, dan reageer ik meestal binnen 2 uur.