ایجاد پارتیشنها
در این بخش، نحوهی ایجاد پارتیشنها در Milvus توضیح داده شده است.
Milvus امکان تقسیم اکثر دادههای برداری را به تعداد کمی از پارتیشنها فراهم میکند. این امکان را فراهم میکند که جستجو و سایر عملیاتها محدود به یک پارتیشن باشند و بهبود عملکرد را ایجاد کنند.
یک مجموعه از یک یا چند پارتیشن تشکیل شده است. هنگام ایجاد یک مجموعه جدید، Milvus یک پارتیشن پیشفرض به نام _default
ایجاد میکند. برای اطلاعات بیشتر، به فهرست مصطلحات - پارتیشن مراجعه کنید.
مثال زیر یک پارتیشن به نام novel
در مجموعه book
ایجاد میکند.
err := milvusClient.CreatePartition(
context.Background(), // ctx
"book", // CollectionName
"novel" // partitionName
)
if err != nil {
log.Fatal("Failed to create partition: ", err.Error())
}
پارامتر | توضیحات |
---|---|
ctx |
زمینه برای کنترل فرآیند فراخوانی API. |
CollectionName |
نام مجموعه که پارتیشن در آن ایجاد خواهد شد. |
partitionName |
نام پارتیشن برای ایجاد. |
محدودیتها
قابلیت | حداکثر محدودیت |
---|---|
تعداد پارتیشنها در یک مجموعه انفرادی | 4,096 |
تأیید وجود یک پارتیشن
تأیید کنید که آیا یک پارتیشن مشخص در یک مجموعه وجود دارد یا خیر.
hasPar, err := milvusClient.HasPartition(
context.Background(), // ctx
"book", // CollectionName
"novel", // partitionName
)
if err != nil {
log.Fatal("Failed to check partition: ", err.Error())
}
log.Println(hasPar)
لیستکردن تمام پارتیشنها
listPar, err := milvusClient.ShowPartitions(
context.Background(), // ctx
"book", // CollectionName
)
if err != nil {
log.Fatal("Failed to list partitions: ", err.Error())
}
log.Println(listPar)
حذف کردن یک پارتیشن
err := milvusClient.DropPartition(
context.Background(), // ctx
"book", // CollectionName
"novel", // partitionName
)
if err != nil {
log.Fatal("Failed to delete partition: ", err.Error())
}
بارگذاری یک پارتیشن
Milvus به کاربران اجازه میدهد تا پارتیشنها را به عنوان چندین کپی بارگذاری کنند تا از منابع CPU و حافظه نودهای پرسوجوی اضافی بهره برده و سرعت QPS و توانایی کلی را افزایش دهند.
err := milvusClient.LoadPartitions(
context.Background(), // ctx
"book", // CollectionName
[]string{"novel"}, // partitionNames
false // async
)
if err != nil {
log.Fatal("Failed to load partitions: ", err.Error())
}
آزاد کردن یک پارتیشن
err := milvusClient.ReleasePartitions(
context.Background(), // ctx
"book", // CollectionName
[]string{"novel"} // partitionNames
)
if err != nil {
log.Fatal("Failed to release partitions: ", err.Error())
}