Vector Database: Lemari Pencari Makna
Mencari 5 chunk paling mirip di antara 10 juta vektor dalam milidetik — itu pekerjaan vector database, fondasi siapa pun yang serius membangun RAG.
Kalau dokumenmu cuma 50 potongan, kamu bisa bandingkan pertanyaan ke semua chunk dengan loop biasa. Tapi di 1 juta chunk? Bandingkan satu per satu = terlalu lambat.
Vector database menyelesaikan ini dengan approximate nearest neighbor (ANN) — struktur indeks khusus yang menukar sedikit ketelitian dengan kecepatan ribuan kali lipat. Hasilnya: "5 vektor paling mirip dengan pertanyaan ini" dalam milidetik, di jutaan data.
Cara kerja intuisinya
Teknik populer bernama HNSW: bayangkan peta dengan jaringan jalan bertingkat. Titik-titik yang mirip saling terhubung; pencarian melompat dari tetangga ke tetangga yang makin dekat dengan target — tanpa pernah menyusuri seluruh peta.
Yang kamu tukar: kadang ia melewatkan tetangga terdekat yang sebenarnya (makanya namanya approximate). Di praktik RAG, recall 95%+ sudah lebih dari cukup — sisa 5% jarang mengubah kualitas jawaban.
Pilihan di ekosistem
- pgvector — ekstensi di PostgreSQL. Kalau datamu sudah di Postgres, mulai dari sini. Paling gampang dirawat.
- Qdrant / Weaviate / Milvus — database vektor khusus, unggul di skala besar dan fitur pencarian lanjutan (filter metadata + vektor sekaligus).
- Pinecone — managed, bayar per pakai, tanpa ngurus server.
- In-memory (mis. numpy) — untuk prototipe <10 ribu vektor, loop biasa saja sudah milidetik. Jangan over-engineer.
Fitur yang sering dilupakan orang
Vector database modern bukan cuma "kumpulan vektor + cari mirip":
- Hybrid search — gabungkan kemiripan semantik dengan pencarian kata kunci (BM25). Cocok untuk istilah teknis dan nama produk yang embedding sering salah tangkap.
- Metadata filter — "cari hanya di dokumen tahun 2025, divisi keuangan".
- Multi-tenant — tiap user cuma boleh menyentuh vektornya sendiri. Kritis untuk SaaS.
Praktik untuk pemula
Mulai dari yang paling sederhana yang bisa kerja: pgvector di Postgres yang sudah kamu pakai. Fokus energimu di bagian yang lebih menentukan kualitas: cara memecah chunk dan kualitas query — bukan di pilihan database-nya.
Selanjutnya: dari mencari fakta ke mengambil tindakan — AI Agent.