Tạo Phân vùng
Chủ đề này mô tả cách tạo phân vùng trong Milvus.
Milvus cho phép phân chia hầu hết dữ liệu vector thành một số phân vùng nhỏ. Điều này giúp hạn chế tìm kiếm và các hoạt động khác chỉ trong một phân vùng, tăng hiệu suất.
Một bộ sưu tập bao gồm một hoặc nhiều phân vùng. Khi tạo một bộ sưu tập mới, Milvus sẽ tạo một phân vùng mặc định, _default
. Để biết thêm thông tin, xem từ ngữ - Phân vùng.
Ví dụ sau tạo một phân vùng có tên novel
trong bộ sưu tập book
.
err := milvusClient.CreatePartition(
context.Background(), // ctx
"book", // CollectionName
"novel" // partitionName
)
if err != nil {
log.Fatal("Failed to create partition: ", err.Error())
}
Tham số | Mô tả |
---|---|
ctx |
Ngữ cảnh để kiểm soát quá trình gọi API. |
CollectionName |
Tên của bộ sưu tập trong đó tạo phân vùng. |
partitionName |
Tên của phân vùng cần tạo. |
Giới Hạn
Tính năng | Giới hạn tối đa |
---|---|
Số lượng phân vùng trong một bộ sưu tập duy nhất | 4,096 |
Xác minh Sự Tồn Tại của Một Phân vùng
Xác minh xem một phân vùng cụ thể có tồn tại trong một bộ sưu tập hay không.
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)
Liệt kê Tất Cả Các Phân Vùng
listPar, err := milvusClient.ShowPartitions(
context.Background(), // ctx
"book", // CollectionName
)
if err != nil {
log.Fatal("Failed to list partitions: ", err.Error())
}
log.Println(listPar)
Xóa Một Phân Vùng
err := milvusClient.DropPartition(
context.Background(), // ctx
"book", // CollectionName
"novel", // partitionName
)
if err != nil {
log.Fatal("Failed to delete partition: ", err.Error())
}
Tải Một Phân Vùng
Milvus cho phép người dùng tải các phân vùng dưới dạng nhiều bản sao để tận dụng tài nguyên CPU và bộ nhớ của các nút truy vấn bổ sung, nâng cao tổng QPS và thông lượng.
err := milvusClient.LoadPartitions(
context.Background(), // ctx
"book", // CollectionName
[]string{"novel"}, // partitionNames
false // async
)
if err != nil {
log.Fatal("Failed to load partitions: ", err.Error())
}
Giải Phóng Một Phân Vùng
err := milvusClient.ReleasePartitions(
context.Background(), // ctx
"book", // CollectionName
[]string{"novel"} // partitionNames
)
if err != nil {
log.Fatal("Failed to release partitions: ", err.Error())
}