Navigation
๐Ÿ’พ Data & Storageยท 8 min read

System Architecture

Milvus, Faiss, Qdrant, Weaviate โ€” sharding, replication, consistency models, and how production vector databases work.

milvusfaissqdrantweaviatevector-databaseshardingreplication

Vector databases build production-ready systems on top of index structures โ€” adding sharding, replication, filtering, and real-time updates.


1. Library vs Database

Faiss (library)Milvus/Qdrant (database)
What it isIn-process indexDistributed service
PersistenceManual (save/load files)Built-in (WAL, snapshots)
ScalingSingle machineHorizontal sharding
UpdatesRebuild indexReal-time insert/delete
FilteringPost-filter onlyPre-filter + vector search
Best forResearch, offline batchProduction serving

2. System Comparison

SystemArchitectureIndex typesGPU supportBest for
FaissLibrary (in-process)IVF, HNSW, PQโœ… GPU build + searchBatch processing, research
MilvusDistributed (segment-based)IVF, HNSW, DiskANNโœ… GPU indexingLarge-scale production
QdrantDistributed (Rust)HNSW + quantizationโŒLow-latency serving
WeaviateDistributed (Go)HNSWโŒMulti-modal, ease of use
PineconeManaged serviceProprietaryN/AZero-ops, serverless
pgvectorPostgreSQL extensionIVF, HNSWโŒExisting Postgres infra

3. Sharding and Replication

For billion-scale vector databases:

Collection: 1B vectors
  โ†’ Shard 0 (250M vectors) โ†’ Node 0 (primary) + Node 3 (replica)
  โ†’ Shard 1 (250M vectors) โ†’ Node 1 (primary) + Node 4 (replica)
  โ†’ Shard 2 (250M vectors) โ†’ Node 2 (primary) + Node 5 (replica)
  โ†’ Shard 3 (250M vectors) โ†’ Node 3 (primary) + Node 0 (replica)

Query: scatter to all shards โ†’ each returns local top-K โ†’ merge โ†’ global top-K

4. Hybrid Search (Vector + Metadata Filter)

Real RAG queries combine vector similarity with metadata filters:

-- "Find similar documents from 2024 in the 'medical' category"
SELECT * FROM documents
WHERE category = 'medical' AND year = 2024
ORDER BY vector_distance(embedding, query_vector)
LIMIT 10

Pre-filter vs post-filter:

  • Pre-filter: Filter metadata first, then vector search on filtered subset โ†’ fast but may miss results
  • Post-filter: Vector search first, then filter results โ†’ accurate but wastes search on irrelevant vectors

For performance tuning, see Performance Tuning.


Self-Check

  • Compare Faiss (library) vs Milvus (database) for production use
  • Design sharding for a 1B vector collection across 4 nodes
  • Explain pre-filter vs post-filter for hybrid search
  • Choose a vector database for a given scale and requirements

References