ایجاد پارتیشن‌ها

در این بخش، نحوه‌ی ایجاد پارتیشن‌ها در 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())
}