Catatan Rilis
Temukan apa saja yang baru di Milvus! Halaman ini merangkum fitur-fitur baru, peningkatan, masalah yang diketahui, dan perbaikan bug di setiap rilis. Kami menyarankan Anda untuk mengunjungi halaman ini secara rutin untuk mengetahui pembaruan terbaru.
v3.0-beta
Tanggal rilis: 9 Mei 2026
| Versi Milvus | Versi SDK Python | Versi SDK Node.js |
|---|---|---|
| 3.0-beta | 3.0.0 | 3.0.0 |
Milvus 3.0-beta memperluas basis data vektor Milvus dengan integrasi baru ke dalam ekosistem open lake: Koleksi Eksternal memungkinkan Milvus melakukan kueri tabel lake eksternal tanpa penyalinan (zero-copy), dan Spark dapat membaca koleksi Milvus secara langsung melalui Snapshot. Rilis ini juga menghadirkan pengambilan data yang lebih kaya, skema yang lebih ekspresif, penyesuaian pencarian teks yang lebih mendalam, kontrol siklus hidup data dan model yang lebih terperinci, serta kontrol sisi operator yang lebih banyak. Milvus 3.0 adalah inti dari Zilliz Lakebase, yang mendukung penyajian, penemuan, dan pemrosesan batch yang terpadu.
Tonton video di bawah ini untuk mempelajari lebih lanjut tentang Milvus 3.0 dan sesi tanya jawab (AMA) dengan pengembang inti:
Fitur Utama
Koleksi Eksternal
Dalam pipa data AI pada umumnya, terabyte embedding dan metadata sudah tersimpan di penyimpanan objek sebagai tabel Parquet, Lance, atau Iceberg. Menyalin data tersebut ke Milvus akan menggandakan biaya penyimpanan, menambah pipa ETL yang harus dijaga agar tetap sinkron, dan mengalihkan tata kelola data dari pelanggan.
Koleksi Eksternal menghilangkan kebutuhan untuk menyalin data. Koleksi Milvus dapat merujuk ke file di lokasi aslinya, dan Milvus hanya mengelola skema, indeks, serta eksekusi kueri. Pembaruan bertahap menjaga Koleksi tetap selaras dengan file yang mendasarinya. Pelanggan yang datanya tidak dapat meninggalkan lake, seperti tim keuangan dan kesehatan, dapat menjalankan pengambilan vektor terhadap data tersebut di tempatnya. Satu dataset yang berada di lake juga dapat disajikan dari beberapa instance Milvus sekaligus.
Untuk informasi lebih lanjut, lihat Buat Koleksi Eksternal.
Snapshot
Penyajian dan penemuan batch seringkali memerlukan Koleksi yang sama pada waktu yang sama. Evaluasi model A/B, deduplikasi skala besar, validasi backfill, dan rollback versi semuanya memerlukan tampilan yang stabil dari Koleksi sementara penulisan data masih berlangsung.
Snapshot membuat tampilan Koleksi pada titik waktu tertentu yang hanya dapat dibaca dengan merujuk segmen yang ada, bukan menyalin data, sehingga biaya penyimpanan marjinal mendekati nol. Pekerjaan batch dapat membaca dari Snapshot di bawah isolasi bergaya MVCC sementara Koleksi langsung terus menerima penulisan.
Untuk informasi lebih lanjut, lihat Snapshot, Mengelola Snapshot, dan Kasus Penggunaan Snapshot.
Urutan Query / Pencarian
Pencarian dan Query kini mendukung pengurutan multi-kolom, dengan proses pengurutan ditangani oleh kernel Milvus dan opsi " ASC " serta " DESC " dapat disesuaikan per kolom. Hal ini menutup celah umum dalam produksi: pengurutan Top-K berdasarkan jarak saja seringkali tidak sesuai dengan kebutuhan bisnis ketika item yang paling mirip bukanlah yang termurah, terbaru, atau paling populer.
Aplikasi tidak perlu lagi mengambil hasil secara berlebihan dan melakukan pengurutan ulang di sisi klien untuk mengekspresikan peringkat gabungan.
Untuk informasi lebih lanjut, lihat Mengurutkan Hasil Pencarian berdasarkan Bidang Skalar dan Mengurutkan Hasil Kueri.
Agregasi Kueri
Untuk menghasilkan statistik distribusi penyewa, hitungan kelengkapan bidang, atau kemajuan peluncuran versi dari Koleksi Milvus, sebelumnya diperlukan penarikan entitas yang cocok kembali ke klien dan pengagregasiannya di sana. Milvus 3.0 mengintegrasikan agregasi skalar bergaya SQL ke dalam kernel. Panggilan kueri menerima ekspresi agregasi skalar ( group_by_fields ) dan ekspresi agregasi dalam bentuk kueri ( output_fields), termasuk count(*), count(<field>), sum(<field>), avg(<field>), min(<field>), dan max(<field>). Agregasi dievaluasi di sisi server setelah penyaringan.
Untuk informasi lebih lanjut, lihat Hasil Kueri Agregasi.
Vektor Nol
Embedding sering kali dihasilkan secara asinkron, sehingga suatu entitas dapat tiba sebelum vektornya. Data multimodal juga memiliki celah alami, seperti video tanpa teks atau produk tanpa gambar. Versi sebelumnya tidak memiliki solusi yang baik: aplikasi menunda penulisan hingga vektor siap atau mengisi vektor tempatholder, dan kedua pilihan tersebut merusak kualitas pencarian.
Milvus 3.0 mendukung NULL pada bidang vektor di semua enam jenis vektor. Pencarian secara otomatis melewati vektor NULL, kualitas pengambilan data tidak terpengaruh, dan vektor NULL tidak memakan ruang penyimpanan. Fitur " AddField " juga berlaku untuk bidang vektor dalam perubahan ini: dengan " nullable=True", koleksi yang sudah ada dapat menambahkan bidang vektor baru secara online tanpa perlu rebuild.
Untuk informasi lebih lanjut, lihat Bidang yang Dapat Berisi Nilai NULL.
Kamus Kustom & Kamus Sinonim
Tokenizer bawaan tidak selalu memenuhi persyaratan kualitas pencarian produksi. Bahasa Mandarin, domain vertikal seperti kedokteran, hukum, dan kimia, serta korpus multibahasa dapat memperoleh manfaat besar dari kamus khusus dan tabel sinonim. Hingga saat ini, sumber daya ini sebagian besar berfungsi sebagai penulisan ulang kueri di sisi aplikasi.
Milvus 3.0 menambahkan mekanisme FileResource untuk mendaftarkan kamus tokenizer khusus, daftar sinonim, daftar kata penghalang, dan aturan dekomposisi kata majemuk. Setelah terdaftar, sumber daya dapat dirujuk dari tokenizer atau filter mana pun dan berlaku pada BM25, penganalisis, dan Text Match. Kamus dan sinonim kini dapat diberi versi dan dikelola secara terpusat, bukan tersebar di seluruh kode aplikasi.
Untuk informasi lebih lanjut, lihat Kelola Sumber Daya File.
TTL Entitas
TTL tingkat koleksi dan tingkat partisi terlalu kasar untuk banyak skenario siklus hidup dan kepatuhan. Penyewa yang berbeda di dalam Koleksi yang sama sering kali memiliki aturan penyimpanan yang berbeda, dan entitas individual mungkin perlu kedaluwarsa sesuai jadwal yang tidak sesuai dengan Koleksi lainnya.
Milvus 3.0 mendukung TTL per entitas. Tetapkan bidang ` TIMESTAMPTZ ` dalam skema, tandai sebagai bidang TTL melalui properti Koleksi, dan Milvus akan secara otomatis menghapus entitas yang telah kadaluwarsa. Hal ini mencakup permintaan hak untuk dilupakan, data sesi yang kadaluwarsa, dan riwayat percakapan yang dibatasi tanpa perlu pembersihan di sisi aplikasi.
Untuk informasi lebih lanjut, lihat Tetapkan TTL Tingkat Entitas.
MinHash DIDO (Doc-in, Doc-out)
Milvus 2.6 menambahkan indeks MINHASH_LSH untuk deteksi duplikat yang hampir sama berbasis set, tetapi aplikasi masih harus menghitung tanda tangan MinHash sebelum menulis data ke Milvus.
Milvus 3.0 menambahkan fungsi MinHash di sisi server. Deklarasikan bidang masukan " VARCHAR " dan bidang keluaran " BINARY_VECTOR " dalam skema, lampirkan fungsi " FunctionType.MINHASH ", dan Milvus akan menghitung tanda tangan selama proses penyisipan, penyisipan massal, dan pencarian. Bersama dengan " MINHASH_LSH", ini mendukung alur kerja deduplikasi untuk dataset besar, pembentukan sidik jari, dan deteksi plagiarisme di dalam Milvus.
Untuk informasi lebih lanjut, lihat Fungsi MinHash.
EmbList + DISKANN
Asumsi “satu entitas = satu vektor” tidak lagi sesuai dengan pencarian modern. Dokumen panjang dibagi menjadi banyak bagian, model interaksi terlambat seperti ColBERT mengeluarkan satu vektor per token, dan entitas multimodal dapat membawa beberapa tampilan.
EmbList menyimpan daftar vektor berpanjang variabel per entitas, dengan " DISKANN " sebagai indeks di disk. Jalur disk ini menjaga penggunaan RAM tetap terkendali saat korpus melebihi batas memori. EmbList + " DISKANN " adalah varian pertama dari keluarga StructList yang lebih luas dalam rilis kandidat (RC) ini. Sisa keluarga ini, termasuk penyaringan StructList dan akselerasi multi-vektor Muvera / Lemur, ditargetkan untuk rilis resmi 3.0.
Untuk informasi lebih lanjut, lihat Pencarian dengan Daftar Embedding.
Paksakan Penggabungan
Beban kerja produksi mengakumulasi fragmentasi segmen seiring waktu, yang menyebabkan jitter latensi kueri dan penyimpanan yang membengkak.
Milvus 3.0 menambahkan kemampuan untuk memicu pemadatan segmen secara eksplisit selama jendela di luar jam sibuk, baik dalam mode sinkron maupun asinkron.
Untuk informasi lebih lanjut, lihat Pemadatan Force Merge.
Penyimpanan V3
Milvus 3.0 memperkenalkan Storage V3, mesin penyimpanan kolom berbasis manifest di mana data dan metadata disimpan di penyimpanan objek yang kompatibel dengan S3. Setiap versi dataset direkam sebagai snapshot manifest yang tidak dapat diubah, yaitu file yang dikodekan Avro yang mencatat kelompok kolom, log delta, dan statistik yang membentuk dataset.
Manifest adalah file Avro yang ringkas, sedangkan log delta mencatat penghapusan entitas tanpa menulis ulang file data. Hal ini menjaga beban metadata tetap kecil seiring pertumbuhan dataset. Manifest juga memisahkan pelacakan metadata dari jalur kueri, memungkinkan sebuah Collection mengelola lebih banyak segmen tanpa mengorbankan kinerja kueri.
Karena status disimpan di penyimpanan objek, kumpulan data bersifat deskriptif sendiri: pembaca mana pun yang memiliki akses ke jalur penyimpanan dapat menemukannya dan menafsirkannya tanpa katalog pusat. Sifat ini mendukung Koleksi Eksternal, Snapshot, dan integrasi lake di masa mendatang.