Fitur Pencarian Vektor dari PolarDB for MySQL mengintegrasikan kemampuan pencarian kesamaan vektor ke dalam kernel database. Hal ini memungkinkan Anda melakukan pencarian kesamaan yang sangat efisien pada vektor yang dihasilkan dari data tidak terstruktur—seperti teks, gambar, dan audio—sementara secara bersamaan menyimpan dan memproses data bisnis terstruktur Anda. Anda dapat membangun aplikasi AI-native yang kuat, seperti pencarian semantik, Rekomendasi AI, dan Pencarian berdasarkan gambar, dalam sebuah PolarDB cluster tanpa perlu membangun dan memelihara database vektor terpisah atau pipeline sinkronisasi data yang kompleks. PolarDB menawarkan dua protokol berbeda untuk pencarian vektor guna memenuhi tumpukan teknologi dan skenario bisnis yang beragam: protokol MySQL yang sepenuhnya kompatibel dan protokol OpenSearch (PolarSearch), yang kompatibel dengan ekosistem pencarian arus utama.
Konsep inti
Vektor embedding: Teknik yang menggunakan model embedding pra-latihan untuk mengubah data tidak terstruktur, seperti teks dan gambar, menjadi larik numerik (vektor). Vektor-vektor ini menangkap informasi semantik mendalam dari data, memungkinkan mesin untuk memahami dan membandingkan kesamaannya.
Pencarian kesamaan (k-NN): Juga dikenal sebagai pencarian tetangga terdekat k, tujuan utamanya adalah menemukan k vektor dalam dataset besar yang "paling dekat" dengan vektor kueri tertentu. "Jarak" dalam konteks ini dihitung menggunakan rumus matematika yang berbeda dan mewakili kesamaan semantik data.
Indeks vektor: Struktur data yang dioptimalkan untuk kueri efisien. Ini digunakan untuk menghindari perbandingan satu per satu penuh dalam dataset besar dengan cepat mempersempit ruang pencarian berdasarkan distribusi vektor. Ini mengurangi latensi pencarian dari detik menjadi milidetik sambil memastikan tingkat recall yang tinggi.
Perbandingan algoritma indeks vektor: PolarDB mendukung beberapa algoritma indeks vektor arus utama. HNSW dan IVF adalah dua yang paling umum. Mereka memiliki kekuatan yang berbeda dalam hal performa, konsumsi sumber daya, dan skenario yang sesuai.
HNSW (Hierarchical Navigable Small World): Indeks berbasis grafik yang memberikan performa tinggi dan tingkat recall yang tinggi. Namun, ia memiliki overhead memori yang besar. Cocok untuk skenario yang memerlukan latensi kueri sangat rendah, presisi tinggi, dan ukuran dataset sesuai dengan memori yang tersedia.
IVF (Inverted File): Indeks terbalik berbasis pengelompokan. Memiliki penggunaan memori rendah dan cocok untuk skenario yang memerlukan pemrosesan dataset sangat besar dengan memori terbatas. Namun, presisi pencariannya biasanya sedikit lebih rendah dibandingkan HNSW.
Keunggulan utama
Mesin vektor PolarDB menggabungkan kemudahan penggunaan database relasional dengan performa tinggi database vektor khusus. Ini menawarkan keunggulan signifikan dibandingkan opsi teknologi lainnya.
Fitur | Database relasional tradisional | Database vektor khusus | PolarDB mesin vektor |
Dukungan SQL | Didukung | Tidak didukung | Didukung |
Pencarian vektor | Performa buruk | Performa tinggi | Performa tinggi |
Kurva pembelajaran | Rendah | Tinggi | Rendah |
Kompatibilitas ekosistem | Kaya | Terbatas | Dual ekosistem |
Skalabilitas | Terbatas | Baik | Luar biasa |
Kompleksitas O&M | Sederhana | Kompleks | Sederhana |
Keunggulan inti meliputi:
Solusi all-in-one: Tidak diperlukan database vektor terpisah. Anda dapat memproses data bisnis dan data vektor di PolarDB. Ini menyederhanakan arsitektur sistem dan mengurangi biaya O&M.
Reliabilitas tingkat perusahaan: Mendukung transaksi atomicity, consistency, isolation, dan durability (ACID) sepenuhnya untuk memastikan konsistensi data. Arsitektur terdistribusi mendukung ketersediaan tinggi dan alih otomatis untuk memastikan kelangsungan bisnis.
Integrasi mulus dengan LLMs: Memiliki kemampuan inferensi bawaan untuk model bahasa besar Qwen (LLM), yang menyederhanakan pengembangan aplikasi AI.
Kemampuan inti dan metrik performa
Performa pencarian
Latensi: P99 (99% permintaan) < 10 ms, P95 (95% permintaan) < 5 ms.
Throughput: Node tunggal > 10.000 permintaan per detik (QPS).
Presisi: Tingkat recall > 99%.
Skalabilitas
Skala Data: Mendukung petabyte data vektor dan miliaran vektor.
Konkurensi: Mendukung puluhan ribu kueri konkuren.
Ukuran Kluster: Mendukung peningkatan kapasitas dinamis hingga ratusan node dengan strategi sharding data cerdas.
Efisiensi sumber daya
Kompresi Penyimpanan: Rasio kompresi data vektor > 50%.
Penggunaan Memori: Secara efektif mendukung indeks grafik level terabyte menggunakan teknologi caching bertingkat.
Pemanfaatan CPU: Pemanfaatan CPU > 80% melalui optimasi paralel multi-core.
Casus penggunaan
PolarDB menawarkan desain dual-protokol. Anda dapat memilih protokol yang sesuai berdasarkan tumpukan teknologi tim Anda, persyaratan bisnis, dan harapan performa.
Perbandingan | Protokol MySQL | Protokol OpenSearch |
Metode akses | SQL Standar | API RESTful (kompatibel dengan Elasticsearch/OpenSearch) |
Keunggulan inti | Integrasi dengan data bisnis: Mendukung penambahan kolom vektor ke tabel yang ada, mendukung transaksi ACID, dan memiliki kurva pembelajaran rendah. | Kemampuan pencarian hibrida: Mendukung kueri gabungan vektor, teks lengkap, dan skalar, dengan ekosistem yang matang. |
Dependensi dasar | Bergantung pada Indeks Kolom IMCI. Pencarian vektor dieksekusi pada node read-only IMCI untuk mengisolasi beban kerja analitis dan transaksional. | Berjalan pada node pencarian independen (PolarSearch) untuk menyediakan layanan mirip mesin pencari. |
Sinkronisasi data | Tidak diperlukan sinkronisasi. Setelah data ditulis ke database utama, itu secara otomatis terlihat oleh node read-only IMCI. | Tidak diperlukan sinkronisasi. Setelah data ditulis ke database utama, itu secara otomatis terlihat oleh node pencarian. |
Casus penggunaan 1: Chat AI dan bot layanan pelanggan
Masalah: Pencocokan kata kunci tradisional tidak dapat memahami maksud sebenarnya dari pertanyaan pengguna, yang mengarah pada jawaban yang tidak akurat.
Solusi: Ubah pasangan "pertanyaan-jawaban" dalam basis pengetahuan menjadi vektor dan simpan. Ketika pengguna mengajukan pertanyaan, pertanyaan tersebut juga diubah menjadi vektor. Kemudian, gunakan pencarian kesamaan untuk menemukan poin pengetahuan yang paling relevan dan berikan jawaban yang lebih akurat.
Protokol yang Direkomendasikan:
Protokol MySQL: Jika Anda hanya perlu mengimplementasikan pencocokan semantik dasar dan ingin segera mengintegrasikannya ke dalam aplikasi MySQL yang ada, solusi ini lebih nyaman.
Protokol OpenSearch: Untuk melakukan penyaringan kompleks dengan kata kunci, label kategori, atau kriteria lainnya, Anda dapat menggunakan kemampuan pencarian hibridanya.
Casus penggunaan 2: Sistem rekomendasi personalisasi
Masalah: Bagaimana merekomendasikan produk atau konten yang mungkin diminati pengguna berdasarkan perilaku historis mereka (menjelajah, mengklik, membeli).
Solusi: Representasikan baik pengguna maupun item (produk, artikel, video) sebagai vektor. Dengan menghitung kesamaan antara vektor pengguna dan vektor item, Anda dapat mengambil set kandidat item yang mungkin diminati pengguna. Kemudian, gunakan strategi lain untuk peringkat detail halus.
Protokol yang Direkomendasikan:
Protokol OpenSearch: Lapisan pengambilan sistem rekomendasi biasanya memiliki jumlah data yang sangat besar dan sensitif terhadap performa dan biaya. Indeks IVF dan teknologi Product Quantization (PQ) yang disediakan oleh protokol OpenSearch cocok untuk menangani data besar dan mengontrol biaya memori.
Casus penggunaan 3: Pencarian berdasarkan gambar dan pengambilan multi-modal
Masalah: Bagaimana menemukan gambar serupa dengan mengunggah gambar, atau menemukan gambar menggunakan deskripsi teks.
Solusi: Ubah baik gambar maupun teks menjadi vektor dan simpan di PolarDB. Baik inputnya adalah gambar atau teks, ubah menjadi vektor kueri dan lakukan pencarian kesamaan di database.
Protokol yang Direkomendasikan:
Protokol MySQL: Untuk skenario yang memerlukan manajemen konsistensi kuat dari vektor fitur gambar dengan data bisnis, seperti ID produk dan harga, kemampuan transaksional protokol MySQL sangat penting.