Artikel

Apa itu database vektor, cara kerjanya, dan pasar potensial

Database vektor adalah jenis database yang menyimpan data sebagai vektor berdimensi tinggi, yang merupakan representasi matematis dari fitur atau atribut. 

Vektor ini biasanya dihasilkan dengan menerapkan semacam fungsi penyisipan ke data mentah, seperti teks, gambar, audio, video, dan lain-lain.

Database vektor bisa definite sebagai alat yang mengindeks dan menyimpan penyematan vektor untuk pengambilan cepat dan pencarian kesamaan, dengan fitur seperti pemfilteran metadata dan penskalaan horizontal.

Perkiraan waktu membaca: 9 minuti

Meningkatnya Minat Investor

Dalam beberapa minggu terakhir, telah terjadi peningkatan minat investor terhadap database vektor. Sejak awal tahun 2023 kami telah memperhatikan bahwa:

Mari kita lihat lebih detail apa itu database vektor.

Vektor sebagai representasi data

Database vektor sangat bergantung pada penyisipan vektor, sejenis representasi data yang membawa informasi semantik yang penting bagi AI untuk mendapatkan pemahaman dan mempertahankan memori jangka panjang untuk digunakan saat menjalankan aktivitas kompleks. 

Penyematan vektor

Penyematan vektor seperti peta, tetapi alih-alih menunjukkan kepada kita di mana benda-benda di dunia, mereka menunjukkan di mana benda-benda berada dalam sesuatu yang disebut ruang vektor. Ruang vektor adalah semacam taman bermain besar di mana segala sesuatu memiliki tempatnya masing-masing. Bayangkan Anda memiliki sekelompok hewan: kucing, anjing, burung, dan ikan. Kita dapat membuat penyematan vektor untuk setiap gambar dengan memberikannya posisi khusus di taman bermain. Kucing mungkin berada di satu sudut, anjing di sisi lainnya. Burung bisa ada di langit dan ikan bisa ada di kolam. Tempat ini adalah ruang multidimensi. Setiap dimensi sesuai dengan aspek yang berbeda, misalnya ikan memiliki sirip, burung memiliki sayap, kucing dan anjing memiliki kaki. Aspek lain dari mereka mungkin ikan milik air, burung terutama ke langit, dan kucing dan anjing ke tanah. Setelah kita memiliki vektor-vektor ini, kita dapat menggunakan teknik matematika untuk mengelompokkannya berdasarkan kemiripannya. Berdasarkan informasi yang kami miliki,

Jadi, penyematan vektor seperti peta yang membantu kita menemukan kesamaan antar benda di ruang vektor. Sama seperti peta yang membantu kita menavigasi dunia, penyematan vektor membantu menavigasi taman bermain vektor.

Ide utamanya adalah bahwa penyematan yang secara semantik mirip satu sama lain memiliki jarak yang lebih kecil di antara keduanya. Untuk mengetahui seberapa mirip mereka, kita dapat menggunakan fungsi jarak vektor seperti jarak Euclidean, jarak kosinus, dll.

Database Vektor vs Perpustakaan Vektor

Perpustakaan vektor menyimpan penyematan vektor dalam indeks dalam memori, untuk melakukan pencarian kesamaan. Pustaka vektor memiliki karakteristik/batasan berikut:

  1. Simpan vektor saja : Pustaka vektor hanya menyimpan penyematan vektor dan bukan objek terkait tempat asalnya. Ini berarti bahwa ketika kita melakukan kueri, pustaka vektor akan merespons dengan vektor dan ID objek yang relevan. Ini membatasi karena informasi sebenarnya disimpan dalam objek dan bukan id. Untuk mengatasi masalah ini, kita harus menyimpan objek di penyimpanan sekunder. Kami kemudian dapat menggunakan ID yang dikembalikan oleh kueri dan mencocokkannya dengan objek untuk memahami hasilnya.
  2. Data indeks tidak dapat diubah : Indeks yang dihasilkan oleh pustaka vektor tidak dapat diubah. Ini berarti bahwa setelah kami mengimpor data dan membuat indeks, kami tidak dapat melakukan perubahan apa pun (tidak ada penyisipan, penghapusan, atau perubahan baru). Untuk membuat perubahan pada indeks kami, kami harus membangunnya kembali dari awal
  3. Kueri saat membatasi impor : Sebagian besar pustaka vektor tidak dapat dikueri saat mengimpor data. Kita perlu mengimpor semua objek data kita terlebih dahulu. Jadi indeks dibuat setelah objek diimpor. Ini bisa menjadi masalah bagi aplikasi yang membutuhkan jutaan atau bahkan miliaran objek untuk diimpor.

Ada banyak pustaka pencarian vektor yang tersedia: FAISS dari Facebook, Annoy oleh Spotify dan PindaiNN oleh Google. FAISS menggunakan metode clustering, Annoy menggunakan tree dan ScanNN menggunakan kompresi vektor. Ada trade-off kinerja untuk masing-masing, yang dapat kita pilih berdasarkan aplikasi dan metrik kinerja kita.

CRUD

Fitur utama yang membedakan database vektor dari perpustakaan vektor adalah kemampuan untuk mengarsipkan, memperbarui, dan menghapus data. Database vektor memiliki dukungan CRUD complete (buat, baca, perbarui, dan hapus) yang memecahkan batasan perpustakaan vektor.

  1. Arsipkan vektor dan objek : Database dapat menyimpan objek data dan vektor. Karena keduanya disimpan, kita dapat menggabungkan pencarian vektor dengan filter terstruktur. Filter memungkinkan kami memastikan bahwa tetangga terdekat cocok dengan filter metadata.
  2. Mutabilitas : sebagai database vektor sepenuhnya mendukung mentah, kami dapat dengan mudah menambah, menghapus, atau memperbarui entri dalam indeks kami setelah dibuat. Ini sangat berguna saat bekerja dengan data yang terus berubah.
  3. Pencarian waktu nyata : Tidak seperti perpustakaan vektor, database memungkinkan kita untuk meminta dan mengubah data kita selama proses impor. Saat kami memuat jutaan objek, data yang diimpor tetap dapat diakses dan beroperasi sepenuhnya, jadi Anda tidak perlu menunggu impor selesai untuk mulai mengerjakan apa yang sudah ada.

Singkatnya, database vektor memberikan solusi unggul untuk menangani penyematan vektor dengan mengatasi keterbatasan indeks vektor mandiri seperti yang dibahas pada poin sebelumnya.

Tapi apa yang membuat database vektor lebih unggul dari database tradisional?

Database vektor vs database tradisional

Basis data tradisional dirancang untuk menyimpan dan mengambil data terstruktur menggunakan model relasional, yang berarti basis data tersebut dioptimalkan untuk kueri berdasarkan kolom dan baris data. Meskipun dimungkinkan untuk menyimpan penyematan vektor dalam basis data tradisional, basis data ini tidak dioptimalkan untuk operasi vektor dan tidak dapat melakukan pencarian kesamaan atau operasi kompleks lainnya pada kumpulan data besar secara efisien.

Ini karena database tradisional menggunakan teknik pengindeksan berdasarkan tipe data sederhana, seperti string atau angka. Teknik pengindeksan ini tidak sesuai untuk data vektor, yang memiliki dimensi tinggi dan memerlukan teknik pengindeksan khusus seperti indeks terbalik atau pohon spasial.

Selain itu, database tradisional tidak dirancang untuk menangani sejumlah besar data tidak terstruktur atau semi-terstruktur yang sering dikaitkan dengan penyematan vektor. Misalnya, file gambar atau audio dapat berisi jutaan titik data, yang tidak dapat ditangani oleh database tradisional secara efisien.

Database vektor, di sisi lain, dirancang khusus untuk menyimpan dan mengambil data vektor dan dioptimalkan untuk pencarian kesamaan dan operasi kompleks lainnya pada kumpulan data besar. Mereka menggunakan teknik pengindeksan khusus dan algoritme yang dirancang untuk bekerja dengan data dimensi tinggi, membuatnya jauh lebih efisien daripada database tradisional untuk menyimpan dan mengambil penyematan vektor.

Sekarang setelah Anda membaca begitu banyak tentang database vektor, Anda mungkin bertanya-tanya, bagaimana cara kerjanya? Mari lihat.

Bagaimana cara kerja database vektor?

Kita semua tahu bagaimana database relasional bekerja: mereka menyimpan string, angka, dan jenis data skalar lainnya dalam baris dan kolom. Di sisi lain, database vektor beroperasi pada vektor, sehingga cara pengoptimalan dan kuerinya sangat berbeda.

Dalam basis data tradisional, kami biasanya meminta baris dalam basis data di mana nilainya biasanya sama persis dengan permintaan kami. Dalam database vektor, kami menerapkan metrik kesamaan untuk menemukan vektor yang paling mirip dengan kueri kami.

Database vektor menggunakan kombinasi beberapa algoritma yang semuanya berpartisipasi dalam pencarian tetangga terdekat (ANN). Algoritme ini mengoptimalkan pencarian dengan hashing, kuantisasi, atau pencarian berbasis grafik.

Algoritma ini dirakit menjadi pipa yang menyediakan pengambilan cepat dan akurat dari tetangga vektor yang dikueri. Karena basis data vektor memberikan hasil perkiraan, pengorbanan utama yang kami pertimbangkan adalah antara akurasi dan kecepatan. Semakin tepat hasilnya, semakin lambat kueri. Namun, sistem yang baik dapat memberikan pencarian sangat cepat dengan akurasi yang hampir sempurna.

  • pengindeksan : Database vektor mengindeks vektor menggunakan algoritme seperti PQ, LSH, atau HNSW. Langkah ini mengaitkan vektor dengan struktur data yang memungkinkan pencarian lebih cepat.
  • Pertanyaan : basis data vektor membandingkan vektor kueri yang diindeks dengan vektor yang diindeks dalam kumpulan data untuk menemukan tetangga terdekat (menerapkan metrik kesamaan yang digunakan oleh indeks tersebut)
  • Pengolahan pasca : Dalam beberapa kasus, database vektor mengambil tetangga terdekat terakhir dari kumpulan data dan memprosesnya untuk mengembalikan hasil akhir. Langkah ini mungkin termasuk mengklasifikasi ulang tetangga terdekat menggunakan ukuran kesamaan yang berbeda.

Manfaat

Database vektor adalah alat yang ampuh untuk pencarian kesamaan dan operasi kompleks lainnya pada kumpulan data besar, yang tidak dapat dilakukan secara efektif menggunakan database tradisional. Untuk membangun database vektor fungsional, embed sangat penting, karena mereka menangkap makna semantik dari data dan memungkinkan pencarian kemiripan yang akurat. Tidak seperti pustaka vektor, database vektor dirancang agar sesuai dengan kasus penggunaan kami, menjadikannya ideal untuk aplikasi yang kinerja dan skalabilitasnya sangat penting. Dengan munculnya pembelajaran mesin dan kecerdasan buatan, basis data vektor menjadi semakin penting untuk berbagai aplikasi termasuk sistem pemberi rekomendasi, pencarian gambar, kesamaan semantik, dan masih banyak lagi. Seiring bidang ini terus berkembang, kita dapat berharap untuk melihat aplikasi database vektor yang lebih inovatif di masa mendatang.

Ercole Palmeri

Buletin inovasi
Jangan lewatkan berita terpenting tentang inovasi. Daftar untuk menerimanya melalui email.

Artikel Terbaru

Intervensi inovatif dalam Augmented Reality, dengan penampil Apple di Poliklinik Catania

Operasi oftalmoplasti menggunakan penampil komersial Apple Vision Pro dilakukan di Poliklinik Catania…

3 Mei 2024

Manfaat Halaman Mewarnai untuk Anak - dunia keajaiban untuk segala usia

Mengembangkan keterampilan motorik halus melalui mewarnai mempersiapkan anak untuk keterampilan yang lebih kompleks seperti menulis. Mewarnai…

2 Mei 2024

Masa Depan Ada di Sini: Bagaimana Industri Perkapalan Merevolusi Perekonomian Global

Sektor angkatan laut adalah kekuatan ekonomi global sejati, yang telah menuju pasar 150 miliar...

1 Mei 2024

Penerbit dan OpenAI menandatangani perjanjian untuk mengatur aliran informasi yang diproses oleh Kecerdasan Buatan

Senin lalu, Financial Times mengumumkan kesepakatan dengan OpenAI. FT melisensikan jurnalisme kelas dunianya…

April 30 2024