Een graph database slaat gegevens op als nodes en relaties. Nodes zijn dingen zoals mensen, producten of accounts, en relaties (ook wel edges genoemd) beschrijven hoe ze verbonden zijn. Queries volgen die verbindingen direct, waardoor vragen over hoe dingen zich tot elkaar verhouden snel blijven waar vergelijkbare relationele joins traag en moeilijk te schrijven zouden worden.
Hoe slaat een graph database gegevens op
Elke node bevat eigenschappen, bijvoorbeeld een klant met een naam en een land. Elke relatie heeft een type en een richting, zoals "gekocht" of "rapporteert aan", en kan ook eigenschappen bevatten. De database slaat relaties op als eersteklas data, zodat het volgen van een relatie niet vereist dat je een tabel doorzoekt op overeenkomende sleutels.
Hoe verschilt het van een relationele database
Een relationele database slaat rijen op in tabellen en verbindt ze via sleutels en joins. Een graph database slaat de verbindingen zelf op.
| Relationele database | Graph database | |
|---|---|---|
| Kernstructuur | Tabellen en rijen | Nodes en relaties |
| Sterk in | Gestructureerde records, rapportage, transacties | Verbonden data, pad- en patroonzoekopdrachten |
| Data koppelen | Joins op sleutels | Directe relaties |
| Querystijl | SQL | Graaftalen zoals Cypher of Gremlin |
| Schema | Vast, wijzigingen vereisen migraties | Flexibel |
| Typische schaalproblemen | Joins over meerdere stappen | Brede aggregaties over alle records |
Wanneer is een graph database zinvol
Gebruik er een als de vragen die je stelt gaan over relaties en paden: wie is verbonden met wie, wat bevindt zich drie stappen verder, welke accounts delen een apparaat. Veelvoorkomende toepassingen zijn fraudedetectie, aanbevelingen, netwerk- en toegangsmodellering, supply chains en kennisgrafen. Als een query vijf of zes joins nodig heeft en bij elke stap trager wordt, is de data waarschijnlijk graafvormig.
Wanneer blijf je bij een relationele database
Voor de meeste producten is een relationele database de juiste keuze. Orders, facturen, gebruikers en voorraad passen goed in tabellen, en SQL-tooling, rapportages en engineeringervaring zijn veel breder beschikbaar. Een graph database toevoegen betekent een extra systeem beheren, beveiligen en gesynchroniseerd houden. Veel relationele databases verwerken recursieve queries tegenwoordig goed genoeg voor bescheiden relatiebehoeften, dus test dat eerst.
Hoe verhouden graphs zich tot AI-retrieval
Een vector database vindt tekst die qua betekenis vergelijkbaar is, wat de basis vormt van RAG. Een graph voegt expliciete relaties toe tussen de entiteiten in je documenten. Door beide te combineren kan een systeem vragen beantwoorden die meerdere documenten overspannen, zoals hoe twee projecten met elkaar verbonden zijn via een gedeelde leverancier. Dit patroon wordt vaak GraphRAG genoemd. Het kost extra inspanning om de graph te bouwen en te onderhouden, dus het loont als relatievragen veelvoorkomend zijn in jouw use case.
Wat zijn veelvoorkomende graph use cases
Fraudeteams koppelen accounts die een telefoonnummer, apparaat of adres delen en zoeken naar netwerken die een rij-voor-rij controle mist. Aanbevelingssystemen volgen paden zoals mensen die dit kochten, bekeken ook dat. Identiteits- en toegangssystemen modelleren wie wat kan bereiken via groepen en rollen. Kennisgrafen verbinden entiteiten die uit documenten zijn geëxtraheerd, zodat vragen er domeinoverstijgend over beantwoord kunnen worden.
Wat dit betekent voor je engineeringteam
De keuze voor een database bepaalt hiring en onderhoud voor jaren. Een team dat kiest voor een graph database heeft iemand nodig die relaties in productie heeft gemodelleerd, de querytaal beheerst en nagedacht heeft over back-ups en schaalbaarheid. Vraag kandidaten te verklaren waarom ze een graph database niet zouden gebruiken voor een bepaald probleem, want terughoudendheid is een betere indicator van ervaring dan enthousiasme.
Tijdens onze vetting werken kandidaten twee sessies van zestig minuten in een echte codebase, één zonder AI-tools en één met hun eigen agents. Als je datamodelleringsvaardigheden in je team nodig hebt, bekijk dan data engineers, vanaf €5.600 per maand voor een fulltime engineer.
Korte antwoorden
Is een graph database sneller dan een relationele database?
Voor queries die veel relaties volgen, meestal wel. Voor aggregaties over alle records of eenvoudige lookups is een relationele database vaak even snel of sneller.
Wat is Cypher?
Cypher is een querytaal voor graph databases die patronen van nodes en relaties op een leesbare manier beschrijft.
Kan ik een graph database gebruiken met een LLM?
Ja. Teams gebruiken graphs om modellen gestructureerde relaties te geven naast vector search, een patroon dat bekendstaat als GraphRAG.
Heb ik een graph database nodig voor mijn startup?
Waarschijnlijk niet in het begin. Een relationele database dekt de meeste producten af, en je kunt later een graph toevoegen als relatiequery's centraal komen te staan.
