全部产品
Search
文档中心

ApsaraDB RDS:Penyimpanan vektor

更新时间:Dec 02, 2025

RDS for MySQL menyediakan integrasi mendalam untuk pemrosesan data vektor tingkat enterprise. Layanan ini secara native mendukung penyimpanan dan komputasi data vektor hingga dimensi 16.383. Dengan mengintegrasikan fungsi operasi vektor utama serta memanfaatkan algoritma Hierarchical Navigable Small World (HNSW) yang sangat dioptimalkan, layanan ini memberikan pencarian tetangga terdekat aproksimasi yang efisien. Fitur ini juga mendukung pembuatan indeks pada kolom vektor berdimensi penuh.

Deskripsi fitur

RDS for MySQL secara native mendukung pemrosesan data vektor, termasuk penyimpanan vektor, perhitungan kemiripan, dan pengindeksan berkinerja tinggi. Layanan ini menyediakan solusi vektor siap pakai untuk skenario seperti pengambilan semantik skala besar, rekomendasi berbasis 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 bisnis menerapkan aplikasi AI inovatif secara cepat 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 baru VECTOR. Fitur ini kompatibel dengan antarmuka SQL standar untuk menulis, memperbarui, dan mengelola data vektor secara Batch. Fitur ini mendukung fungsi pemrosesan vektor utama berikut:

    Nama fungsi

    Deskripsi

    VECTOR_DIM

    Mendapatkan dimensi 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 parameter merupakan kolom yang diindeks, jenis jarak dari indeks tersebut akan dideteksi secara otomatis.

    VEC_DISTANCE_EUCLIDEAN

    VEC_DISTANCE_COSINE

  • Indeks vektor berkinerja tinggi: Indeks vektor 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 open source, siap pakai: Fitur ini sepenuhnya kompatibel dengan protokol MySQL. Fitur ini mendukung Java Database Connectivity (JDBC), alat Object-Relational Mapping (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 recovery. Anda dapat melakukan upgrade instans yang ada hanya dengan satu klik tanpa membuat kluster baru.

Penerapan

  • Versi database: MySQL 8.0.

  • Versi mesin minor: 20251031 atau lebih baru. Jika versi Anda saat ini tidak memenuhi persyaratan ini, Anda harus melakukan upgrade versi mesin minor atau versi utama database.

  • Batasan berikut berlaku saat Anda menggunakan fitur ini:

    • Indeks vektor hanya didukung pada tabel yang menggunakan engine InnoDB.

    • Kunci primary tabel tidak boleh melebihi panjang 256 byte.

    • Sintaksis inplace tidak dapat digunakan untuk membuat, memodifikasi, atau menghapus indeks vektor.

    • Indeks vektor tidak dapat diatur sebagai INVISIBLE.

    • Tabel yang memiliki indeks vektor tidak mendukung fitur Recycle Bin.

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

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

    • Jika Anda menggunakan tipe data vector dalam 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

vidx_default_distance

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



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

  • COSINE: Jarak Cosine. Menghitung cosinus sudut antara dua vektor untuk mengukur kemiripan arah, mengabaikan panjang vektor.

vidx_hnsw_default_m

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



vidx_hnsw_ef_search

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



vidx_hnsw_cache_size

• Deskripsi: Memori maksimum yang dapat digunakan oleh cache indeks HNSW. Satuan: byte.
• Cakupan: Global.
• Tipe data: BigInt.
• Nilai default: 1048576.
• Rentang valid: [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 instansnya.

  2. Di panel navigasi kiri, klik Parameter Settings.

  3. Di tab Editable Parameters, cari parameter yang ingin dimodifikasi 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 restart instans.

Aktifkan dan gunakan fitur

Catatan

Mengaktifkan atau menonaktifkan fitur vektor tidak memerlukan restart instans.

Langkah 1: Aktifkan dukungan vektor

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

  2. Di halaman Basic Information, pada bagian Running Status, untuk Vector Storage, klik Enable di sebelah kanan.

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

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 2 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;