
Bij het ontwikkelen van AI-applicaties, bijvoorbeeld RAG-applicaties, maken AI Engineers gebruik van vector databases. Waarom zijn vectoren en vector databases zo nuttig?
Het nut van embeddings (vectoren gegenereerd door taalmodellen)
AI-modellen zoals large language modellen kunnen tekst goed interpreteren en genereren. Er zijn ook speciale taalmodellen genaamd embedding modellen. Deze modellen kunnen teksten interpreteren en omzetten in zogenaamde embeddings. Een embedding is een vector; een wiskundige lijst van getallen. Een embedding is in feite een wiskundige notatie van de betekenis van een tekst.

Tekst omzetten in vectoren biedt voordelen: met getallen kan namelijk gerekend worden en met tekst niet. Dit biedt de mogelijkheid om te bepalen in hoeverre twee teksten qua betekenis aan elkaar gelijk zijn. In bovenstaand diagram wordt uitgelegd hoe dit werkt: eerst zet een embedding model twee teksten om naar een vector, vervolgens bereken je in hoeverre de embeddings (vectoren) van deze teksten aan elkaar gelijk zijn. Hieruit komt een getal dat aangeeft in hoeverre de teksten overeenkomen.
Deze techniek biedt de mogelijkheid aan applicaties om informatie op te zoeken op basis van jouw prompt. Op basis van deze extra informatie kan een AI-model jouw vraag dan beter beantwoorden. Deze functionaliteit wordt wordt ook wel RAG genoemd.
Embeddings opslaan in een vector database
RAG-applicaties kunnen heel snel relevante teksten en documenten opzoeken in een database. Jouw prompt wordt daarbij omgezet in een embedding en vergeleken met embeddings van de database aan beschikbare documenten.
De noodzaak van een vectordatabase is nu duidelijk: als je veel documenten wilt doorzoeken moeten de embeddings daarvan worden opgeslagen, dit kan het beste in een database die vectoren ondersteunt. Naast het opslaan van vectoren moet de database ook in staat zijn om deze vectoren heel snel te kunnen vergelijken.
Welke vector databases zijn er en welke zijn het meest geschikt?
Er zijn meerdere vector databases beschikbaar, elk met hun eigen voordelen en nadelen.
1. Pgvector (uitbreiding van Postgres)
Postgres is al jaren één van de meest populaire SQL-databases. Deze database is namelijk open-source, en dus gratis zonder vendor-lock in. Postgres wordt actief ontwikkeld door een brede, wereldwijde community met regelmatige releases en snelle bugfixes. Eén van de extensies die is ontwikkeld is pgvector, waarmee ook vectoren kunnen worden opgeslagen.
Voordelen:
- Makkelijk te configureren indien je al Postgres gebruik
- Combineert opslag van embeddings met relationele databasestructuur
- Open-source (geen vecor lock-in)
- Actieve ondersteuning vanuit open-source community, ook op lange termijn
Nadelen:
- Kan overkill zijn als je geen relationele database nodig hebt
- Er zijn vector databases die makkelijker te installeren zijn
2. Chroma
Chroma (ook wel ChromaDB genoemd) is een andere open-source vector database. Het kan makkelijk op te zetten zijn dan Postgres, je kunt het bijvoorbeeld installeren als een Python package via pip install chroma.
De data van Chroma kan op meerdere manieren worden opgeslagen. Zo kan het vanuit een Python-applicatie ook 'in-memory' worden opgeslagen, waardoor de configuratie minimaal is. Ook is het (uiteraard) mogelijk om de data persistent op te slaan, zodat je data niet kwijt bent als je je applicatie opnieuw opstart.
Met slechts twee regels code kan je een database aanroepen vanuit Python:
import chromadb
# In-memory
client = chromadb.EphemeralClient()
# Persistent
client = chromadb.PersistentClient(path="/path/to/save/to")Voordelen:
- Makkelijker te installeren via
pip install - Open-source (geen vecor lock-in)
- Zeer geschikt voor lokale workflows en experimenten
Nadelen:
- Minder geschikt voor grote hoeveelheden data
- Relationele database ontbreekt
3. Qdrant
Qdrant is vergelijkbaar met Chroma: ook open-source. Qdrant moet echter apart geïnstalleerd zijn, vergelijkbaar met Postgres, en is daarom iets minder laagdrempelig.
Qdrant is daarentegen geoptimaliseerd voor professioneel gebruik voor grote hoeveelheden data. Zo biedt Qdrant bijvoorbeeld ondersteuning voor metadata-filtering.
Je gebruikt Qdrant vooral als je de stabiliteit en volwassenheid van Postgres wil met een zo goed mogelijke performance.
Voordelen:
- Open-source en geoptimaliseerd voor vectoroperaties
- Zeer goede performance
- Uitgebreide support voor metadata-filtering
Nadelen:
- Minder toegankelijk dan Chroma
- Geen relationele database
4. Pinecone
Pinecone is geen open-source vector database, maar een managed vector database, ook wel 'vector database as a service' genoemd.
Het voordeel van Pinecone is dat je eenvoudig aan de slag kunt: configuratie is via de online omgeving van Pinecone erg eenvoudig. Daarnaast schaalt Pinecone erg goed waardoor het ook bij grote hoeveelheden data nog steeds snel is. Daar staat tegenover dat Pinecone niet open-source is en dus ook niet gratis.
Voordelen:
- Eenvoudig te configureren
- Schaalt zeer goed, grote hoeveelheden data verwerken is gemakkelijk
Nadelen:
- Niet open-source: betaald en vendor lock-in.
5. Weaviate
Weaviate is een 'AI-native' vector database die zowel open-source te gebruiken is, maar ook wordt aangeboden als dienst door verschillende partijen
Weaviate biedt extra functionaliteit middels plugins, zoals rerankers en vectorizers. Daardoor biedt Weaviate meer functionaliteit dan bijvoorbeeld Qdrant. Deze functionaliteit kan echter ook vanuit applicaties zelf geschreven worden.
Voordelen:
- Veel functionaliteit geïntegreerd in één oplossing
- Open-source
Nadelen:
- Meer functionaliteit vereist ook meer configuratie
- Zelf logica schrijven (bijvoorbeeld in Python) biedt meer flexibiliteit
6. Milvus
Milvus is een open-source database die geschikt is voor een 'distributed' architectuur. Op deze manier kunnen meerdere installaties van Milvus samenwerken om zo tot een hoge performance te komen.
Milvus is dus bij uitstek geschikt als performance heel belangrijk is. De installatie en configuratie is echter complexer dan bij oplossingen zoals Pgvector en Qdrant.
Voordelen:
- Distributed architectuur: geschikt voor zware belasting
- Open-source
Nadelen:
- Complexer qua configuratie en installatie dan andere oplossingen.
Wat moet ik kiezen?
Heb je al een PostgreSQL-database?
- Ja → kies pgvector
Nee → ga naar stap 2
- Ja → kies pgvector
Is je use case vooral lokaal, experimenteel of prototyping?
- Ja → kies Chroma
- Nee → ga naar stap 3
Bouw je een RAG- of LLM-applicatie met filtering en lage latency?
- Ja → kies Qdrant
- Nee → ga naar stap 4
Wil je een managed oplossing zonder eigen infrastructuur?
- Ja → kies Pinecone
- Nee → ga naar stap 5
Heb je zeer grote datasets en een distributed setup nodig?
- Ja → kies Milvus
- Nee → kies Weaviate (meer functionaliteit, AI-native)
Overzicht van vector databases
| Database | Open-source | Managed beschikbaar | Schaal | Sterk punt | Typische use case |
|---|---|---|---|---|---|
| pgvector | ✅ | ❌ | Laag–middel | Integratie met Postgres | RAG boven bestaande SQL-data |
| Chroma | ✅ | ❌ | Laag | Simpel & lokaal | Prototyping, experiments |
| Qdrant | ✅ | ✅ | Middel–hoog | Filtering & performance | Productie-RAG, chatbots |
| Pinecone | ❌ | ✅ | Hoog | Volledig managed | Enterprise & schaal |
| Weaviate | ✅ | ✅ | Middel–hoog | AI-native & hybride search | Kennisplatformen |
| Milvus | ✅ | ✅ (Zilliz) | Zeer hoog | Distributed performance | Miljarden vectoren |
Conclusie
Vector databases vormen een essentieel onderdeel van moderne AI- en RAG-applicaties. Ze maken het mogelijk om semantisch te zoeken in grote hoeveelheden ongestructureerde data en bieden daarmee functionaliteit die met traditionele databases niet haalbaar is.
Er bestaat geen “beste” vectordatabase in absolute zin. De juiste keuze hangt sterk af van de context:
- Bestaande infrastructuur (bijvoorbeeld al Postgres in gebruik)
- Schaal en performance-eisen
- Operationele complexiteit die je wilt of kunt dragen
- Mate van flexibiliteit versus gemak
Voor kleinschalige toepassingen en experimenten zijn lichte oplossingen zoals Chroma of pgvector vaak voldoende. Voor productie-RAG-systemen met lage latency en filtering is Qdrant een logische keuze. Wie geen infrastructuur wil beheren kan terecht bij Pinecone, terwijl Weaviate extra waarde biedt wanneer AI-native functionaliteit en hybride search centraal staan. Bij zeer grote datasets en hoge belasting is Milvus het meest geschikt.
Kortom: kies niet op basis van populariteit, maar op basis van use case, schaal en beheerslast. Een goed gekozen vectordatabase maakt AI-applicaties aantoonbaar relevanter, sneller en beter schaalbaar.
Wil je AI expert worden?
Tijdens onze 5-daagse AI Opleiding of 7-daagse AI Engineer Opleiding leer je het hele AI spectrum kennen; van klassieke machine learning modellen tot generative AI met o.a. ChatGPT. Je leert programmeren in Python zodat je op uiteenlopende vlakken aan de slag kunt met AI. Of ben je op zoek naar een introductie in AI? Bekijk dan onze AI cursus basis eens. We bieden ook AI consultancy aan op allerlei thema’s.










