加载 Partition
本章介绍如何将 partition 加载到内存中。将 partition 而不是整个 collection 加载到内存可以显着减少内存使用量。 Milvus 中的所有搜索和查询操作都在内存中执行。
在当前版本中,要加载的数据量必须低于所有查询节点总内存资源的 90%,以便为执行引擎预留内存资源。
from pymilvus import Collection
collection = Collection("book") # 获取已存在的collection。
collection.load(["novel"])
# Or you can load a partition with the partition as an object
from pymilvus import Partition
partition = Partition("novel") # 获取已存在的collection。
partition.load()
await milvusClient.partitionManager.loadPartitions({
collection_name: "book",
partition_names: ["novel"],
});
err := milvusClient.LoadPartitions(
context.Background(), // ctx
"book", // CollectionName
[]string{"novel"}, // partitionNames
false // async
)
if err != nil {
log.Fatal("failed to load partitions:", err.Error())
}
milvusClient.loadPartitions(
LoadPartitionsParam.newBuilder()
.withCollectionName("book")
.withPartitionNames(["novel"])
.build());
load -c book -p novel
参数
描述
partition_name
partition 的名称。
参数
描述
collection_name
partition 所属 collection 的名称。
partition_names
待加载的 partition 列表。
参数
描述
ctx
控制 API 调用过程的上下文。
CollectionName
partition 所属 collection 的名称。
partitionNames
待加载的 partition 列表。
async
Switch to control sync/async behavior. The deadline of context is not applied in sync load.
参数
描述
CollectionName
partition 所属 collection 的名称。
PartitionNames
待加载的 partition 列表。
参数
描述
-c
partition 所属 collection 的名称。
-p (Multiple)
待加载的 partition
使用限制
当 collection 已加载时,尝试加载 该collection 中的 partition 将返回错误。未来的版本将支持从已加载的 collection 中释放 partitions,然后(如果需要)加载其他一些分区。
尝试加载已加载的 collection 时将返回“加载成功”。
当 partition 已加载时,尝试加载 collection 时将返回错误。未来版本将支持在其某些 partition 已加载时加载 collection。
不允许通过多个 RPC 加载同一个 collection 的不同 partition。
What's next
学习 Milvus 更多基础操作:
探索 Milvus SDKs 中的 API: