إنشاء أقسام
يُتيح لك Milvus تقسيم بيانات الفيكتور إلى عدة أقسام. يمكن تقييد البحث والعمليات الأخرى إلى قسم واحد لتحسين الأداء.
يتكون المجموعة من قسم واحد أو أكثر. عند إنشاء مجموعة جديدة، سيقوم Milvus بإنشاء قسم افتراضي يُسمى _default
.
يُنشأ القسم novel
في المجموعة book
في المثال التالي.
from pymilvus import Collection
collection = Collection("book") # الحصول على مجموعة موجودة
collection.create_partition("novel")
المعامل | الوصف |
---|---|
partition_name |
اسم القسم الذي سيتم إنشاؤه. |
description (اختياري) |
وصف القسم الذي سيتم إنشاؤه. |
القيود
الميزة | الحد الأقصى |
---|---|
عدد الأقسام في مجموعة | 4,096 |
التحقق من وجود قسم
التحقق مما إذا كان القسم موجودًا في المجموعة المحددة.
from pymilvus import Collection
collection = Collection("book") # الحصول على مجموعة موجودة
collection.has_partition("novel")
عرض جميع الأقسام
from pymilvus import Collection
collection = Collection("book") # الحصول على مجموعة موجودة
collection.partitions
حذف قسم
from pymilvus import Collection
collection.drop_partition("novel")
تحميل قسم
يُمكن تحميل قسم في الذاكرة بدلاً من تحميل المجموعة بأكملها مما يُمكن أن يُقلل بشكل كبير من استخدام الذاكرة. جميع عمليات البحث والاستعلام في Milvus تُنفذ في الذاكرة.
ابتداءً من الإصدار 2.3.0، قام Milvus بتحسين عمليات تقسيمه ويدعم عمليات التحميل والإفراج التتابعية. وهذا يعني أنه يُمكنك إجراء أي مجموعة من العمليات التالية:
- تحميل مجموعة محملة.
- تحميل مجموعة، ثم تحميل أقسام محددة في المجموعة.
- تحميل قسم ثم تحميل المجموعة التي ينتمي القسم إليها.
- تحميل قسم وإعادة تحميله قبل الإفراج عنه.
يُتيح Milvus للمستخدمين تحميل الأقسام كتكرارات متعددة للاستفادة من موارد وحدات المعالجة المركزية والذاكرة للعقد الإضافية. يُدعم هذه الميزة في الإصدار الحالي من خلال PyMilvus.
from pymilvus import Collection
collection = Collection("book") # الحصول على مجموعة موجودة
collection.load(["novel"], replica_number=2)
from pymilvus import Partition
partition = Partition("novel") # الحصول على قسم موجود
partition.load(replica_number=2)
الحصول على معلومات النسخة المتماثلة
يُمكنك عرض معلومات حول النُسخ المُحملة.
from pymilvus import Partition
partition = Partition("novel") # الحصول على قسم موجود
partition.load(replica_number=2) # تحميل القسم بـ 2 نُسخة متطابقة
result = partition.get_replicas()
print(result)
إفراج عن قسم
كيفية إفراج عن قسم من الذاكرة بعد عملية بحث أو استعلام لتقليل استخدام الذاكرة.
ابتداءً من الإصدار 2.3.0، قام Milvus بتحسين عمليات تقسيمه ويدعم عمليات التحميل والإفراج التتابعية. وهذا يعني أنه يُمكنك إجراء أي مجموعة من العمليات التالية:
- إفراج عن مجموعة محملة.
- إفراج عن أقسام محددة في مجموعة محملة.
- إفراج عن قسم محمل.
- إفراج عن أقسام محملة جزئيًا في مجموعة.
from pymilvus import Partition
partition = Partition("novel") # الحصول على قسم موجود
partition.release()