限制 Collection 数
Milvus 实例最多允许 65,536 个集合。不过,过多的收藏集可能会导致性能问题。因此,建议限制在 Milvus 实例中创建的集合数量。
本指南说明了如何设置 Milvus 实例中的收藏集数量限制。
配置因安装 Milvus 实例的方式而异。
对于使用 Helm Charts 安装的 Milvus 实例
将配置添加到
values.yaml
文件的config
部分。有关详细信息,请参阅使用 Helm Charts 配置 Milvus。对于使用 Docker Compose 安装的 Milvus 实例
将配置添加到用于启动 Milvus 实例的
milvus.yaml
文件。有关详细信息,请参阅使用 Docker Compose 配置 Milvus。对于使用 Operator 安装的 Milvus 实例
将配置添加到
Milvus
自定义资源的spec.components
部分。有关详情,请参阅使用 Operator 配置 Milvus。
配置选项
rootCoord:
maxGeneralCapacity: 1024
maxGeneralCapacity
参数设置当前 Milvus 实例可容纳的最大集合数。默认值为1024
。
计算集合数
在一个集合中,可以设置多个分片和分区。分片是用于在多个数据节点之间分配数据写入操作的逻辑单元。分区是逻辑单元,用于通过只加载集合数据的子集来提高数据检索效率。计算当前 Milvus 实例中的集合数量时,还需要计算分片和分区。
例如,假设您已经创建了100 个集合,其中60 个集合有2个分块和4 个分区,其余40 个集合有1 个分块和12 个分区。当前的集合数可以计算为
60 (collections) x 2 (shards) x 4 (partitions) + 40 (collections) x 1 (shard) x 12 (partitions) = 960
在上例中,您已经使用了默认限制中的960 个。现在如果想创建一个有4个分区和20 个分区的新集合,就会收到以下错误提示,因为集合总数超过了最大容量:
failed checking constraint: sum_collections(parition*shard) exceeding the max general capacity:
要避免此错误,可以减少现有或新集合中的分片或分区数量,删除某些集合,或增加maxGeneralCapacity
值。