Wat is een vector database?

Kort antwoord

Een vector database is een database die is gebouwd om embeddings op te slaan, de getallenlijsten die een AI-model produceert om betekenis voor te stellen, en om de opgeslagen items terug te geven die het dichtst bij een vraag liggen, in milliseconden. Het is de zoekstap in chatten met je documenten en semantisch zoeken. Je hebt er een nodig wanneer de tekst te groot is om in zijn geheel naar het model te sturen.

Een vector database beantwoordt één vraag, heel snel

Geef het een lijst met getallen en het geeft de opgeslagen lijsten terug die daar het dichtst bij liggen. Dat is de hele interface.

De lijsten zijn embeddings. Een embeddingmodel zet een passage, een productomschrijving of een afbeelding om in enkele honderden tot enkele duizenden getallen, zo geplaatst dat vergelijkbare betekenissen dicht bij elkaar terechtkomen, en wat zijn embeddings in AI legt uit hoe dat werkt. Een vector database is waar die lijsten wonen zodra je er veel hebt. Het slaat elke lijst op met een ID en wat metadata, bouwt er een index over en beantwoordt nearest neighbour search: "hier is een queryvector, geef me de tien dichtstbijzijnde."

Het moeilijke deel is het woord snel. Een query vergelijken met een miljoen opgeslagen vectoren van elk 1.536 getallen is 1,5 miljard vermenigvuldigingen, en dat bij elke toetsaanslag doen schaalt niet. Daarom gebruiken vector databases approximate nearest neighbour indexen, waarvan HNSW de bekendste is, een graafstructuur uit een paper van Malkov en Yashunin uit 2016 die enkele honderden kandidaten bezoekt in plaats van het hele miljoen en bijna altijd het juiste antwoord teruggeeft. Dat "bijna" is de ruil: een beetje recall voor een duizendvoudige snelheidswinst.

Je bestaande database matcht woorden; een vector database matcht betekenis

Een relationele database vindt rijen waarvan de waarden matchen: WHERE customer_id = 4127. Een full-text index vindt documenten die woorden bevatten: terugbetaling AND beleid. Een vector database vindt items waarvan de betekenis dicht bij elkaar ligt: de vraag "hoe krijg ik mijn geld terug" geeft de passage getiteld "Retourneren en terugbetalingen" terug, ook al delen de twee geen enkel woord.

Relationele databaseFull-text searchVector database
VraagtWelke rijen matchen deze waarde?Welke documenten bevatten deze woorden?Welke items betekenen iets dat hierbij aansluit?
IndexB-tree op kolommenInverted index op termenGraaf of clustering over vectoren (HNSW, IVF)
Exact?JaJaMeestal benaderend
Sterk inID's, datums, bedragen, joinsNamen, codes, exacte zinnenSynoniemen, parafrase, meertaligheid, afbeeldingen
Zwak inBetekenisBetekenisExacte strings, tellen, filteren op waarde
VoorbeeldenPostgres, MySQL, SQLiteElasticsearch, LucenePinecone, Weaviate, Qdrant, Milvus, Chroma, pgvector

De laatste rij laat zien hoe vaag de categorie is. pgvector voegt vectorkolommen en een HNSW-index toe aan gewone Postgres, en Elasticsearch heeft al sinds versie 7.0 in 2019 een vectorveld en sinds 8.0 in 2022 HNSW-zoeken. Een "vector database" is vaak een mogelijkheid binnen een database die je al draait, in plaats van een nieuw product, en de losstaande producten concurreren op schaal en operationele afwerking, niet op iets doen wat Postgres niet kan.

Chatten met je documenten is vector search met een model aan het eind

Retrieval-augmented generation, waar wat is RAG doorheen loopt, heeft een zoekstap en een schrijfstap. De vector database is de zoekstap.

  1. Splits elk document op in passages van enkele honderden tot duizend tokens.
  2. Embed elke passage en sla de vectoren, samen met de passagetekst en de bron, op in de vector database.
  3. Wanneer er een vraag binnenkomt, embed die en vraag de database om de dichtstbijzijnde passages.
  4. Geef die passages samen met de vraag aan het taalmodel, en laat het het antwoord schrijven.

