Terminologi

AutoID

AutoID adalah atribut bidang utama yang menentukan apakah akan mengaktifkan AutoIncrement untuk bidang utama. Nilai AutoID ditentukan berdasarkan stempel waktu. Untuk informasi lebih lanjut, lihat create_schema.

Indeks Otomatis

Milvus secara otomatis menentukan jenis indeks dan parameter yang paling tepat untuk field tertentu berdasarkan data empiris. Ini ideal untuk situasi ketika Anda tidak perlu mengontrol param indeks tertentu. Untuk informasi lebih lanjut, lihat add_index.

Attu

Attu adalah alat administrasi lengkap untuk Milvus yang secara signifikan mengurangi kerumitan dan biaya pengelolaan sistem.

Pengamat Burung

Birdwatcher adalah alat debugging untuk Milvus yang terhubung ke etcd, memungkinkan Anda untuk memonitor status server Milvus dan membuat penyesuaian secara real-time. Alat ini juga mendukung backup file etcd, membantu pengembang dalam pemecahan masalah.

Penulis Massal

Bulk Writer adalah alat pemrosesan data yang disediakan oleh SDK Milvus (misalnya PyMilvus, Java SDK), yang dirancang untuk mengonversi kumpulan data mentah ke dalam format yang kompatibel dengan Milvus untuk mengimpor secara efisien.

Sisipan Massal

Bulk Insert adalah API yang meningkatkan kinerja penulisan dengan mengizinkan beberapa file diimpor dalam satu permintaan, mengoptimalkan operasi dengan dataset besar.

Cardinal

Cardinal, yang dikembangkan oleh Zilliz Cloud, adalah algoritme pencarian vektor mutakhir yang memberikan kualitas dan kinerja pencarian yang tak tertandingi. Dengan desain inovatif dan pengoptimalan yang ekstensif, Cardinal mengungguli Knowhere beberapa kali lipat dengan urutan yang lebih besar sambil secara adaptif menangani beragam skenario produksi, seperti ukuran K yang bervariasi, pemfilteran yang tinggi, distribusi data yang berbeda, dan sebagainya.

Saluran

Milvus menggunakan dua jenis saluran, PChannel dan VChannel, sebagai bagian dari arsitektur layanan streaming. Setiap PChannel berhubungan dengan aliran WAL yang dikelola oleh Woodpecker, sedangkan setiap VChannel berhubungan dengan pecahan dalam koleksi. Layanan streaming mengelola saluran-saluran ini untuk memastikan konsistensi data dan pemulihan kesalahan.

Koleksi

Dalam 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 sebuah program yang diandalkan oleh program lain untuk bekerja. Ketergantungan Milvus meliputi etcd (menyimpan meta data), MinIO atau S3 (penyimpanan objek), dan Pulsar (mengelola snapshot log). Untuk informasi lebih lanjut, lihat Mengelola Ketergantungan.

Skema dinamis

Skema dinamis memungkinkan Anda menyisipkan entitas dengan bidang baru ke dalam koleksi tanpa mengubah skema yang sudah ada. Ini berarti Anda dapat menyisipkan data tanpa mengetahui skema lengkap 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 Mengaktifkan Bidang Dinamis.

Penyematan

Milvus menawarkan fungsi penyematan bawaan yang dapat digunakan dengan penyedia penyematan yang populer. Sebelum membuat koleksi di Milvus, Anda dapat menggunakan fungsi-fungsi ini untuk menghasilkan penyematan untuk kumpulan data Anda, menyederhanakan proses penyiapan data dan pencarian vektor. Untuk membuat penyematan secara langsung, lihat Menggunakan Model PyMilvus Untuk Menghasilkan Penyematan Teks.

Entitas

Entitas terdiri dari sekelompok bidang yang merepresentasikan objek dunia nyata. Setiap entitas di Milvus diwakili oleh sebuah kunci primer yang unik.

Anda dapat menyesuaikan kunci utama. Jika anda tidak mengkonfigurasi secara manual, Milvus akan secara otomatis memberikan primary key ke entitas. Jika Anda memilih untuk menyesuaikan primary key, perlu diketahui bahwa Milvus tidak mendukung de-duplikasi primary key untuk saat ini. Oleh karena itu, bisa saja terdapat duplikat primary key dalam koleksi yang sama. Untuk informasi lebih lanjut, lihat Menyisipkan Entitas.

Field

Sebuah field dalam koleksi Milvus setara dengan kolom tabel dalam RDBMS. Field dapat berupa field skalar untuk data terstruktur (misalnya, angka, string), atau field vektor untuk menyematkan vektor.

Filter

Milvus mendukung pemfilteran skalar dengan mencari dengan predikat, memungkinkan Anda untuk menentukan kondisi filter dalam kueri dan pencarian untuk mempersempit hasil.

Pencarian yang difilter menerapkan filter skalar ke pencarian vektor, memungkinkan Anda untuk menyaring hasil pencarian berdasarkan kriteria tertentu. Untuk informasi lebih lanjut, lihat Pencarian yang difilter.

