Batasi Jumlah Koleksi
Sebuah instance Milvus memungkinkan hingga 65.536 koleksi. Namun, koleksi yang terlalu banyak dapat menyebabkan masalah kinerja. Oleh karena itu, disarankan untuk membatasi jumlah koleksi yang dibuat dalam sebuah instans Milvus.
Panduan ini menyediakan instruksi tentang cara menetapkan batasan jumlah koleksi dalam sebuah instans Milvus.
Konfigurasi bervariasi tergantung pada cara Anda menginstal instans Milvus.
Untuk instans Milvus yang diinstal menggunakan Helm Charts
Tambahkan konfigurasi ke file
values.yamldi bawah bagianconfig. Untuk detailnya, lihat Mengonfigurasi Milvus dengan Helm Charts.Untuk instans Milvus yang diinstal menggunakan Docker Compose
Tambahkan konfigurasi ke berkas
milvus.yamlyang Anda gunakan untuk memulai instans Milvus. Untuk detailnya, lihat Mengkonfigurasi Milvus dengan Docker Compose.Untuk instans Milvus yang diinstal menggunakan Operator
Tambahkan konfigurasi ke bagian
spec.componentspada sumber daya kustomMilvus. Untuk detailnya, lihat Mengkonfigurasi Milvus dengan Operator.
Opsi konfigurasi
rootCoord:
maxGeneralCapacity: 65536
quotaAndLimits:
limits:
maxCollectionNum: 65536
maxCollectionNumPerDB: 65536
Untuk mengubah batas pengumpulan, Anda perlu memodifikasi ketiga parameter secara bersamaan:
| Parameter | Deskripsi | Nilai Default |
|---|---|---|
rootCoord.maxGeneralCapacity | Jumlah maksimum unit koleksi (pecahan × partisi) yang dapat ditampung oleh instans saat ini. | 65536 |
quotaAndLimits.limits.maxCollectionNum | Jumlah maksimum koleksi yang diizinkan di semua database dalam instance saat ini. | 65536 |
quotaAndLimits.limits.maxCollectionNumPerDB | Jumlah maksimum koleksi yang diizinkan dalam satu database. | 65536 |
Misalnya, untuk meningkatkan batas hingga 200.000 koleksi:
rootCoord:
maxGeneralCapacity: 200000
quotaAndLimits:
limits:
maxCollectionNum: 200000
maxCollectionNumPerDB: 200000
Mengatur hanya maxGeneralCapacity tanpa menyesuaikan maxCollectionNum dan maxCollectionNumPerDB tidak akan berpengaruh. Ketiga parameter harus diatur ke nilai yang sama atau lebih tinggi untuk meningkatkan batas koleksi.
Menghitung jumlah koleksi
Dalam sebuah koleksi, Anda dapat mengatur beberapa pecahan dan partisi. Pecahan adalah unit logika yang digunakan untuk mendistribusikan operasi penulisan data di antara beberapa simpul data. Partisi adalah unit logika yang digunakan untuk meningkatkan efisiensi pengambilan data dengan hanya memuat sebagian data koleksi. Ketika menghitung jumlah koleksi dalam instance Milvus saat ini, Anda juga perlu menghitung pecahan dan partisi.
Sebagai contoh, anggaplah Anda telah membuat 100 koleksi, dengan 2 pecahan dan 4 partisi di 60 koleksi dan dengan 1 pecahan dan 12 partisi di 40 koleksi lainnya. Jumlah total unit koleksi (dihitung sebagai shards × partitions) dapat ditentukan sebagai berikut:
60 (collections) x 2 (shards) x 4 (partitions) + 40 (collections) x 1 (shard) x 12 (partitions) = 960
Dalam contoh ini, jumlah total 960 unit koleksi yang dihitung mewakili penggunaan saat ini. maxGeneralCapacity mendefinisikan jumlah maksimum unit koleksi yang dapat didukung oleh sebuah instans, yang diatur ke 65536 secara default. Ini berarti instance dapat menampung hingga 65.536 unit koleksi. Jika jumlah total melebihi batas ini, sistem akan menampilkan pesan kesalahan berikut:
failed checking constraint: sum_collections(parition*shard) exceeding the max general capacity:
Untuk menghindari kesalahan ini, Anda bisa mengurangi jumlah pecahan atau partisi dalam koleksi yang sudah ada atau yang baru, menghapus beberapa koleksi, atau meningkatkan batas koleksi dengan memodifikasi maxGeneralCapacity, maxCollectionNum, dan maxCollectionNumPerDB secara bersamaan.