FAISS vs Qdrant vs pgvector: choosing a vector store for a student or startup RAG project

Pranjul Rathour, GenAI engineer, Kanpur
Pranjul Rathour, GenAI engineer, Kanpur

Originally published at https://pranjulrathour.scult.in/blog/vector-database-choice-faiss-qdrant-pgvector. That copy is the canonical version and gets updates first.

Students ask me which vector database to use far more often than they ask how to chunk, which is backwards — but the question deserves a straight answer. I have shipped with FAISS, Qdrant and pgvector. None is universally best; each is best at a stage.

FAISS: the fastest way to start

FAISS is a library, not a server. You build an index in memory, search it in microseconds, and save it to a file. It is perfect for prototypes, hackathons and offline evaluation. Its limits appear the moment you need metadata filtering ("only chunks from this document"), concurrent writes, or an index bigger than your RAM.

In a packed college auditorium
In a packed college auditorium

Qdrant: a real vector service

Qdrant runs as a service with a clean HTTP API, payload filtering, and persistence out of the box. For document-scoped RAG — a user asks questions about their own uploads only — its filtering is exactly what you need. It is one more container to run, which matters on small hosts; plan the memory budget.

pgvector: vectors next to your data

If your app already has PostgreSQL, pgvector adds a vector column and similarity operators to the database you are already backing up and querying. Joins between chunks and users, documents and permissions become ordinary SQL. It is the choice I reach for when the product has real users and real access control, because one database is easier to operate than two.

Pranjul Rathour
Pranjul Rathour

A decision table

  • Hackathon or notebook experiment → FAISS.
  • Multi-tenant RAG with per-document filtering and no existing database → Qdrant.
  • Product with users, permissions and PostgreSQL already in place → pgvector.
  • Corpus under 100k chunks and a single server → any of the three; optimise for operational simplicity.

The mistake to avoid

Choosing a vector store before you have an evaluation set. Retrieval quality is decided by chunking, embeddings and hybrid search — not by the database. Pick the store that fits your hosting and data model, then spend your effort on the pipeline in front of it.

From my carousels
7 Levels of RAG Apps
7 Levels of RAG Apps, slide 17 Levels of RAG Apps, slide 2
7 Levels of RAG Apps, slide 37 Levels of RAG Apps, slide 4
Full carousel on Instagram and LinkedIn.
Pranjul Rathour
Pranjul Rathour
GenAI engineer, Kanpur · 3x first-prize hackathon winner · campus mentor
I ship production RAG pipelines, fine-tune LLMs and build agentic AI products end to end. I lead engineering at SCULT INDIA for a 14-member team and have mentored 200+ students through TechVerse Enclave.
Open to: GenAI roles, hackathon judging, mentorship sessions and guest talks at colleges.
On stage, at hackathons and on campus
On the mic
On the mic
Presenting to a room
Presenting to a room
Pranjul Rathour
Pranjul Rathour

Comments

Popular posts from this blog

Forming a hackathon team: roles, skills and the mistake most teams make

Hello from Kanpur: what I build, and what I'll write about here

I built 15 free tools, 1,211 prompts and a 50,000-skill library — here's what's inside tools.scult.in