Qdrant vs Weaviate(自托管,2026):你应该运行哪个向量数据库?
两款优秀的开源向量数据库,专为运行自己基础设施的团队对比。
对于自托管,Qdrant 是更轻量、部署更快的选择——Apache-2.0 许可证,使用 Rust 编写,一个 Docker 镜像,原生混合搜索,以及优异的性能宣称。Weaviate 是另一种“功能齐全”的选择——BSD-3-Clause 许可证,使用 Go 编写,内置向量化器模块和混合搜索,但生产部署依赖于 Kubernetes + Helm。如果你想要一个不碍事的向量引擎,选 Qdrant;如果你想要一个包含模块的意见性平台,选 Weaviate。本对比从运行自己基础设施的团队视角出发。
两者都是真正的开源,且都在任何候选列表中占有一席之地——这不是一个“赢家通吃”的对决。如需更广泛的视野,请参阅我们的最佳自托管向量数据库指南。
并排对比
| Qdrant | Weaviate | |
|---|---|---|
| 许可证 | Apache-2.0 | BSD-3-Clause |
| 核心语言 | Rust | Go |
| GitHub 星星数(2026年6月) | 32.4k | 16.3k |
| 混合搜索 | 原生——稠密+稀疏,RRF/融合在单个查询中 | 内置——向量+BM25 带融合在单个查询中 |
| 自托管(小规模) | 单个 qdrant/qdrant Docker 镜像 | Docker / docker-compose |
| 自托管(生产) | 分布式/集群 | Kubernetes + Helm |
| 托管云 | Qdrant Cloud —— 永久免费层级;按使用量付费 | Weaviate Cloud —— 免费 Sandbox;Flex 约 $45/月起 |
| 内置向量化器模块 | 无(你提供嵌入) | 有(模块生态系统) |
星星数量是 GitHub 截至 2026 年 6 月的四舍五入数字,会随时间变化;许可证和语言是更稳定的决策依据。
许可证和语言
两者都是宽松许可证,没有 Copyleft 条款——Qdrant 是 Apache-2.0,Weaviate 是 BSD-3-Clause——因此在下游商业使用中它们实际上是等效的。你可以将任意一个嵌入产品而无需义务。
语言差异在实践中更有趣。Qdrant 使用 Rust 编写,这通常意味着精细的内存控制和可预测的性能,没有垃圾回收暂停。Weaviate 使用 Go 编写,它容易部署为单个静态二进制文件,并且是云原生基础设施的通用语言(Kubernetes 本身使用的语言)。两种语言对于通过 API 使用 数据库来说都不重要——但如果你阅读源代码或贡献代码,这就是差异所在,并且它大致反映了每个项目的设计气质:Qdrant 是轻量性能引擎,Weaviate 是云原生平台。
混合搜索
两者都支持混合搜索——在单个查询中结合稠密向量相似度和稀疏/关键词匹配——因此都不像 pgvector 那样迫使你手动实现融合。
- Qdrant 使用原生稠密+稀疏向量,每个点支持多个命名向量和可配置融合(例如 Reciprocal Rank Fusion)。这让你能够精细控制同一项目的多个向量表示的存储和组合方式。
- Weaviate 在单个查询中提供内置的向量 + BM25 关键词搜索与融合排序——一个干净、文档完善的混合实现。
在能力上两者几乎持平。如果你需要对每个对象使用多个嵌入进行复杂操作,Qdrant 的命名向量模型更灵活;Weaviate 的 BM25 混合搜索直接且久经考验。两者都很强。
性能与延迟
首先坦诚说明:向量数据库基准测试依赖于召回率、数据集和硬件,通常由获胜的供应商运行。应将其视为方向性参考,而非绝对真理。
- Qdrant 发布了基准测试,声称在大多数场景下具有最高的每秒请求数(RPS)和最低的延迟,在一个数据集上约 4 倍 RPS,并且在过滤搜索(结合向量相似度与元数据过滤)上有特别优势。注意该基准数据最后更新于 2024 年。
- Weaviate 发布了ANN 基准测试,报告了端到端 p99 延迟和 QPS 对召回率曲线——交互式,没有单一宣传数字。可以说是更透明的呈现方式,因为它展示了召回率/延迟的权衡,而非挑选的一个数字。
Qdrant 更强调原始速度和过滤搜索性能;Weaviate 则呈现完整的延迟对召回率图。对于绝大多数自托管工作负载(低于几百万个向量),两者在良好硬件上都能轻松胜任,而你自己的嵌入模型和分块选择对端到端延迟的影响可能比数据库更大。在将性能作为决定因素之前,请使用你自己的数据进行基准测试。
自托管与运维
这是两者分歧最大的地方,通常也是自托管者做决定的关键。
- Qdrant 以单个官方 Docker 镜像(
qdrant/qdrant)形式提供。它开箱即用单节点——docker run即可拥有一个可用的向量数据库——并按需扩展至分布式/集群部署。这是更轻的运维负担:一个需要运行、备份和监控的服务。 - Weaviate 在开发时通过 Docker / docker-compose 运行,但生产部署应该使用 Kubernetes + Helm。它还有一个模块生态系统(向量化器、重排序器、生成模块),可以在数据库内部为你生成嵌入。这确实是便利——你不一定需要单独的嵌入服务——但也有更多要理解和运维的组件。
用一句话概括权衡:Qdrant 让你少操作;Weaviate 给你更多内置功能。 如果你已有嵌入管道,并且想要一个快速、直接的向量存储,Qdrant 的单镜像模型很难被击败。如果你宁愿让数据库处理向量化,而且你已经习惯运行 Kubernetes,那么 Weaviate 的模块就物有所值。
成本与定价
自托管任何一个都意味着软件免费,你的成本是运行它的机器——中小规模索引对两者都可以轻松运行在 约 20–30 美元/月 的 VPS 上(在 Hetzner 级别的主机上更便宜),因为你控制资源配额。Weaviate 的生产 Kubernetes 姿态可能意味着稍高的基线(你运行一个集群),而 Qdrant 的单节点使门槛保持较低。
作为参考,它们的托管云(托管价格,非自托管成本):
- Qdrant Cloud —— 永久免费层级(1 节点,0.5 vCPU / 1 GB 内存 / 4 GB 磁盘);付费 Standard 是按使用量通过计算器计价,没有固定的发布入门价格。
- Weaviate Cloud —— 免费的无服务器 Sandbox;付费 “Flex” 约 45 美元/月起,按量计费(向量存储约每 100 万维度 $0.00465 起,价格可能有变)。
如果目标是固定可预测的账单,在你自己 VPS 上自托管任何一个都优于按使用量计费的托管定价——这就是拥有自己的搜索的意义所在。
何时选择哪个
以下情况选 Qdrant:
- 你想要最轻的自托管足迹——一个 Docker 镜像,单节点起步。
- 原始速度和过滤搜索性能对你很重要。
- 你已经自己生成了嵌入,只需要一个快速的地方存储和查询它们。
- 你偏爱 Rust 级别的可预测性能,无 GC 暂停。
以下情况选 Weaviate:
- 你想要通过模块生态系统将向量化内置到数据库中。
- 你已经在生产环境中运行 Kubernetes 和 Helm。
- 你想要一个观点明确、功能齐全的平台,而不是一个轻量引擎。
- BSD-3-Clause 与 Apache-2.0 对你来说没区别(对几乎所有人都是如此)。
结论
对于大多数自托管团队而言,Qdrant 是更务实的默认选择——宽松许可证,强(供应商宣称)的性能尤其是过滤搜索,原生混合,以及无需平台团队的单镜像部署。当你希望数据库为你做更多事情时,Weaviate 是更好的选择——内置向量化器模块和观点明确的平台——并且你已经习惯于运行 Kubernetes。两者都很优秀,真正开源,并且可以安全嵌入;决定归结于你是看重一个你简单运行的轻量引擎(Qdrant),还是一个功能齐全、带模块的平台(Weaviate)。
常见问题解答
Qdrant 还是 Weaviate 更适合自托管? 对于轻量自托管,答案是 Qdrant——它以单个 Docker 镜像形式提供,开箱即用单节点,运维足迹更小。如果你想要内置向量化器模块并且已经在生产环境中运行 Kubernetes,那么 Weaviate 更好。
Qdrant 和 Weaviate 都支持混合搜索吗? 是的。两者都在单个查询中结合稠密向量相似度和稀疏/关键词匹配。Qdrant 使用命名向量和可配置融合(例如 RRF);Weaviate 提供向量 + BM25 及融合排序。
Qdrant 比 Weaviate 更快吗? Qdrant 自己的基准测试声称更高的 RPS、更低的延迟以及在过滤搜索上的优势,但这些数据最后更新于 2024 年,并且与所有供应商基准测试一样,依赖于数据集和硬件。Weaviate 发布召回率对延迟曲线而不是单一数字。对于大多数工作负载,两者都很快——在仅凭速度做决定之前,请在你的数据上进行基准测试。
Qdrant 和 Weaviate 使用什么许可证? Qdrant 是 Apache-2.0;Weaviate 是 BSD-3-Clause。两者都是宽松许可证,无 Copyleft,因此都可以安全嵌入商业产品。
我需要 Kubernetes 来运行 Weaviate 吗? 开发不需要——Weaviate 可以通过 Docker / docker-compose 正常运行。但生产部署围绕 Kubernetes + Helm 设计。相比之下,Qdrant 在生产中中小规模运行时可以舒适地作为一个单独的 Docker 容器运行。
Aquila 是私有、自托管 AI 搜索的独立指南——你拥有而非租用搜索。在最佳自托管向量数据库指南中比较更多选项,如果你已在使用 Postgres,可以查看 pgvector vs Qdrant 的角度,或者浏览所有对比。掌控你自己的搜索。