You're building a semantic search feature for a B2B SaaS product.
The corpus: 4 million support articles, docs, and user-generated tickets. Users type natural language queries. They expect Google-quality results — not keyword matching.
Your current stack: PostgreSQL 15, Redis, and a Node.js backend. The search team says ILIKE and pg_trgm aren't cutting it. Embeddings are the answer. Now you need a place to store and query 1536-dimensional vectors (OpenAI ada-002) at <100ms p99.
4 million rows. ~24GB of raw embeddings. Query volume: 300 req/s with weekend spikes to 900 req/s.
Where do you store and query those vectors?
A) pgvector extension on your existing PostgreSQL — store embeddings in a new column, query with <-> cosine similarity.
B) Pinecone — fully managed vector database, serverless tier, no infra to run.
C) Weaviate — open-source vector DB, self-hosted on Kubernetes, full control over indexing.
D) Qdrant — open-source vector DB, Rust-based, self-hosted or cloud, optimized for high-throughput filtering.
All four are used in production at scale. But only one fits this scenario without hidden costs that bite you at 300 req/s.
Pick one — A, B, C, or D — and tell me why. Full breakdown in the comments.
If this is the debate your team is about to have, share it. These decisions are hard to reverse.
Drop your answer 👇
SOCIAL SHARE CARD GENERATOR