RDS for MySQL menyediakan kemampuan pemrosesan data vektor tingkat enterprise. Produk ini secara native mendukung penyimpanan dan komputasi data vektor hingga 16.383 dimensi, mencakup fungsi operasi vektor utama, serta menggunakan algoritma Hierarchical Navigable Small World (HNSW) yang sangat dioptimalkan untuk pencarian tetangga terdekat yang efisien. Anda dapat membuat indeks pada kolom vektor berdimensi penuh.
Fitur
RDS for MySQL secara native mendukung pemrosesan data vektor, termasuk penyimpanan vektor, perhitungan kemiripan, dan pembuatan indeks berkinerja tinggi. Produk ini menyediakan solusi vektor siap pakai untuk skenario seperti pengambilan semantik skala besar, Rekomendasi AI, dan analisis multi-modal. Anda dapat menggunakan antarmuka SQL standar untuk menggabungkan pencocokan vektor berpresisi tinggi dengan logika bisnis kompleks secara mulus, sehingga memungkinkan penerapan aplikasi AI inovatif menggunakan arsitektur yang hemat biaya dan sangat kompatibel.
Penyimpanan, akses, dan komputasi vektor berdimensi tinggi yang efisien: Anda dapat menyimpan data vektor floating-point hingga 16.383 dimensi menggunakan tipe data
VECTOR. Fitur ini kompatibel dengan antarmuka SQL standar, sehingga Anda dapat langsung menulis, memperbarui, dan mengelola data vektor dalam batch. Fungsi pemrosesan vektor utama yang didukung adalah sebagai berikut:Nama fungsi
Deskripsi
VECTOR_DIMMendapatkan dimensi vektor.
VEC_FROMTEXTMengonversi string menjadi vektor.
TO_VECTORSTRING_TO_VECTORVEC_TOTEXTMengonversi vektor menjadi string.
FROM_VECTORVECTOR_TO_STRINGVEC_DISTANCEMenghitung jarak antara dua vektor. Jika salah satu parameter merupakan kolom indeks, jenis jarak indeks akan terdeteksi secara otomatis.
VEC_DISTANCE_EUCLIDEANVEC_DISTANCE_COSINEIndeks vektor berkinerja tinggi: Indeks vektor dibangun menggunakan algoritma HNSW yang sangat dioptimalkan. Teknologi seperti akselerasi perangkat keras single instruction multiple data (SIMD), pemangkasan pencarian Bloom filter, dan penurunan kondisi LIMIT secara signifikan meningkatkan efisiensi pengambilan data vektor skala besar. Fitur ini juga mendukung penyimpanan campuran dan kueri gabungan antara data vektor dan skalar.
Ekosistem terbuka, siap pakai: Fitur ini sepenuhnya kompatibel dengan protokol MySQL. Produk ini mendukung alat Java Database Connectivity (JDBC)/ORM dan framework developer utama. Fitur ini terintegrasi dengan layanan Alibaba Cloud seperti DTS dan DMS untuk menyediakan kemampuan siklus hidup lengkap, termasuk sinkronisasi data, manajemen, backup, dan pemulihan. Anda dapat melakukan peningkatan instans yang sudah ada hanya dengan satu klik tanpa perlu membuat kluster baru.
Cakupan penggunaan
Versi database: MySQL 8.0.
Versi mesin minor:
20251031atau lebih baru. Jika instans Anda tidak memenuhi persyaratan versi ini, lakukan peningkatan versi mesin minor atau versi database mayor.Batasan berikut berlaku untuk fitur ini:
Indeks vektor hanya dapat dibuat pada tabel yang menggunakan engine InnoDB.
Kunci primary tabel tidak boleh melebihi panjang 256 byte.
Sintaksis
inplacetidak dapat digunakan untuk membuat, memodifikasi, atau menghapus indeks vektor.Indeks vektor tidak dapat diatur menjadi
INVISIBLE.Tabel yang berisi indeks vektor tidak mendukung fitur Recycle Bin.
Modifikasi dan kueri data pada indeks vektor hanya mendukung level isolasi Read Committed (RC).
Karena sifat acak dari algoritma HNSW—termasuk level acak dan algoritma heuristik—struktur graf indeks vektor pada instans primary dan standby tidak dijamin identik.
Jika Anda menggunakan tipe
vectordalam prosedur tersimpan atau fungsi di database sumber, sinkronisasi atau migrasi ke database tujuan yang tidak mendukung vektor akan gagal.
Manajemen parameter
Deskripsi parameter
Nama parameter | Deskripsi |
| • Deskripsi: Jenis jarak vektor default.
|
| • Deskripsi: Nilai m default untuk indeks HNSW (jumlah maksimum node output untuk setiap node dalam graf). |
| • Deskripsi: Nilai ef_search default untuk kueri indeks HNSW (rentang pencarian). |
| • Deskripsi: Memori maksimum yang dapat digunakan oleh cache indeks HNSW, dalam byte. |
Memodifikasi parameter
Buka halaman Instances. Di bilah navigasi atas, pilih wilayah tempat instans RDS berada. Lalu, temukan instans RDS tersebut dan klik ID instans.
Di panel navigasi kiri, klik Parameter.
Pada tab Modifiable Parameters, cari parameter yang ingin dimodifikasi dan atur nilainya.
Klik OK lalu Apply Changes. Pada kotak dialog yang muncul, pilih kapan perubahan akan diterapkan.
Semua parameter terkait vektor merupakan parameter dinamis. Modifikasi langsung berlaku tanpa perlu restart instans.
Aktifkan dan gunakan fitur
Mengaktifkan atau menonaktifkan fitur vektor tidak memerlukan restart instans.
Langkah 1: Aktifkan dukungan vektor
Buka Konsol RDS, pilih wilayah tujuan, lalu klik ID instans.
Pada halaman Basic Information, di bagian Status, temukan Vector Storage dan klik Enable.
Fitur langsung berlaku setelah status berubah menjadi Enabled.
Langkah 2: Buat tabel dan indeks vektor
-- Buat tabel yang berisi kolom vektor 5-dimensi dan indeks HNSW
CREATE TABLE product_embeddings (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
product_name VARCHAR(255),
embedding VECTOR(5) NOT NULL,
-- Buat indeks vektor dan tentukan nilai M serta metode perhitungan jarak
VECTOR INDEX idx_embedding(embedding) M=16 DISTANCE=COSINE
);Langkah 3: Masukkan data
-- Gunakan fungsi VEC_FROMTEXT untuk memasukkan data vektor
INSERT INTO product_embeddings (product_name, embedding) VALUES
('product_A', VEC_FROMTEXT('[0.1, 0.2, 0.3, 0.4, 0.5]')),
('product_B', VEC_FROMTEXT('[0.6, 0.7, 0.8, 0.9, 1.0]')),
('product_C', VEC_FROMTEXT('[0.11, 0.22, 0.33, 0.44, 0.55]'));Langkah 4: Lakukan kueri kemiripan vektor
-- Temukan dua produk yang paling mirip dengan vektor yang diberikan '[0.1, 0.2, 0.3, 0.4, 0.51]'
SELECT
id,
product_name,
VEC_DISTANCE(embedding, VEC_FROMTEXT('[0.1, 0.2, 0.3, 0.4, 0.51]')) AS similarity_score
FROM
product_embeddings
ORDER BY
similarity_score ASC -- Semakin kecil jarak COSINE, semakin mirip vektornya
LIMIT 2;