الحد من عدد المجموعات
يسمح مثيل Milvus بحد أقصى 65,536 مجموعة. ومع ذلك، قد يؤدي وجود عدد كبير جدًا من المجموعات إلى حدوث مشكلات في الأداء. لذلك، يوصى بالحد من عدد المجموعات التي تم إنشاؤها في مثيل Milvus.
يوفر هذا الدليل إرشادات حول كيفية تعيين حدود لعدد المجموعات في مثيل Milvus.
يختلف التكوين باختلاف طريقة تثبيت مثيل Milvus.
لمثيلات Milvus المثبتة باستخدام مخططات Helm
أضف التكوين إلى الملف
values.yamlضمن القسمconfig. للحصول على التفاصيل، راجع تكوين Milvus باستخدام مخططات Helm Charts.لمثيلات Milvus المثبتة باستخدام Docker Compose
أضف التكوين إلى الملف
milvus.yamlالذي استخدمته لبدء تشغيل مثيل Milvus. للحصول على التفاصيل، راجع تكوين Milvus باستخدام Docker Compose.لمثيلات Milvus المثبتة باستخدام المشغل
أضف التكوين إلى قسم
spec.componentsفي المورد المخصصMilvus. للحصول على التفاصيل، راجع تكوين Milvus مع المشغل.
خيارات التكوين
rootCoord:
maxGeneralCapacity: 65536
quotaAndLimits:
limits:
maxCollectionNum: 65536
maxCollectionNumPerDB: 65536
لتغيير حد التجميع، تحتاج إلى تعديل المعلمات الثلاثة معًا:
| المعلمة | الوصف | القيمة الافتراضية |
|---|---|---|
rootCoord.maxGeneralCapacity | الحد الأقصى لعدد وحدات التجميع (أجزاء × أقسام) التي يمكن للمثيل الحالي الاحتفاظ بها. | 65536 |
quotaAndLimits.limits.maxCollectionNum | الحد الأقصى لعدد المجموعات المسموح بها في كافة قواعد البيانات في المثيل الحالي. | 65536 |
quotaAndLimits.limits.maxCollectionNumPerDB | الحد الأقصى لعدد المجموعات المسموح به في قاعدة بيانات واحدة. | 65536 |
على سبيل المثال، لزيادة الحد إلى 200,000 مجموعة:
rootCoord:
maxGeneralCapacity: 200000
quotaAndLimits:
limits:
maxCollectionNum: 200000
maxCollectionNumPerDB: 200000
لن يسري مفعول الإعداد maxGeneralCapacity فقط دون ضبط maxCollectionNum و maxCollectionNumPerDB. يجب ضبط جميع المعلمات الثلاث على نفس القيمة أو أعلى لزيادة حد المجموعات.
حساب عدد المجموعات
في المجموعة، يمكنك إعداد أجزاء وأقسام متعددة. الأجزاء هي وحدات منطقية تُستخدم لتوزيع عمليات كتابة البيانات بين عقد بيانات متعددة. أما الأقسام فهي وحدات منطقية تستخدم لتحسين كفاءة استرجاع البيانات عن طريق تحميل مجموعة فرعية فقط من بيانات المجموعة. عند حساب عدد المجموعات في مثيل Milvus الحالي، تحتاج أيضًا إلى حساب الأجزاء والأقسام.
على سبيل المثال، لنفترض أنك قمت بالفعل بإنشاء 100 مجموعة، مع وجود جزأين و4 أقسام في 60 منها وجزء واحد و12 قسمًا في الـ40 مجموعة المتبقية. يمكن تحديد العدد الإجمالي لوحدات التجميع (محسوبًا على shards × partitions) على النحو التالي:
60 (collections) x 2 (shards) x 4 (partitions) + 40 (collections) x 1 (shard) x 12 (partitions) = 960
في هذا المثال، يمثل المجموع المحسوب البالغ 960 وحدة تجميع يمثل الاستخدام الحالي. يحدد maxGeneralCapacity الحد الأقصى لعدد وحدات التجميع التي يمكن أن يدعمها المثيل، والذي يتم تعيينه على 65536 افتراضيًا. وهذا يعني أن المثيل يمكنه استيعاب ما يصل إلى 65,536 وحدة تجميع. إذا تجاوز العدد الإجمالي هذا الحد، سيعرض النظام رسالة الخطأ التالية:
failed checking constraint: sum_collections(parition*shard) exceeding the max general capacity:
لتجنب هذا الخطأ، يمكنك إما تقليل عدد الأجزاء أو الأقسام في المجموعات الحالية أو الجديدة، أو حذف بعض المجموعات، أو زيادة حد المجموعة عن طريق تعديل maxGeneralCapacity و maxCollectionNum و maxCollectionNumPerDB معًا.