What a vector database does in RAG

  1. Chunk

    Split documents into passages.

  2. Embed

    Turn each passage into a vector.

  3. Index

    Store vectors for approximate nearest-neighbour search.

  4. Retrieve

    Embed the query and fetch the top k passages.

  5. Generate

    Give the passages to the model with the question.

Kinds of options

KindExamples of the categoryFits
Extension to your databaseVector types in Postgres and other general databasesYou already run that database; moderate scale
Dedicated vector databasePurpose-built engines, managed or self-hostedLarge scale, high query rates, filtering needs
Search engine with vectorsFull-text engines with vector fieldsHybrid keyword + semantic search
Embedded libraryIn-process indexesPrototypes, edge, single-node

Five selection questions

  • How many vectors, and how fast does the corpus change?
  • Do you need metadata filters (tenant, date) at query time?
  • Do you need hybrid keyword + vector search?
  • Who operates it, and where must data live?
  • What does it cost at your query volume?

Common RAG failure modes

  • Chunks split the answer across boundaries.
  • An outdated document version scores higher than the current one.
  • Tenant filters missing, leaking another customer’s data.
  • Top-k too small for multi-part questions.

Static documents and changing history

Vector databases are a good fit for documentation and other mostly-static corpora. For a stream of events where facts change — CRM updates, tickets, conversations — pair retrieval with a memory layer that tracks current state and time.

Frequently asked questions

Can I store chat history in a vector database?

Yes, but similarity search will return old and new statements alike. You need extra logic for updates.

Does Auld replace my vector database?

For changing facts about entities, often yes; for static document search, keep it.