用途:为 Qdrant 多租户场景提供扩展策略指导,回答如何扩展租户、是否一租户一集合、租户隔离、专用分片等问题。
主要能力与建议:
- 不要为每个租户创建独立集合。该方式在超过数百租户后难以扩展且浪费资源;资料提到有公司在按仓库建集合一年后触及 1000 集合上限,被迫迁移到 payload 分区。应使用共享集合加租户键。
- 租户数约 1 万:使用默认多租户策略,即 payload 过滤;参考 Partition by payload 与 Calibrate performance 的最佳实践优化索引与查询性能。
- 租户数约 10 万及以上:集群可能包含多个 peer,使用自定义分片,按租户 ID 哈希将租户分配到特定分片,使租户请求本地化到特定节点,而非广播到所有节点,从而提升性能并降低各节点负载。
- 租户规模不均:使用分层多租户,将大租户提升到专用分片,小租户保留在共享分片,优化资源分配与性能。
- 需要严格租户隔离:仅在法律或合规要求每租户加密或超出 payload 过滤能力的严格隔离时使用。可能需要多个集合以支持每租户加密密钥;同时限制集合数量,并在每个集合内使用 payload 过滤。这是例外而非常规做法。
禁止事项:无合规理由不要一租户一集合(无法扩展到数百以上);租户索引不要漏掉 is_tenant=true(会破坏顺序读性能);多租户集合不要构建全局 HNSW(浪费资源,应使用 payload_m)。
限制:资料未提供具体版本要求、配置代码、性能基准或收费信息。