SuperAPI AI 工具集

qdrant-horizontal-scaling

数据与分析

查看项目

更新于 10-16 06:55

技能介绍

用途

当 Qdrant 需要更多容量时,该技能帮助判断并指导扩展决策,回答诸如「垂直还是水平?」「需要多少节点?」「需要多少分片?」「如何添加节点?」等问题。

主要能力与核心建议

垂直优先

垂直扩展更简单,无网络开销,根据维度和量化方式不同,单节点可良好支撑约 1 亿向量。以下情况才考虑水平扩展:数据超出单节点容量、需要容错、需要隔离租户,或受 IOPS 限制(更多节点意味着更多独立 IOPS)。

最基础的分布式配置

3 节点、3 分片,replication_factor: 2,用于零停机扩展。

  • 最少 3 个节点对于共识和容错很重要。3 节点时可以失去 1 个节点而不停机;2 节点时失去 1 个节点会导致集合操作停机。
  • 复制因子为 2 意味着每个分片有 1 个副本,即数据有 2 份拷贝,从而支持零停机扩展与维护。若 replication_factor 为 1,即使点级操作也无法保证零停机,集群维护需要停机。

选择分片数量

分片是数据分布的单元。更多分片允许更多节点和更好的分布,但会增加开销;更少分片减少开销,但限制水平扩展。

对于 3–6 节点的集群,推荐分片数为 6–12。这允许每节点 2–4 个分片,平衡分布与开销。

变更分片数量

适用场景:分片数不能被节点数整除导致分布不均,或需要重新平衡。

重新分片开销大、耗时长,应作为常规数据分布无法实现时的最后手段。重新分片设计上对用户操作透明,更新和搜索在重新分片期间仍可工作,但有少量性能影响。重新分片操作本身耗时,需要在节点间迁移大量数据。

Qdrant Cloud 提供重新分片功能,自托管部署不支持重新分片。更好的替代方案:初期就超额配置分片,或按正确配置新建集群并迁移数据。

不应做的事

  • 不要在耗尽垂直扩展手段前就跳到水平扩展(徒增复杂度而无收益)
  • 不要将 shard_number 设置为非节点数倍数的值(导致分布不均)
  • 如果需要容错,不要在生产环境使用 replication_factor: 1
  • 不要在未重新平衡分片的情况下添加节点(使用分片移动 API 重新分布)
  • 不要在未做负载测试的情况下缩减内存(缓存淘汰会导致持续数天的延迟事故)
  • 不要用「每租户一个集合」的方式撞上集合数量上限(应使用 payload 分区)

适用场景

适用于需要评估 Qdrant 扩展策略、规划集群节点与分片数量、判断是否需要以及何时进行重新分片的运维与架构场景。

限制

重新分片仅在 Qdrant Cloud 中提供,自托管部署暂未提供该功能;具体支持的版本信息资料中暂未提供。