Penjelasan Koleksi
Di Milvus, Anda dapat membuat beberapa koleksi untuk mengelola data Anda, dan memasukkan data Anda sebagai entitas ke dalam koleksi. Koleksi dan entitas mirip dengan tabel dan record dalam database relasional. Halaman ini membantu anda untuk mempelajari tentang koleksi dan konsep-konsep terkait.
Koleksi
Koleksi adalah tabel dua dimensi dengan kolom tetap dan baris yang bervariasi. Setiap kolom mewakili sebuah field, dan setiap baris mewakili sebuah entitas.
Bagan berikut ini menunjukkan sebuah koleksi dengan delapan kolom dan enam entitas.
Koleksi dijelaskan
Skema dan Field
Ketika mendeskripsikan sebuah objek, kita biasanya menyebutkan atributnya, seperti ukuran, berat, dan posisi. Anda dapat menggunakan atribut-atribut ini sebagai field dalam koleksi. Setiap field memiliki berbagai properti yang membatasi, seperti tipe data dan dimensi field vektor. Anda dapat membentuk skema koleksi dengan membuat bidang dan menentukan urutannya. Untuk kemungkinan tipe data yang dapat diterapkan, lihat Penjelasan Skema.
Anda harus menyertakan semua bidang yang ditentukan skema dalam entitas yang akan disisipkan. Untuk membuat beberapa di antaranya opsional, pertimbangkan
Membuatnya dapat dinolkan atau menetapkan nilai default
Untuk detail tentang cara membuat bidang dapat dinullkan atau menetapkan nilai default, lihat Nullable & Default.
Mengaktifkan bidang dinamis
Untuk detail tentang cara mengaktifkan dan menggunakan bidang dinamis, lihat Bidang Dinamis.
Kunci utama dan Identitas Otomatis
Mirip dengan field utama dalam database relasional, sebuah koleksi memiliki field utama untuk membedakan suatu entitas dengan entitas lainnya. Setiap nilai dalam field utama bersifat unik secara global dan berhubungan dengan satu entitas tertentu.
Seperti yang ditunjukkan pada bagan di atas, field bernama id berfungsi sebagai field utama, dan ID 0 pertama berhubungan dengan entitas berjudul Tingkat Kematian Virus Corona Tidak Penting. Tidak akan ada entitas lain yang memiliki field utama 0.
Bidang utama hanya menerima bilangan bulat atau string. Saat memasukkan entitas, Anda harus menyertakan nilai field utama secara default. Namun, jika Anda telah mengaktifkan AutoId pada saat pembuatan koleksi, Milvus akan menghasilkan nilai-nilai tersebut pada saat penyisipan data. Dalam kasus seperti itu, kecualikan nilai field utama dari entitas yang akan dimasukkan.
Untuk informasi lebih lanjut, silakan lihat Bidang Utama & AutoID.
Indeks
Membuat indeks pada field tertentu dapat meningkatkan efisiensi pencarian. Anda disarankan untuk membuat indeks untuk semua bidang yang diandalkan oleh layanan Anda, di antaranya indeks pada bidang vektor adalah wajib.
Entitas
Entitas adalah rekaman data yang memiliki kumpulan bidang yang sama dalam koleksi. Nilai-nilai di semua bidang pada baris yang sama membentuk sebuah entitas.
Anda dapat memasukkan entitas sebanyak yang Anda butuhkan ke dalam koleksi. Namun, seiring bertambahnya jumlah entitas, ukuran memori yang dibutuhkan juga bertambah, sehingga memengaruhi kinerja pencarian.
Untuk informasi lebih lanjut, lihat Penjelasan Skema.
Memuat dan Melepaskan
Memuat koleksi adalah prasyarat untuk melakukan pencarian kesamaan dan kueri dalam koleksi. Ketika Anda memuat koleksi, Milvus memuat semua berkas indeks dan data mentah di setiap bidang ke dalam memori untuk respons cepat terhadap pencarian dan kueri.
Pencarian dan kueri adalah operasi yang memakan banyak memori. Untuk menghemat biaya, Anda disarankan untuk melepaskan koleksi yang sedang tidak digunakan.
Untuk detail lebih lanjut, lihat Memuat & Melepaskan.
Pencarian dan Kueri
Setelah Anda membuat indeks dan memuat koleksi, Anda dapat memulai pencarian kemiripan dengan memasukkan satu atau beberapa vektor kueri. Misalnya, ketika menerima representasi vektor kueri Anda yang dibawa dalam permintaan pencarian, Milvus menggunakan jenis metrik yang ditentukan untuk mengukur kemiripan antara vektor kueri dan vektor yang ada di koleksi target sebelum mengembalikan vektor yang secara semantik mirip dengan kueri.
Anda juga dapat menyertakan pemfilteran metadata dalam penelusuran dan kueri untuk meningkatkan relevansi hasil. Perhatikan bahwa, kondisi pemfilteran metadata bersifat wajib dalam kueri, tetapi opsional dalam penelusuran.
Untuk detail tentang jenis metrik yang berlaku, lihat Jenis Metrik.
Untuk informasi lebih lanjut tentang pencarian dan kueri, lihat artikel di bab Pencarian & Perangkingan, di antaranya, fitur-fitur dasar.
Selain itu, Milvus juga menyediakan perangkat tambahan untuk meningkatkan kinerja dan efisiensi pencarian. Fitur-fitur ini dinonaktifkan secara default, dan Anda dapat mengaktifkan dan menggunakannya sesuai dengan kebutuhan layanan Anda. Fitur-fitur tersebut adalah
Partisi
Partisi adalah himpunan bagian dari koleksi, yang berbagi himpunan bidang yang sama dengan koleksi induknya, masing-masing berisi himpunan bagian entitas.
Dengan mengalokasikan entitas ke dalam partisi yang berbeda, Anda dapat membuat grup entitas. Anda dapat melakukan pencarian dan kueri di partisi tertentu agar Milvus mengabaikan entitas di partisi lain, dan meningkatkan efisiensi pencarian.
Untuk detailnya, lihat Mengelola Partisi.
Pecahan
Pecahan adalah irisan horisontal dari sebuah koleksi. Setiap pecahan berhubungan dengan saluran input data. Setiap koleksi memiliki pecahan secara default. Anda dapat mengatur jumlah pecahan yang sesuai saat membuat koleksi berdasarkan keluaran yang diharapkan dan volume data yang akan dimasukkan ke dalam koleksi.
Untuk detail tentang cara mengatur nomor pecahan, lihat Membuat Koleksi.
Alias
Anda dapat membuat nama alias untuk koleksi Anda. Sebuah koleksi dapat memiliki beberapa alias, namun koleksi tidak dapat berbagi alias. Setelah menerima permintaan terhadap sebuah koleksi, Milvus akan mencari lokasi koleksi berdasarkan nama yang diberikan. Jika koleksi dengan nama yang diberikan tidak ada, Milvus akan terus mencari nama yang diberikan sebagai nama alias. Anda dapat menggunakan alias koleksi untuk menyesuaikan kode Anda dengan skenario yang berbeda.
Untuk lebih jelasnya, lihat Mengelola alias.
Fungsi
Anda dapat mengatur fungsi bagi Milvus untuk mendapatkan bidang pada saat pembuatan koleksi. Sebagai contoh, fungsi pencarian teks lengkap menggunakan fungsi yang ditentukan pengguna untuk mendapatkan bidang vektor jarang dari bidang varka tertentu. Untuk informasi lebih lanjut mengenai pencarian teks lengkap, lihat Pencarian Teks Lengkap.
Tingkat Konsistensi
Sistem basis data terdistribusi biasanya menggunakan tingkat konsistensi untuk menentukan kesamaan data di seluruh simpul data dan replika. Anda dapat menetapkan tingkat konsistensi terpisah saat membuat koleksi atau melakukan pencarian kesamaan di dalam koleksi. Tingkat konsistensi yang berlaku adalah Strong, Bounded Staleness, Session, dan Eventually.
Untuk detail tentang tingkat konsistensi ini, lihat Tingkat Konsistensi.
Batasan
Untuk batas dan larangan pada koleksi, lihat Batas & Larangan.