Istilah
AutoID
AutoID adalah atribut dari kolom utama yang menentukan apakah AutoIncrement akan diaktifkan untuk kolom utama tersebut. Nilai AutoID ditentukan berdasarkan cap waktu. Untuk informasi lebih lanjut, lihat create_schema.
Indeks Otomatis
Milvus secara otomatis menentukan jenis indeks dan parameter yang paling sesuai untuk bidang tertentu berdasarkan data empiris. Hal ini ideal untuk situasi di mana Anda tidak perlu mengontrol parameter indeks secara spesifik. Untuk informasi lebih lanjut, lihat add_index.
Attu
Attu adalah alat administrasi serba guna untuk Milvus yang secara signifikan mengurangi kompleksitas dan biaya pengelolaan sistem.
Birdwatcher
Birdwatcher adalah alat debugging untuk Milvus yang terhubung ke etcd, memungkinkan Anda memantau status server Milvus dan melakukan penyesuaian secara real-time. Alat ini juga mendukung pencadangan berkas etcd, yang membantu pengembang dalam pemecahan masalah.
Bulk Writer
Bulk Writer adalah alat pemrosesan data yang disediakan oleh SDK Milvus (misalnya PyMilvus, Java SDK), yang dirancang untuk mengonversi dataset mentah ke dalam format yang kompatibel dengan Milvus guna impor yang efisien.
Bulk Insert
Bulk Insert adalah API yang meningkatkan kinerja penulisan dengan memungkinkan impor beberapa file dalam satu permintaan, sehingga mengoptimalkan operasi dengan dataset besar.
Cardinal
Cardinal, yang dikembangkan oleh Zilliz Cloud, adalah algoritma pencarian vektor mutakhir yang menghadirkan kualitas dan kinerja pencarian yang tak tertandingi. Dengan desain inovatif dan optimisasi ekstensif, Cardinal mengungguli Knowhere beberapa kali lipat hingga satu tingkat besarnya sambil secara adaptif menangani berbagai skenario produksi, seperti ukuran K yang bervariasi, penyaringan tinggi, distribusi data yang berbeda, dan sebagainya.
Channel
Milvus menggunakan dua jenis saluran, yaitu PChannel dan VChannel, sebagai bagian dari arsitektur layanan streaming-nya. Setiap PChannel berhubungan dengan aliran WAL yang dikelola oleh Woodpecker, sedangkan setiap VChannel berhubungan dengan shard dalam sebuah koleksi. Layanan streaming mengelola saluran-saluran ini untuk memastikan konsistensi data dan pemulihan kesalahan.
Koleksi
Di Milvus, koleksi setara dengan tabel dalam sistem manajemen basis data relasional (RDBMS). Koleksi adalah objek logis utama yang digunakan untuk menyimpan dan mengelola entitas. Untuk informasi lebih lanjut, lihat Mengelola Koleksi.
Ketergantungan
Ketergantungan adalah program yang diandalkan oleh program lain agar dapat berfungsi. Ketergantungan Milvus meliputi etcd (menyimpan metadata), MinIO atau S3 (penyimpanan objek), dan antrian pesan seperti Woodpecker (mengelola log snapshot). Untuk informasi lebih lanjut, lihat Infrastruktur Data.
Skema dinamis
Skema dinamis memungkinkan Anda menyisipkan entitas dengan bidang baru ke dalam koleksi tanpa mengubah skema yang ada. Ini berarti Anda dapat menyisipkan data tanpa mengetahui skema lengkap dari sebuah koleksi dan dapat menyertakan bidang yang belum didefinisikan. Anda dapat mengaktifkan kemampuan bebas skema ini dengan mengaktifkan bidang dinamis saat membuat koleksi. Untuk informasi lebih lanjut, lihat Aktifkan Bidang Dinamis.
Embedding
Milvus menawarkan fungsi embedding bawaan yang bekerja dengan penyedia embedding populer. Sebelum membuat koleksi di Milvus, Anda dapat menggunakan fungsi-fungsi ini untuk menghasilkan embedding untuk dataset Anda, sehingga mempermudah proses persiapan data dan pencarian vektor. Untuk melihat penerapan pembuatan embedding, lihat Menggunakan Model PyMilvus untuk Menghasilkan Embedding Teks.
Entitas
Entitas terdiri dari sekelompok bidang yang mewakili objek dunia nyata. Setiap entitas di Milvus diwakili oleh kunci utama yang unik.
Anda dapat menyesuaikan kunci utama. Jika Anda tidak mengonfigurasinya secara manual, Milvus secara otomatis menetapkan kunci utama ke entitas. Jika Anda memilih untuk menyesuaikan kunci utama, perhatikan bahwa Milvus saat ini belum mendukung penghapusan duplikat kunci utama. Oleh karena itu, mungkin terdapat kunci utama yang duplikat dalam koleksi yang sama. Untuk informasi lebih lanjut, lihat " Menyisipkan Entitas".
Kolom
Sebuah bidang dalam koleksi Milvus setara dengan kolom tabel dalam RDBMS. Bidang dapat berupa bidang skalar untuk data terstruktur (misalnya, angka, string), atau bidang vektor untuk vektor embedding.
Filter
Milvus mendukung penyaringan skalar dengan pencarian menggunakan predikat, sehingga Anda dapat menentukan kondisi filter dalam kueri dan pencarian untuk mempersempit hasil.
Pencarian yang difilter
Pencarian yang difilter menerapkan filter skalar ke pencarian vektor, sehingga Anda dapat menyempurnakan hasil pencarian berdasarkan kriteria tertentu. Untuk informasi lebih lanjut, lihat Pencarian yang difilter.
Pencarian hibrida
Pencarian Hibrida adalah API untuk pencarian hibrida sejak Milvus 2.4.0. Anda dapat mencari beberapa bidang vektor dan menggabungkannya. Untuk pencarian vektor yang dikombinasikan dengan penyaringan bidang skalar, hal ini disebut sebagai "pencarian yang disaring". Untuk informasi lebih lanjut, lihat Pencarian Hibrida.
Indeks
Indeks vektor adalah struktur data yang telah diatur ulang yang berasal dari data mentah yang dapat sangat mempercepat proses pencarian kesamaan vektor. Milvus mendukung berbagai jenis indeks untuk bidang vektor dan bidang skalar. Untuk informasi lebih lanjut, lihat Jenis indeks vektor.
Konektor Kafka-Milvus
Konektor Kafka-Milvus mengacu pada konektor sink Kafka untuk Milvus. Konektor ini memungkinkan Anda mengalirkan data vektor dari Kafka ke Milvus.
Knowhere
Knowhere adalah mesin eksekusi vektor inti Milvus yang menggabungkan beberapa pustaka pencarian kesamaan vektor, termasuk Faiss, Hnswlib, dan Annoy. Knowhere juga dirancang untuk mendukung komputasi heterogen. Knowhere mengontrol perangkat keras mana (CPU atau GPU) yang akan digunakan untuk menjalankan pembuatan indeks dan permintaan pencarian. Inilah asal muasal nama Knowhere — mengetahui di mana operasi harus dijalankan.
Snapshot log
Snapshot log adalah log biner, unit yang lebih kecil dalam segmen yang mencatat dan menangani pembaruan serta perubahan yang dilakukan pada data di Milvus. Data dari suatu segmen disimpan dalam beberapa binlog. Terdapat tiga jenis binlog di Milvus: InsertBinlog, DeleteBinlog, dan DDLBinlog. Untuk informasi lebih lanjut, lihat Penyimpanan Meta.
Jenis metrik
Jenis metrik kesamaan digunakan untuk mengukur kesamaan antar vektor. Saat ini, Milvus mendukung jarak Euclidean (L2), produk dalam (IP), kesamaan kosinus (COSINE), dan jenis metrik biner. Anda dapat memilih jenis metrik yang paling sesuai berdasarkan skenario Anda. Untuk informasi lebih lanjut, lihat Metrik Kesamaan.
MemoryBuffer
MemoryBuffer adalah mode penerapan Woodpecker yang ringan yang menyimpan sementara penulisan yang masuk dalam memori dan secara berkala mengosongkannya ke penyimpanan objek cloud. Mode ini paling cocok untuk beban kerja batch yang berat dalam penerapan skala kecil atau lingkungan produksi yang mengutamakan kesederhanaan daripada kinerja. Untuk informasi lebih lanjut, lihat Arsitektur Woodpecker.
Mmap
File yang dipetakan ke memori memungkinkan penanganan data yang efisien dengan memetakan isi file langsung ke dalam memori. Hal ini sangat berguna ketika memori terbatas dan tidak memungkinkan untuk memuat semua data. Teknik ini dapat meningkatkan kapasitas data dan mempertahankan kinerja hingga batas tertentu. Namun, jika data jauh melebihi kapasitas memori, kecepatan pencarian dan kueri dapat menurun secara signifikan. Untuk informasi lebih lanjut, lihat Penyimpanan Data yang Mendukung MMap.
Milvus Backup
Milvus Backup adalah alat untuk membuat salinan data, yang dapat digunakan untuk memulihkan data asli setelah terjadi kehilangan data.
Milvus CDC
Milvus CDC (change data capture) adalah alat yang digunakan untuk mereplikasi perubahan data dari satu klaster Milvus ke klaster lainnya untuk pemulihan bencana primer-standby.
Milvus CLI
Milvus Command-Line Interface (CLI) adalah alat baris perintah yang mendukung koneksi basis data, operasi data, serta impor dan ekspor data. Berdasarkan Milvus Python SDK, alat ini memungkinkan eksekusi perintah melalui terminal menggunakan prompt baris perintah interaktif.
Migrasi Milvus
Milvus Migration adalah alat sumber terbuka yang dirancang untuk memfasilitasi migrasi data yang mudah dari berbagai sumber data ke Milvus 2.x.
Cluster Milvus
Dalam penerapan Milvus berbasis kluster, layanan disediakan oleh sekelompok node untuk mencapai ketersediaan tinggi dan skalabilitas yang mudah.
Milvus standalone
Dalam implementasi Milvus standalone, semua operasi termasuk penyisipan data, pembuatan indeks, dan pencarian kesamaan vektor diselesaikan dalam satu proses tunggal.
Multi-Vektor
Milvus mendukung beberapa bidang vektor dalam satu koleksi sejak versi 2.4.0. Untuk informasi lebih lanjut, lihat Pencarian Hibrida.
Partisi
Partisi adalah pembagian dari sebuah koleksi. Milvus mendukung pembagian data koleksi menjadi beberapa bagian pada penyimpanan fisik. Proses ini disebut partisi, dan setiap partisi dapat berisi beberapa segmen. Untuk informasi lebih lanjut, lihat Kelola Partisi.
Kunci Partisi
Atribut kunci partisi dari suatu bidang memungkinkan pemisahan entitas ke dalam partisi yang berbeda berdasarkan nilai kunci partisi mereka. Pengelompokan ini memastikan bahwa entitas yang memiliki nilai kunci yang sama disimpan bersama, yang dapat mempercepat operasi pencarian dengan memungkinkan sistem melewati partisi yang tidak relevan selama kueri yang difilter berdasarkan bidang kunci partisi. Untuk informasi lebih lanjut, lihat Gunakan Kunci Partisi.
PChannel
PChannel adalah singkatan dari saluran fisik. Setiap PChannel sesuai dengan aliran WAL yang dikelola oleh Woodpecker. Secara default, sekelompok PChannel akan ditetapkan untuk menyimpan log yang mencatat penyisipan, penghapusan, dan pembaruan data saat klaster Milvus dimulai. Untuk informasi lebih lanjut, lihat Layanan Streaming.
PyMilvus
PyMilvus adalah SDK Python dari Milvus. Kode sumbernya bersifat open-source dan dihosting di GitHub. Anda memiliki fleksibilitas untuk memilih MilvusClient (versi baru SDK Python) atau modul ORM asli untuk berkomunikasi dengan Milvus.
Query
Query adalah API yang melakukan penyaringan skalar dengan ekspresi boolean tertentu sebagai filter. Untuk informasi lebih lanjut, lihat Get & Scalar Query.
QuorumBuffer
QuorumBuffer adalah mode penerapan Woodpecker yang dirancang untuk beban kerja baca/tulis frekuensi tinggi yang sensitif terhadap latensi dan membutuhkan responsivitas waktu nyata serta toleransi kesalahan yang kuat. QuorumBuffer berfungsi sebagai buffer tulis berkecepatan tinggi dengan penulisan kuorum tiga replika, yang memastikan konsistensi yang kuat dan ketersediaan tinggi. Untuk informasi lebih lanjut, lihat Arsitektur Woodpecker.
Pencarian rentang
Pencarian rentang memungkinkan Anda menemukan vektor yang berada dalam jarak tertentu dari vektor pencarian Anda. Untuk informasi lebih lanjut, lihat Pencarian rentang.
Skema
Skema adalah informasi meta yang mendefinisikan tipe data dan properti data. Setiap koleksi memiliki skema koleksinya sendiri yang mendefinisikan semua bidang dalam koleksi, pengaktifan alokasi ID otomatis (kunci utama), dan deskripsi koleksi. Skema bidang juga termasuk dalam skema koleksi, yang mendefinisikan nama, tipe data, dan properti lain dari suatu bidang. Untuk informasi lebih lanjut, lihat Kelola Skema.
Pencarian
Pencarian adalah API yang melakukan operasi untuk melakukan pencarian kesamaan vektor, yang memerlukan data vektor untuk pelaksanaannya. Untuk informasi lebih lanjut, lihat Pencarian Vektor Tunggal.
Segmen
Segmen adalah berkas data yang dibuat secara otomatis untuk menyimpan data yang dimasukkan. Sebuah koleksi dapat berisi beberapa segmen, dan setiap segmen dapat menampung banyak entitas. Selama pencarian kesamaan vektor, Milvus memeriksa setiap segmen untuk menyusun hasil pencarian.
Ada dua jenis segmen: segmen yang sedang berkembang dan segmen yang disegel. Segmen yang sedang berkembang terus mengumpulkan data baru hingga mencapai ambang batas tertentu atau batas waktu, setelah itu segmen tersebut disegel. Setelah disegel, segmen tidak lagi menerima data baru dan dipindahkan ke penyimpanan objek. Sementara itu, data yang masuk dialihkan ke segmen growing yang baru. Transisi dari segmen growing ke segmen sealed dipicu baik oleh tercapainya batas entitas yang telah ditentukan sebelumnya maupun oleh melebihi durasi maksimum yang diizinkan dalam status growing. Untuk informasi lebih lanjut, lihat Detail Desain.
Konektor Spark-Milvus
Konektor Spark-Milvus menyediakan integrasi yang mulus antara Apache Spark dan Milvus, menggabungkan fitur pemrosesan data dan pembelajaran mesin (ML) dari Apache Spark dengan kemampuan penyimpanan dan pencarian data vektor dari Milvus.
Shard
Milvus meningkatkan kinerja penulisan data dengan mendistribusikan operasi penulisan ke beberapa node menggunakan shard, yang diatur berdasarkan hashing dari kunci utama. Hal ini memanfaatkan kemampuan komputasi paralel kluster.
Partisi berfungsi untuk mengurangi beban baca dengan menentukan nama partisi, sedangkan sharding menyebarkan beban penulisan ke beberapa server.
Vektor Sparse
Vektor langka merepresentasikan kata atau frasa menggunakan embedding vektor di mana sebagian besar elemen bernilai nol, dengan hanya satu elemen non-nol yang menandakan adanya kata tertentu. Model vektor langka, seperti SPLADEv2, memiliki kinerja yang lebih baik daripada model padat dalam pencarian pengetahuan di luar domain, kesadaran kata kunci, dan keterbacaan. Untuk informasi lebih lanjut, lihat Vektor Jarang.
Layanan Streaming
Layanan Streaming adalah konsep untuk modul sistem streaming internal Milvus, yang dibangun di sekitar Write-Ahead Log (WAL) untuk mendukung berbagai fungsi terkait streaming. Fungsi-fungsi ini meliputi pengambilan/langganan data streaming, pemulihan kegagalan status kluster, konversi data streaming menjadi data historis, dan kueri data yang terus bertambah. Layanan ini terdiri dari komponen Koordinator Streaming, Kluster Node Streaming, dan Klien Streaming. Untuk informasi lebih lanjut, lihat Layanan Streaming.
Data tidak terstruktur
Data tidak terstruktur, termasuk gambar, video, audio, dan bahasa alami, adalah informasi yang tidak mengikuti model atau cara pengorganisasian yang telah ditentukan sebelumnya. Jenis data ini mencakup sekitar 80% dari data dunia, dan dapat dikonversi menjadi vektor menggunakan berbagai model kecerdasan buatan (AI) dan ML.
VChannel
VChannel adalah singkatan dari saluran virtual. Setiap VChannel mewakili sebuah shard dalam sebuah koleksi. Setiap koleksi akan diberi sekelompok VChannel untuk mencatat penyisipan, penghapusan, dan pembaruan data. VChannel dipisahkan secara logis tetapi secara fisik berbagi sumber daya melalui layanan streaming. Untuk informasi lebih lanjut, lihat Layanan Streaming.
Vektor
Vektor embedding adalah abstraksi fitur dari data tidak terstruktur, seperti email, data sensor IoT, foto Instagram, struktur protein, dan lainnya. Secara matematis, vektor embedding adalah array bilangan floating-point atau biner. Teknik embedding modern digunakan untuk mengubah data tidak terstruktur menjadi vektor embedding. Milvus mendukung vektor padat dan vektor jarang sejak versi 2.4.0.
Penyimpanan WAL
Penyimpanan Write-Ahead Log (WAL) merupakan fondasi ketahanan dan konsistensi data dalam sistem terdistribusi. Sebelum perubahan apa pun dikonfirmasi, perubahan tersebut terlebih dahulu dicatat dalam log—sehingga memastikan bahwa, jika terjadi kegagalan, Anda dapat memulihkan data persis dari titik terakhir yang ditinggalkan. Milvus menggunakan Woodpecker sebagai sistem penyimpanan WAL-nya, yang mendukung mode MemoryBuffer dan QuorumBuffer. Untuk informasi lebih lanjut, lihat Arsitektur Woodpecker.
Woodpecker
Woodpecker adalah sistem WAL cloud-native di Milvus 2.6 yang menggantikan Kafka dan Pulsar. Dengan arsitektur tanpa disk dan dua mode penerapan (MemoryBuffer dan QuorumBuffer), sistem ini menghadirkan throughput tinggi, biaya operasional rendah, dan skalabilitas tanpa hambatan pada penyimpanan objek. Untuk informasi lebih lanjut, lihat Arsitektur Woodpecker.
Zilliz Cloud
Milvus yang dikelola sepenuhnya di Zilliz Cloud, dengan lebih banyak fitur perusahaan dan kinerja yang sangat dioptimalkan.