Pencarian Hibrida adalah API untuk pencarian hibrida sejak Milvus 2.4.0. Anda dapat mencari beberapa bidang vektor dan menggabungkannya. Untuk pencarian vektor yang digabungkan dengan pemfilteran bidang skalar, ini disebut sebagai "pencarian yang difilter". Untuk informasi lebih lanjut, lihat Pencarian Hibrida.

Indeks

Indeks vektor adalah struktur data yang ditata ulang yang berasal dari data mentah yang dapat 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 untuk mengalirkan data vektor dari Kafka ke Milvus.

Knowhere

Knowhere adalah mesin eksekusi vektor inti dari Milvus yang menggabungkan beberapa pustaka pencarian kemiripan vektor termasuk Faiss, Hnswlib, dan Annoy. Knowhere juga dirancang untuk mendukung komputasi heterogen. Knowhere mengontrol perangkat keras mana (CPU atau GPU) yang akan mengeksekusi pembuatan indeks dan permintaan pencarian. Inilah bagaimana Knowhere mendapatkan namanya - mengetahui di mana harus menjalankan operasi.

Cuplikan log

Snapshot log adalah log biner, sebuah unit yang lebih kecil dalam segmen yang mencatat dan menangani pembaruan dan perubahan yang dilakukan pada data di Milvus. Data dari sebuah segmen disimpan dalam beberapa binlog. Ada tiga jenis binlog di Milvus: InsertBinlog, DeleteBinlog, dan DDLBinlog. Untuk informasi lebih lanjut, lihat Penyimpanan Meta.

Jenis metrik

Jenis metrik kemiripan digunakan untuk mengukur kemiripan antar vektor. Saat ini, Milvus mendukung jenis metrik Euclidean distance (L2), Inner product (IP), Cosine similarity (COSINE), dan biner. Anda dapat memilih jenis metrik yang paling tepat berdasarkan skenario Anda. Untuk informasi lebih lanjut, lihat Metrik Kemiripan.

MemoryBuffer

MemoryBuffer adalah mode penerapan Woodpecker yang ringan yang untuk sementara menyangga penulisan yang masuk di memori dan secara berkala membuangnya ke penyimpanan objek cloud. Mode ini paling cocok untuk beban kerja yang banyak dalam penerapan skala kecil atau lingkungan produksi yang memprioritaskan kesederhanaan daripada kinerja. Untuk informasi lebih lanjut, lihat Arsitektur Woodpecker.

Mmap

File yang dipetakan memori memungkinkan penanganan data yang efisien dengan memetakan konten file secara langsung ke dalam memori. Hal ini sangat berguna terutama ketika memori terbatas dan memuat semua data tidak memungkinkan. Teknik ini dapat meningkatkan kapasitas data dan mempertahankan kinerja hingga titik tertentu. Namun, jika data sangat melebihi kapasitas memori, kecepatan pencarian dan kueri dapat menurun secara signifikan. Untuk informasi lebih lanjut, lihat Penyimpanan Data yang mendukung MMap.

Cadangan Milvus

Milvus Backup adalah alat untuk membuat salinan data, yang dapat digunakan untuk memulihkan data asli setelah peristiwa kehilangan data.

Milvus CDC

Milvus CDC (change data capture) adalah alat yang digunakan untuk mereplikasi perubahan data dari satu cluster Milvus ke cluster lainnya untuk pemulihan bencana siaga utama.

Milvus CLI

Milvus Command-Line Interface (CLI) adalah alat bantu 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 dalam Milvus 2.x.

Cluster Milvus

Dalam penerapan cluster Milvus, layanan disediakan oleh sekelompok node untuk mencapai ketersediaan yang tinggi dan skalabilitas yang mudah.

Milvus mandiri

Dalam penerapan Milvus secara mandiri, semua operasi termasuk penyisipan data, pembuatan indeks, dan pencarian kemiripan vektor diselesaikan dalam satu proses.

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 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 Mengelola 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 mengizinkan sistem melewati partisi yang tidak relevan selama kueri yang difilter oleh bidang kunci partisi. Untuk informasi lebih lanjut, lihat Menggunakan Kunci Partisi.

PChannel

PChannel adalah singkatan dari saluran fisik. Setiap PChannel berhubungan dengan aliran WAL yang dikelola oleh Woodpecker. Secara default, sekelompok PChannel akan ditugaskan untuk menyimpan log yang merekam penyisipan, penghapusan, dan pembaruan data ketika cluster Milvus dimulai. Untuk informasi lebih lanjut, lihat Layanan Streaming.

PyMilvus

PyMilvus adalah SDK Python dari Milvus. Kode sumbernya bersumber terbuka dan dihosting di GitHub. Anda memiliki fleksibilitas untuk memilih MilvusClient (Python SDK versi baru) atau modul ORM asli untuk berbicara dengan Milvus.

