Vector database adalah basis data yang menyimpan embedding dalam bentuk vektor untuk melakukan pencarian berdasarkan kemiripan semantik, bukan sekadar kecocokan kata.
Pendekatan ini membuat sistem AI lebih mampu memahami maksud pengguna dan menemukan konteks yang relevan untuk semantic search, rekomendasi, dan retrieval-augmented generation (RAG).
Artikel ini memberi gambaran konsep, teknik utama, serta praktik implementasi singkat yang dapat dipakai sebagai kerangka eksperimen hingga produksi.
💻 Mulai Belajar Pemrograman
Belajar pemrograman di Dicoding Academy dan mulai perjalanan Anda sebagai developer profesional.
Daftar SekarangApa Itu Vector Database dan Mengapa Dipakai pada AI Modern?

Pada database dan search tradisional, hasil sering didorong oleh kecocokan kata kunci atau filter terstruktur. Itu efektif untuk banyak kasus, tetapi cepat mentok ketika pengguna memakai sinonim, parafrase, atau pertanyaan yang “maknanya sama tapi katanya beda”.
Vector database dipakai karena ia memungkinkan sistem menangkap relevansi berbasis makna, lalu mengembalikan hasil yang paling dekat secara semantik dalam waktu yang konsisten.
Secara praktis, vector database membantu sistem dalam hal berikut.
- Melakukan similarity search (mencari item paling mirip maknanya).
- Menggabungkan pencarian semantik dengan filter metadata (aturan bisnis, bahasa, waktu, akses).
- Menjaga performa stabil saat data membesar dengan bantuan indeks approximate nearest neighbor (ANN).
Dalam banyak produk AI, vector database juga menjadi “jembatan” antara data internal dan LLM. Ia membuat aplikasi bisa mengambil konteks yang tepat dari koleksi dokumen besar, bukan hanya mengandalkan jawaban generik model.
Alasan Embedding Penting untuk Pencarian Semantik
Embedding mengubah objek seperti teks, gambar, atau audio menjadi vektor angka berdimensi tinggi. Vektor ini merangkum makna; karena itu, dua objek yang mirip akan punya vektor yang berdekatan. Dengan embedding, pencarian tidak lagi bergantung pada kata yang sama, tetapi pada kedekatan semantik.
Contohnya, query “cara mengurangi churn pelanggan SaaS” pada keyword search cenderung mencari dokumen yang memuat kata “churn”. Semantic search dapat menemukan dokumen tentang “retensi pengguna”, “mengurangi unsubscribe”, atau “loyalitas pelanggan” meskipun frasa berbeda.
Kemiripan antar embedding biasanya dihitung dengan indikator berikut.
- Cosine similarity (umum untuk teks karena fokus pada arah vektor).
- Dot product (sering setara dengan cosine bila vektor dinormalisasi).
- L2 distance (dipakai pada desain tertentu atau data yang sesuai).
Kunci pentingnya adalah konsistensi: metrik dan normalisasi yang dipakai saat indexing harus sama dengan saat query. Ketidakselarasan dapat menurunkan kualitas retrieval.
Embedding menjadi inti RAG. Sistem membuat embedding query, mengambil beberapa chunk terdekat (top_k), lalu menyisipkan teksnya sebagai konteks ke prompt. Jika retrieval tepat, jawaban lebih grounded; jika retrieval buruk, LLM cenderung menjawab generik atau halusinasi.
Arsitektur dan Cara Kerja Vector Database
Dalam arsitektur vector database, alurnya dimulai dari data ingest, embedding generation, indexing, hingga query. Saat ingest, kamu mengirim teks, gambar, atau data lain bersama metadata, seperti id, source, timestamp, bahasa, atau atribut akses.
Embedding model mengubah konten menjadi vektor, lalu vektor dan metadata disimpan sehingga bisa dicari cepat sekaligus bisa difilter.
Dalam banyak sistem, penyimpanan vektor dipisahkan dari penyimpanan metadata. Pemisahan ini penting agar pencarian semantik tetap cepat, sementara filter bisnis memakai kolom terstruktur.
Pada implementasi RAG, biasanya ada juga document store terpisah yang menyimpan teks asli per chunk karena yang dibutuhkan LLM adalah teksnya, bukan vektornya.
Untuk indexing, banyak sistem memakai ANN seperti berikut.
- HNSW: latency rendah dan recall tinggi, tetapi butuh memori besar.
- PQ / IVF-PQ: mengompresi vektor, cocok untuk koleksi sangat besar, dengan sedikit penurunan akurasi.
- LSH: dikenal untuk high-dimensional similarity, tetapi sering kalah efisien dibanding HNSW dalam praktik modern.
Dalam tingkat API, operasi dasar biasanya: upsert (tambah/perbarui vektor), query (cari nearest neighbors), delete, dan filter berdasarkan metadata. Contoh pola umumnya berikut.
|
1 2 3 4 5 6 7 8 |
// pseudo-code upsert(id, vector, metadata) results = query( vector=query_vector, top_k=10, filter={ "source": "docs", "lang": "id" } ) delete(id) |
Di balik layar, vector database juga harus menangani skala dan keandalan. Vektor sering disimpan per shard lalu direplikasi untuk high availability.
Metadata menyimpan document_id atau chunk_id agar hasil vektor bisa dihubungkan kembali pada teks asli untuk RAG. Pada tahap ini, sistem mengambil konten mentah dari document store, lalu mengirimkannya ke LLM sebagai konteks.
Teknik Pencarian Nearest Neighbor dan Optimisasi

