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