Stappen 1 en 2 gebeuren eenmalig, wanneer de documenten worden toegevoegd. Stappen 3 en 4 gebeuren bij elke vraag. Het taalmodel ziet nooit de hele collectie; het ziet de vijf of tien passages die de database heeft gekozen. Daarom is het antwoord alleen zo goed als de zoekopdracht: als de dichtstbijzijnde vector de verkeerde passage is, beantwoordt het model vol vertrouwen de verkeerde vraag, wat wat is een AI-hallucinatie archiveert als een gemiste zoekopdracht in plaats van een verzinsel.

Wanneer je er een nodig hebt, en wanneer het hele bestand versturen beter is

De keuze draait om omvang. Een model kan alleen zijn contextvenster tegelijk overzien, en elk token daarbinnen wordt bij elke beurt betaald. Een vector database bestaat om alleen het relevante stukje voor het model te leggen. Voor één document dat past, is retrieval een stap die je kunt overslaan; voor een collectie die niet past, is het de enige optie.

Prijs de twee ontwerpen door op een rapport van 300.000 tokens, enkele honderden pagina's, waarover tien vragen worden gesteld, met steeds vijf opgehaalde passages van 1.000 tokens per vraag. Het hele bestand elke keer versturen is 3 miljoen inputtokens. Vijf passages van 1.000 tokens per vraag ophalen is 50.000. Tegen de standaard inputtarieven in de AI model cost index, opgehaald bij OpenRouter op 2026-08-20, is het verschil 60x bij elk model. Prompt caching, waar de aanbieder dat aanbiedt, rekent een herlezing van hetzelfde bestand tegen een tiende tot de helft van de standaardprijs, wat het verschil verkleint tot ruwweg 6x tot 30x. Retrieval wint nog steeds, met minder verschil.

Tien vragen over een rapport van 300.000 tokens kosten 60 keer meer als het bestand elke keer wordt meegestuurd
opgehaalde passagesheel bestand elke beurt$0$5$10$15standaardprijs, tien vragenGPT-5.6 Luna$0.01$0.6060xGemini 3.7 Flash$0.019$1.1360xClaude Sonnet 5$0.10$6.0060xClaude Opus 5$0.25$15.0060x

Het hele-bestand-ontwerp levert iets op voor dat geld wanneer het bestand binnen het budget past: een contract van 60 pagina's, ongeveer 40.000 tokens, laat het model vragen beantwoorden die het hele document tegelijk nodig hebben, zoals "is er hier iets dat clausule 14 tegenspreekt", wat retrieval niet kan vragen omdat het nooit clausule 14 en de tegenspraak in dezelfde batch ziet. De regel die daaruit volgt: één document, of een handjevol, gaat er heel in; een bibliotheek gaat door een vector database. Splits tussen de twee de upload op naar onderwerp, zodat het model de sectie krijgt die het nodig heeft.

Whizi stuurt de tekst zelf, tot een beurt van 40.000 tokens

Whizi draait geen vector database voor je chat. Wanneer je een bestand toevoegt, haalt het pad voor documenten uploaden de tekst eruit en stuurt die als prompttekst naar het model, tot een vast budget van 40.000 tokens per beurt; een langere upload wordt afgekapt, met een melding en een markering in het bericht die dat aangeeft. Projectbestanden werken op dezelfde manier: de functie projecten speldt tot 10 bestanden vast en bouwt hun tekst bij elk bericht opnieuw op in de prompt, met een maximum van 32.000 tekens per bestand en 120.000 voor het hele projectblok.

