Vector Databases
Learn vector databases for AI applications, including embeddings, similarity search, metadata filtering, indexing, RAG storage, and common production design considerations.
What You Will Learn
In this article, you will learn:
- What a vector database is.
- Why vector databases are used with embeddings.
- How similarity search works.
- How metadata filtering improves retrieval.
- How vector databases support RAG.
Introduction
A vector database stores embeddings and searches them by similarity.
Instead of asking:
Which document contains this exact keyword?
you ask:
Which document is closest in meaning?
What a Vector Database Stores
A vector database usually stores:
- Text chunk.
- Embedding vector.
- Metadata.
- Source information.
- IDs and timestamps.
Example:
| Field | Example |
|---|---|
| id | policy-101-chunk-03 |
| content | Cancellation requires written notice |
| embedding | [0.11, -0.72, 0.34, ...] |
| metadata | product=auto, state=TX |
Vector Search Flow
flowchart TD
A["User question"] --> B["Create embedding"]
B --> C["Search vector database"]
C --> D["Find similar chunks"]
D --> E["Return ranked results"]
Similarity Search
Vector databases compare query vectors against stored vectors.
Common similarity measures:
- Cosine similarity.
- Dot product.
- Euclidean distance.
Metadata Filtering
Metadata filtering narrows search results.
Example:
Find chunks similar to "cancel policy"
where product = "auto"
and state = "TX"
This improves accuracy because the system retrieves context from the right business scope.
Vector Database Indexes
Large vector stores need indexes for fast search.
Common concepts:
| Concept | Meaning |
|---|---|
| Approximate nearest neighbor | Finds close matches quickly |
| HNSW | Popular graph-based vector index |
| Top K | Number of results to return |
| Similarity threshold | Minimum relevance score |
Vector Databases in RAG
RAG uses vector databases as the retrieval layer.
flowchart LR
A["Documents"] --> B["Chunks"]
B --> C["Embeddings"]
C --> D["Vector database"]
E["Question"] --> F["Question embedding"]
F --> D
D --> G["Relevant chunks"]
G --> H["LLM answer"]
Common Options
Vector search can be implemented with:
- PostgreSQL with PGVector.
- OpenSearch or Elasticsearch vector search.
- Pinecone.
- Weaviate.
- Chroma.
- Milvus.
Production Considerations
- Keep original source links.
- Store tenant and access metadata.
- Enforce authorization before returning context.
- Track embedding model version.
- Re-index when documents change.
- Evaluate retrieval quality.
Interview Questions
What is a vector database?
A vector database stores embedding vectors and supports similarity search over those vectors.
Why are vector databases useful for RAG?
They retrieve relevant document chunks based on meaning, so the LLM can answer using trusted context.
What is metadata filtering?
Metadata filtering restricts vector search results using structured fields such as tenant, product, department, language, or document type.
Summary
Vector databases make semantic search practical. They are essential for RAG, document assistants, recommendation systems, and AI memory.
Comments
Share a question, correction, or practical insight about this article.
Checking login status...
Loading approved comments...