Query

Query adalah API yang melakukan pemfilteran 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 berfrekuensi tinggi yang peka terhadap latensi dan membutuhkan respons waktu nyata serta toleransi kesalahan yang kuat. Mode ini berfungsi sebagai penyangga penulisan berkecepatan tinggi dengan penulisan kuorum tiga replika, memastikan konsistensi yang kuat dan ketersediaan yang tinggi. Untuk informasi lebih lanjut, lihat Arsitektur Woodpecker.

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 koleksi sendiri yang mendefinisikan semua bidang 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 sebuah bidang. Untuk informasi lebih lanjut, lihat Mengelola Skema.

Pencarian adalah API yang melakukan operasi untuk melakukan pencarian kesamaan vektor, yang membutuhkan data vektor untuk pelaksanaannya. Untuk informasi lebih lanjut, lihat Pencarian Vektor Tunggal.

Segmen

Segmen adalah file data yang dibuat secara otomatis yang menyimpan data yang disisipkan. Sebuah koleksi dapat berisi beberapa segmen, dan setiap segmen dapat menyimpan banyak entitas. Selama pencarian kemiripan vektor, Milvus memeriksa setiap segmen untuk menyusun hasil pencarian.

Ada dua jenis segmen: tumbuh dan tertutup. Segmen yang berkembang terus mengumpulkan data baru hingga mencapai ambang batas atau batas waktu tertentu, dan setelah itu segmen tersebut menjadi tertutup. Setelah disegel, segmen tidak lagi menerima data baru dan dipindahkan ke penyimpanan objek. Sementara itu, data yang masuk dialihkan ke segmen baru yang sedang tumbuh. Transisi dari segmen yang sedang tumbuh ke segmen yang disegel dipicu baik dengan mencapai batas entitas yang telah ditentukan atau dengan melebihi durasi maksimum yang diizinkan dalam keadaan tumbuh. Untuk informasi lebih lanjut, lihat Detail Desain.

Konektor Spark-Milvus

Spark-Milvus Connector menyediakan integrasi tanpa batas antara Apache Spark dan Milvus, yang menggabungkan fitur pemrosesan data dan machine learning (ML) dari Apache Spark dengan penyimpanan data vektor dan kemampuan pencarian Milvus.

Pecahan

Milvus meningkatkan performa penulisan data dengan mendistribusikan operasi penulisan di beberapa node menggunakan shard, yang diatur berdasarkan hashing kunci utama. Hal ini memanfaatkan kemampuan komputasi paralel cluster.

Partisi berfungsi untuk mengurangi beban baca dengan menentukan nama partisi, sementara sharding menyebarkan beban tulis di antara beberapa server.

Vektor jarang

Vektor jarang merepresentasikan kata atau frasa menggunakan penyematan vektor yang sebagian besar elemennya bernilai nol, dengan hanya satu elemen bukan nol yang menunjukkan keberadaan kata tertentu. Model vektor jarang, seperti SPLADEv2, mengungguli model padat dalam pencarian pengetahuan di luar domain, kesadaran kata kunci, dan kemampuan penafsiran. Untuk informasi lebih lanjut, lihat Vektor Jarang.

Layanan Streaming

Layanan Streaming adalah sebuah konsep untuk modul sistem streaming internal Milvus, yang dibangun di sekitar Write-Ahead Log (WAL) untuk mendukung berbagai fungsi yang berhubungan dengan streaming. Ini termasuk konsumsi/langganan data streaming, pemulihan kesalahan status cluster, konversi data streaming menjadi data historis, dan kueri data yang terus bertambah. Layanan ini terdiri dari komponen Streaming Coordinator, Streaming Node Cluster, dan Streaming Client. 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 ditetapkan sebelumnya. Jenis data ini menyumbang 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 pecahan dalam sebuah koleksi. Setiap koleksi akan diberikan sekelompok VChannel untuk merekam 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 penyematan adalah abstraksi fitur dari data yang tidak terstruktur, seperti email, data sensor IoT, foto Instagram, struktur protein, dan lainnya. Secara matematis, vektor penyematan adalah susunan angka floating-point atau biner. Teknik penyematan modern digunakan untuk mengubah data yang tidak terstruktur menjadi vektor penyematan. Milvus mendukung vektor padat dan vektor jarang sejak 2.4.0.

Penyimpanan WAL

Penyimpanan Write-Ahead Log (WAL) adalah fondasi ketahanan dan konsistensi data dalam sistem terdistribusi. Sebelum perubahan dilakukan, perubahan tersebut terlebih dahulu dicatat dalam log-memastikan bahwa, jika terjadi kegagalan, Anda dapat memulihkan tepat di tempat yang Anda tinggalkan. 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 penyebaran (MemoryBuffer dan QuorumBuffer), Woodpecker memberikan throughput yang tinggi, overhead operasional yang rendah, dan skalabilitas tanpa batas 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 optimal.