De limieten zijn de grens van het ontwerp. Een vastgespeld bestand voorbij 32.000 tekens wordt afgekapt, een bijlage voorbij het budget van 40.000 tokens per beurt wordt afgekapt, en een project is een map, geen doorzoekbare bibliotheek. De ruil is bewust: voor een contract of paper dat binnen het beurtbudget past, is de tekst aanwezig hebben beter dan hem doorzocht hebben, en de check die ertoe doet, het model vragen de passage te citeren die het gebruikte, werkt omdat de passage er is. Voor duizend documenten is een vector database het juiste gereedschap en een chatapp het verkeerde.

Twee gewoontes vloeien voort uit dit mechanisme. Noem het bestand in je vraag zodra er meerdere zijn toegevoegd, want anders kiest het model stilzwijgend. En vraag bij elk antwoord waarop je gaat handelen om het citaat. Een retrievalsysteem kan de verkeerde passage teruggeven; een hele-bestand-systeem kan uit het geheugen antwoorden in plaats van uit het bestand. Het citaat vangt beide op.

Checklist
  • Stuur één document in zijn geheel; zet een collectie achter een vector database
  • Splits een lange upload op naar onderwerp, zodat het model de sectie krijgt die de vraag nodig heeft
  • Vraag het model om de passage te citeren die het gebruikte voordat je op het antwoord vertrouwt
  • Gebruik gewone tekstzoekopdrachten voor ID's, codes en exacte zinnen; vector search matcht betekenis, geen tekens
  • Behandel een gemiste zoekopdracht als een zoekprobleem: embed opnieuw met een beter model of kleinere passages voordat je het schrijvende model de schuld geeft

Veelgestelde vragen

Wat is een vector database in simpele woorden?

Een opslag voor de getallenlijsten die een AI-model gebruikt om betekenis voor te stellen, gebouwd om snel de dichtstbijzijnde matches te vinden. Je geeft het de embedding van een vraag en het geeft de embeddings terug, en de tekst erachter, die iets vergelijkbaars betekenen. Het is de zoekhelft van chatten met je documenten wanneer de collectie te groot is om in zijn geheel te versturen.

Heb ik een vector database nodig om AI met mijn documenten te gebruiken?

Alleen als de documenten niet in het contextvenster van het model passen. Eén rapport of contract kan in zijn geheel naar het model worden gestuurd, wat Whizi doet met bijlagen en vastgespelde projectbestanden. Een bibliotheek van duizenden documenten heeft retrieval nodig, en retrieval heeft een vectorindex nodig, of dat nu in een apart product is of in een Postgres-extensie zoals pgvector.

Wat is het verschil tussen een vector database en een gewone database?

Een gewone database matcht waarden: dit ID, deze datum, dit exacte woord. Een vector database matcht betekenis, en geeft de opgeslagen items terug waarvan de embeddings het dichtst bij die van de query liggen. Dat is meestal benaderend, met een index zoals HNSW die enkele honderden kandidaten checkt in plaats van elk item, en het is zwak in het exacte matchen waar een gewone database goed in is.

Welke vector databases worden het meest gebruikt?

Pinecone, Weaviate, Qdrant, Milvus en Chroma zijn de bekendste losstaande producten, en pgvector voegt dezelfde mogelijkheid toe aan Postgres. Elasticsearch en OpenSearch bieden ook vector search. De keuze is meestal operationeel, over schaal en hosting, omdat ze allemaal hetzelfde idee van approximate nearest neighbour toepassen.

Hoeveel bespaart retrieval vergeleken met het hele bestand versturen?

Tien vragen over een rapport van 300.000 tokens kosten $6.00 op Claude Sonnet 5 als het bestand bij elke beurt wordt meegestuurd, en $0.10 als er in plaats daarvan vijf passages van 1.000 tokens worden opgehaald, tegen de OpenRouter-standaardtarieven opgehaald op 2026-08-20. Bij GPT-5.6 Luna is datzelfde paar $0.60 tegenover $0.01. De verhouding is 60x bij elk model omdat beide ontwerpen hetzelfde tarief per token betalen.