ایجاد بخشها
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 به کاربران این امکان را میدهد که بخشها را به عنوان چندین نسخه تکراری بارگذاری کنند تا از منابع CPU و حافظه نودهای پرس و جو اضافی بهره ببرند. این قابلیت از طریق 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()