All Products
Search
Document Center

ApsaraDB RDS:Penyimpanan vektor

Last Updated:Jun 16, 2026

RDS for MySQL menyediakan pemrosesan data vektor yang terintegrasi secara mendalam dan berstandar enterprise. Produk ini secara native mendukung penyimpanan dan komputasi data vektor hingga 16.383 dimensi, mengintegrasikan fungsi vektor utama, serta menggunakan algoritma Hierarchical Navigable Small World (HNSW) yang sangat dioptimalkan untuk memberikan kemampuan 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 pencarian semantik berskala besar, rekomendasi cerdas, dan analisis multimodal. Gunakan antarmuka SQL standar untuk mengintegrasikan secara mulus pencocokan vektor berpresisi tinggi dengan logika bisnis kompleks. Integrasi ini memungkinkan Anda membangun dan menerapkan aplikasi AI inovatif secara cepat pada arsitektur berbiaya rendah dan sangat kompatibel.

  • Penyimpanan, akses, dan komputasi vektor berdimensi tinggi yang efisien: Mendukung penyimpanan data vektor floating-point hingga 16.383 dimensi dan memperkenalkan tipe data VECTOR. Produk ini mendukung antarmuka SQL standar, sehingga Anda dapat langsung menulis, memperbarui, dan mengelola data vektorisasi secara batch. Tabel berikut menjelaskan fungsi pemrosesan vektor yang didukung.

    Nama fungsi

    Deskripsi

    VECTOR_DIM

    Mengembalikan jumlah dimensi dalam suatu vektor.

    VEC_FROMTEXT

    Mengonversi string menjadi vektor.

    TO_VECTOR

    STRING_TO_VECTOR

    VEC_TOTEXT

    Mengonversi vektor menjadi string.

    FROM_VECTOR

    VECTOR_TO_STRING

    VEC_DISTANCE

    Menghitung jarak antara dua vektor. Jika salah satu operan merupakan kolom yang telah diindeks, fungsi ini secara otomatis mendeteksi jenis jarak dari indeks tersebut.

    VEC_DISTANCE_EUCLIDEAN

    VEC_DISTANCE_COSINE

  • Indeks vektor berkinerja tinggi: Indeks vektor menggunakan algoritma HNSW (Hierarchical Navigable Small World) yang sangat dioptimalkan. Produk ini memanfaatkan teknik seperti akselerasi perangkat keras SIMD, pemangkasan pencarian Bloom filter, dan penurunan kondisi LIMIT untuk meningkatkan efisiensi pengambilan data vektor berskala besar secara signifikan. Produk ini juga mendukung penyimpanan hibrid dan kueri gabungan antara data vektor dan data skalar.

  • Ekosistem open-source dan kemudahan penggunaan siap pakai: Fitur ini sepenuhnya kompatibel dengan protokol MySQL dan mendukung alat JDBC/ORM serta framework pengembangan utama. Fitur ini terintegrasi dengan layanan Alibaba Cloud seperti DTS dan DMS, menyediakan kemampuan siklus hidup lengkap, termasuk sinkronisasi data, manajemen, backup, dan pemulihan. Anda dapat melakukan upgrade instans yang ada hanya dengan satu klik tanpa perlu membuat kluster baru.

Penerapan

  • Versi database: MySQL 8.0 (versi mesin minor 20251031 atau lebih baru). Jika instans Anda tidak memenuhi persyaratan versi, Anda dapat meningkatkan versi mesin minor atau meningkatkan versi mesin utama.

  • Fitur ini memiliki batasan berikut:

    • Anda hanya dapat membuat indeks vektor pada tabel yang menggunakan engine InnoDB.

    • Kunci primary tabel tidak boleh melebihi panjang 256 byte.

    • Anda tidak dapat menggunakan sintaks inplace untuk membuat, memodifikasi, atau menghapus indeks vektor.

    • Indeks vektor tidak dapat diatur sebagai INVISIBLE.

    • Anda tidak dapat menggunakan fitur Recycle Bin pada tabel yang berisi indeks vektor.

    • Modifikasi data dan kueri pada indeks vektor hanya mendukung level isolasi Read Committed (RC).

    • Karena sifat acak algoritma HNSW, seperti penugasan level acak dan algoritma heuristik, struktur graf indeks vektor pada instans primary/standby tidak dijamin identik.

    • Jika prosedur tersimpan atau fungsi di database sumber menggunakan tipe vector, sinkronisasi atau migrasi ke database tujuan yang tidak mendukung vektor akan gagal.

Manajemen parameter

Parameter

Parameter

Deskripsi

vidx_default_distance

• Deskripsi: Jenis jarak vektor default.
• Cakupan: Session.
• Tipe data: String.
• Nilai default: EUCLIDEAN.
• Nilai valid:










  • EUCLIDEAN: Jarak Euclidean, yang menghitung jarak garis lurus (jarak geometris) antara dua vektor dalam ruang multidimensi.

  • COSINE: jarak cosine, yang menghitung cosinus sudut antara dua vektor untuk mengukur kemiripan arah, tanpa mempertimbangkan panjang vektor.

vidx_hnsw_default_m

• Deskripsi: Nilai M default untuk indeks HNSW (jumlah maksimum edge keluar untuk setiap node dalam graf).
• Cakupan: Session.
• Tipe data: Integer.
• Nilai default: 6.
• Rentang nilai: [3, 200].










vidx_hnsw_ef_search

• Deskripsi: Nilai ef_search default untuk kueri indeks HNSW (cakupan pencarian).
• Cakupan: Session.
• Tipe data: Integer.
• Nilai default: 20.
• Rentang nilai: [1, 10000].










vidx_hnsw_cache_size

• Deskripsi: Memori maksimum yang dapat digunakan oleh cache indeks HNSW, dalam byte.
• Cakupan: Global.
• Tipe data: BigInt.
• Nilai default: 1048576.
• Rentang nilai: [1048576, 18446744073709551615].










Memodifikasi parameter

  1. Buka halaman Instances. Di bilah navigasi atas, pilih wilayah tempat instans RDS berada. Lalu, temukan instans RDS tersebut dan klik ID instans.

  2. Di panel navigasi sebelah kiri, klik Parameter Settings.

  3. Di tab Editable Parameters, cari parameter yang ingin Anda modifikasi dan atur nilainya.

  4. Klik OK, lalu klik Submit Parameters. Di kotak dialog yang muncul, pilih kapan perubahan akan diterapkan.

Catatan

Semua parameter terkait vektor bersifat dinamis. Modifikasi langsung berlaku tanpa perlu me-restart instans.

Aktifkan dan gunakan penyimpanan vektor

Catatan

Anda dapat mengaktifkan atau menonaktifkan fitur vektor tanpa me-restart instans.

Langkah 1: Aktifkan dukungan vektor

  1. Buka Konsol RDS, pilih wilayah target, lalu klik ID instans.

  2. Di halaman Basic Information, pada bagian Running Status, temukan Vector Storage dan klik Enable.

  3. Saat status berubah menjadi Enabled, fitur langsung berlaku.

Langkah 2: Buat tabel dan indeks vektor

-- Buat tabel dengan kolom vektor berdimensi 5 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 M (konektivitas graf) serta metrik 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 pencarian 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;