Masalah nearest neighbor search dalam dimensi tinggi muncul karena brute-force search makin mahal seiring bertambahnya data. Untuk itu dipakai ANN yang menukar sedikit akurasi dengan peningkatan kecepatan besar.
Dalam banyak kasus RAG dan rekomendasi, kamu tidak butuh tetangga paling dekat 100%, tapi butuh hasil yang cukup relevan dengan waktu respons konsisten.
Dua metrik yang sering ditemui adalah cosine similarity dan L2 distance. Cosine cocok untuk embedding teks karena fokus pada arah vektor, bukan skala. L2 sering dipakai untuk data yang ternormalisasi dengan baik atau desain indeks tertentu. Apa pun pilihannya, pastikan metrik konsisten dari model embedding sampai konfigurasi indeks.
Pada HNSW, parameter utama adalah M, ef_construction, dan ef_search. M mengatur jumlah koneksi per node: makin besar, recall naik, tetapi memori dan waktu build juga naik. ef_construction memengaruhi kualitas graf saat build, sedangkan ef_search mengontrol seberapa banyak kandidat dijelajahi saat query.
Praktik umum adalah membuat ef_construction relatif tinggi, lalu menaikkan ef_search bertahap sampai kualitas (misalnya recall@k) memenuhi kebutuhan bisnis tanpa melampaui batas latency.
Untuk optimisasi skala besar, inilah beberapa teknik umum.
- Dimensionality reduction (mis. PCA) untuk menurunkan dimensi dan menghemat memori dengan risiko hilangnya informasi.
- Quantization (PQ/IVF-PQ) untuk kompresi, cocok saat ukuran koleksi sangat besar.
- Hybrid search (BM25 + vector search) untuk menggabungkan presisi keyword dan pemahaman semantik.
Pengukuran kualitas sebaiknya tidak hanya “terasa bagus”. Gunakan recall@k atau nDCG untuk kualitas retrieval, lalu ukur p95/p99 latency dan throughput (QPS). Dari angka ini, kamu bisa memilih titik tengah terbaik antara kecepatan, biaya, dan kualitas.
Contoh Implementasi Rag untuk Rekomendasi dan Multimodal Search
Pipeline RAG ringkas: dokumen → chunking → embedding → upsert/index → retrieval → LLM. Chunking yang baik membuat setiap embedding mewakili satu gagasan; metadata membantu filter (misalnya bahasa, sumber, versi). Saat query, sistem mengambil top_k chunk terdekat dan memasukkannya sebagai konteks prompt.
Untuk rekomendasi, pola umum adalah menyimpan embedding item dan menghitung embedding user dari perilaku. Kandidat dari vector search lalu digabungkan dengan aturan bisnis, seperti stok atau kategori.
Masalah freshness biasanya ditangani dengan upsert berkala atau ingestion streaming, sedangkan cold start dibantu content embedding dari deskripsi/gambar dan profil awal pengguna.
Untuk multimodal search, model cross-modal, seperti CLIP, memungkinkan teks dan gambar berada di ruang embedding yang kompatibel sehingga pengguna bisa mencari gambar berdasarkan teks atau sebaliknya.
Inilah ceklis singkatnya.
- Pilih embedding model sesuai dengan bahasa/domain dan uji beberapa opsi.
- Siapkan evaluation set dari query nyata.
- Pantau kualitas retrieval dan kaitkan ke metrik bisnis (CTR, konversi, time-to-answer).
Penutup
Vector database membantu AI modern menjawab pertanyaan berbasis makna dengan cepat dan berskala besar, mendukung RAG, rekomendasi, serta multimodal search.
Dengan memahami embedding, teknik ANN, dan trade-off performa, tim bisa menentukan waktu memakai vector database serta cara mengatur tuning sistemnya. Gunakan panduan ini sebagai kerangka untuk eksperimen awal dan evaluasi produksi.
