Lewati ke konten utama
menjadi.dev
AI

Vector Database

Database yang menyimpan dan mencari data berdasarkan similarity (kemiripan), bukan exact match.

Vector Database adalah database yang dirancang untuk menyimpan dan mencari high-dimensional vectors (array angka). Data teks diubah jadi vector numerical menggunakan embedding model — vector yang mirip secara semantik akan berada dekat di ruang vector. Vector DB menggunakan algoritma Approximate Nearest Neighbor (ANN) seperti HNSW untuk mencari vector yang paling mirip dengan query secara efisien — jauh lebih cepat dari brute force. Use cases: semantic search (cari dokumen yang mirip makna, bukan exact keyword), RAG (Retrieval-Augmented Generation), recommendation engine, dan image similarity. Vector DB populer: Pinecone (managed), pgvector (PostgreSQL extension), Chroma (open-source, simple), Qdrant, Weaviate, dan Milvus.

Contoh Kode

-- pgvector example (PostgreSQL extension)
CREATE EXTENSION vector;

CREATE TABLE documents (
  id SERIAL PRIMARY KEY,
  content TEXT,
  embedding vector(1536) -- OpenAI embedding dimension
);

-- Insert with embedding
INSERT INTO documents (content, embedding)
VALUES ('Web development basics', '[0.01, -0.02, ...]');

-- Semantic search (find closest vectors)
SELECT content, embedding <=> '[query-vector]' AS distance
FROM documents
ORDER BY embedding <=> '[query-vector]'
LIMIT 5;