题记与说明
报告性质:本报告由两份章节研究综合而成——《纵轴:从诞生到当下》(发展脉络叙事)与《横轴:2026-10 时间截面横向对比》(竞品对比),并对两章之间的矛盾逐条做了再核实与消解(勘误记录见文末附录)。
场景约束:个人知识库(Personal Knowledge Base, PKB),重点关注部署成本、检索质量、生态。
数据截止:2026-10-29。版本坐标、星标数与关键发布日期均经本次综合会话通过 GitHub Releases API 与 pgvector 官方 CHANGELOG 重新实测核实,核实命令与结果见附录。
来源声明:两章正文事实均来自其撰写会话实际执行的网络搜索与网页抓取(GitHub Releases API、官方 CHANGELOG、官方博客、TechCrunch、KMWorld、Business Insider 等),关键节点附来源 URL;厂商自报数字(64x/72%/30x 等)均标注为厂商口径;未能核实的信息明确标注、不采信的谣言单独说明。
版本说明:本文件为最终稿(-final),已按独立审读意见逐条修订——统一勘误计数口径、核查引用可定位性(三处引文标注"未能定位原文"并相应降低正文置信度)、补技术留白(Chroma 当前检索结构、Qdrant 两种混合检索形态分工)、补最小 PoC 模板与阈值依据;初稿原样保留于 drafts/ 目录,未改动。
TL;DR
四强实为四条路线:Milvus=湖原生分布式重型、Qdrant=Rust 单二进制高性能、pgvector=Postgres 内建(0.8.7)、Chroma=AI 原生嵌入式(1.5.9)。个人知识库(<10 万条)召回差距可忽略,分水岭在部署与混合检索:已有 Postgres 选 pgvector,最快跑通选 Chroma,10 万+强过滤选 Qdrant,亿级/对外服务选 Milvus。七年纵轴呈"从库到数据库、再回到库"的螺旋,2024–2026 战场转向压缩与轻量部署。两条最关键的时效勘误:Chroma 已于 2025-10 补上 BM25,pgvector 当前已是 0.8.7(两章全部 8 处勘误中 5 处属时效性过时,口径见附录)。
一、纵轴:发展脉络(2013 → 2026.10)
阶段〇(2013–2019.10):史前史——"向量检索是库,不是数据库"
这一阶段不存在"向量数据库",只有相似性检索算法库:2013 年前后 Spotify 的 Erik Bernhardsson 开源 Annoy 用于音乐推荐;2016 年 Malkov 与 Yashunin 发表 HNSW 论文(arXiv:1603.09320),此后成为几乎所有向量数据库召回层的默认图索引;2017 年 3 月 Facebook AI Research 开源 FAISS,支持十亿级向量的 IVF/PQ/图等索引组合(背景见 Zilliz 的 FAISS 教程)。
驱动因素:word2vec(2013)到 BERT(2018)让"语义"第一次变成可计算的稠密向量;但 FAISS/Annoy/hnswlib 只解决"内存里怎么搜得快",持久化、增删改、标量过滤、分布式、权限统统要应用开发者自己造。这个"库时代的缺口"就是后面所有向量数据库的起点。
阶段一(2019.10–2021):专用向量数据库诞生,商业化元年
- 2019-10-19:Zilliz(创始人 Charles Xie)将 Milvus 开源,成为最早的开源专用向量数据库之一(PR Newswire;TechTarget)。Charles Xie 回忆 2019 年底用户约 30 个,2020 年超 200 个(Unite.AI 访谈)。
- 2020:Milvus 捐赠给 LF AI & Data 基金会孵化,"中立基金会托管"成为其治理标签。
- 2021-04-20:pgvector 0.1.0 首次发布(官方 CHANGELOG),只有精确搜索 + IVFFlat,索引维度上限 2000——当时没人想到这个"Postgres 小扩展"日后会成专用库最大的敌人。
- 2021:Pinecone 走出隐身模式开创"全托管"品类(LF Technology 博客);Qdrant 公司在柏林成立(CEO André Zayarni、CTO Andrey Vasnetsov),用 Rust 从零写向量搜索引擎,工程主体始于 2021 年 12 月(TechCrunch;Vasnetsov CV)。
市场第一次分化出三种路线:专用分布式(Milvus)、托管闭源(Pinecone)、寄生于通用数据库(pgvector)——这三条路线延续至今,加上 2022 年后的第四条"AI 原生嵌入式",即本报告的四个主角。
阶段二(2022):云原生架构定型,ChatGPT 前夜
- 2022-01-25:Milvus 2.0 GA——第一次推倒重建:从 1.x 单体重写为存算分离、以日志为骨架(log-as-data)的分布式云原生架构(官方 GA 博客,tag 日期经 GitHub API 核实;架构阐述见 Xiaofan Luan 的 《Milvus 2.0: Redefining Vector Database》)。
- 2022:Milvus 2.1 发布;Zilliz 融资 6000 万美元 B 轮(TechTarget)。
- 2022:Chroma 公司成立(CEO Jeff Huber、CTO Anton Troynikov),5 月获约 230 万美元 pre-seed(弱来源,仅作背景);11 月 30 日 ChatGPT 发布,为次年爆发埋下引信。
- pgvector 小步迭代:0.2.0(适配 PG14)、0.3.0(2022-10,适配 PG15)。
阶段三(2023):ChatGPT 引爆 RAG,"向量数据库战争"
ChatGPT 带火 RAG,"给 LLM 外挂记忆"让向量数据库一夜之间从搜索基建变成 AI 应用刚需,DB-Engines 趋势显示 Vector DBMS 是当年增长最快的数据库品类(趋势页)。四家选手在一年内全部完成"关键一跃":
- 2023-02-08:Qdrant 1.0 发布(GitHub tag
v1.0.0经 API 核实),托管云同期上线;4 月获 750 万美元融资(TechCrunch)。 - 2023-02-14:Chroma 开源,定位"开发者最友好的 AI 原生嵌入数据库",主打
pip install chromadb三行代码上手(Vela Partners 历史梳理)。 - 2023-04-07:Chroma 宣布 1800 万美元 seed 轮(Quiet Capital 领投,估值约 7500 万美元,Naval Ravikant、Guillermo Rauch 等天使参与;官方公告;Business Insider)——从 2023-02-14 开源到本轮官宣仅约七周("七周"起讫依据同一场开源梳理:Vela Partners),是当年 RAG 狂热的标志性事件。
- 2023 年 5 月/8 月:AWS RDS 与 Aurora PostgreSQL 先后官方支持 pgvector,云巨头为"Postgres 就是向量数据库"背书(AWS 公告背景);Supabase 1 月发布 pgvector 教程、5 月推出 AI 工具集(Discussion 19699、19702)。
- 2023-07-17:Chroma 0.4.0 存储引擎从 DuckDB+Parquet 换成 SQLite,性能大增,提供 chroma-migrate 迁移工具(官方迁移文档;chroma-migrate)。
- 2023-08-23:Milvus 2.3 发布(tag 经 API 核实),追平专用竞品的单机性能。
- 2023-08-28:pgvector 0.5.0 引入 HNSW——从"能存向量"变成"能高效搜向量",是与专用库对抗的转折点(CHANGELOG;Jonathan Katz 综述)。
同期资本对照:Weaviate 5000 万美元、Pinecone 1 亿美元融资/7.5 亿估值(转引自 TechCrunch);"你是否真的需要一个专用向量数据库"的质疑声也自 2023 年出现,pgvector 是最大受益者。
阶段四(2024):狂热退潮——成本、混合检索与 Postgres 反击
- 2024-01-23:Qdrant 融资 2800 万美元 A 轮(Spark Capital 领投)。TechCrunch 披露:Qdrant 曾拒绝某主要数据库厂商收购;客户含 Deloitte、Accenture,并自称 xAI 的 Grok 用它做实时检索;同期发布二进制量化(BQ),宣称内存压缩最高 32 倍(TechCrunch;官方博客)。"量化换内存"自此成为全行业主线。
- pgvector 三连发:0.6.0(2024-01-29)并行 HNSW 构建;0.7.0(2024-04-29)
halfvec半精度(HNSW 维度上限升到 4000)与sparsevec稀疏向量;0.8.0(2024-10-30)迭代式索引扫描,修掉"带过滤条件的近似查询漏召回"这一 RAG 场景老大难(CHANGELOG)。 - 2024-04-16:Milvus 2.4 发布(tag 经 API 核实):稀疏向量、partition key 多租户,以及最重要的 Milvus Lite——可以
pip install的嵌入式版本,把 Milvus 从"必须上 K8s"拉低到"笔记本就能跑"(Milvus Lite 仓库;发布报道)。 - 2024-06:Timescale 开源 pgvectorscale(Rust 实现),为 pgvector 补上 StreamingDiskANN 磁盘索引与统计二进制量化(SBQ),官方基准宣称较 Pinecone s1 p95 延迟低 28 倍(GitHub 仓库)。"Postgres 生态 vs 专用库"从单兵作战变成联盟作战。
- 2024-12-17:Milvus 2.5 发布,引入基于 BM25 的原生全文检索,关键词与语义统一为一次混合查询,官方宣称最高 30 倍性能提升(KMWorld)。混合检索自此成为各家 RAG 叙事标配。
驱动因素:融资潮退去后企业开始算 TCO;嵌入模型维度膨胀(768–3072)推高内存账单;Elasticsearch、MongoDB 等通用库补齐向量能力,专用库必须证明"专用"仍有意义——答案是混合检索与成本工程。
阶段五(2025):单二进制化与极致压缩——个人知识库的黄金年代
- 2025-04-03:Chroma 1.0 发布(GitHub tag
1.0.0的published_at经本次 API 核实为 2025-04-03;⚠️ 纵轴章节原文写 2025-03-01,经核实系笔误,本报告按 2025-04-03 修正):核心以 Rust 重写,官方迁移文档记载"we've rewritten much of Chroma in Rust",从"Python 库 + Docker server"变成单二进制chroma run,转为 server-client 架构(官方迁移文档;性能报道见 OSCHINA,宣称约 4x 提升)。这一步使 Chroma 成为四者中部署形态最轻的独立数据库。 - 2025-06-11/12:Milvus 2.6 "Built for Scale, Designed to Reduce Costs":RaBitQ 1-bit 量化宣称 72% 内存下降且召回不降、新增 WAL 与分层存储,官方称向量搜索成本最高降 80%(官方博客;SiliconANGLE)。
- 2025-07-18:Qdrant v1.15.0 发布(tag 经 API 核实),引入非对称量化,宣称二进制量化下内存最多降 64x(官方博客);此后保持约每季度一个 minor 的节奏(v1.16.0 于 2025-11-17,经 API 核实)。
- 2025-08-19:Chroma Cloud 正式上线,纯按量计费:Starter 计划 $0/月送 5 美金额度,存储约 $0.33/GiB/月(Show HN;官方定价页(纵轴撰写时直接抓取核实))。⚠️ 2026 年 10 月有第三方博客流传"Chroma Cloud 将于 2026 年 12 月停服",但官方定价页未载任何退役公告,该说法未获一手证实,本报告不采信。
- 2025-09-04:pgvector 0.8.1 发布,适配 PostgreSQL 18 rc(CHANGELOG)。
- 2025-10-29:Chroma 1.3.0 引入 BM25 embedding function(JS 端),2025-11-05 的 1.3.3 补上 Python 端
chroma_bm25(两版本 release 说明经本次 API 核实)——这标志着 Chroma 补齐了混合检索的最后一块短板(详见附录勘误 #4)。 - 生态侧(个人知识库的直接证据):自托管 LLM 前端 Open WebUI 默认内嵌 ChromaDB 作为 RAG 向量库(社区讨论;Reddit);LibreChat 的 RAG API 默认使用 pgvector(rag_api 仓库)。2025 年,个人知识库工作流事实上被两家默认选择框定:零配置选 Chroma,已有 Postgres 选 pgvector。
阶段六(2026 至 10 月):湖原生、边缘化与 1-bit 量化竞赛
- pgvector:0.8.2(2026-02-25)修复并行 HNSW 构建缓冲区溢出;此后快速修补 0.8.3–0.8.7,当前最新为 0.8.7(2026-10-01);0.9.0 尚未发布,将引入 HNSW 异步 I/O 并放弃 PG13/14(官方 CHANGELOG,本次抓取核实)。
- Qdrant:v1.17.0(2026-02-20)自研存储引擎 Gridstore 取代 RocksDB;v1.18.0(2026-05-11)引入 TurboQuant(turbo4/turbo8,宣称 8 倍向量压缩"无召回税",基于 Google Research 的 TurboQuant 算法论文 arXiv:2504.19874,ICLR 2026,另见 collections 文档);v1.19.0(2026-08-05)4-bit TurboQuant 作为主存储、mmap 单文件向量存储;v1.20.0(2026-10-22)turbo8/turbo16、基于全文 payload 索引的 BM25 打分、Qdrant Edge 进程内边缘分片(全部 tag 日期与 release 说明经本次 API 核实)。主线非常清晰:压缩 + 混合检索 + 边缘轻部署。
- Chroma:1.5.x 快速迭代——1.5.0(2026-02-09,多比特 RaBitQ)→ 1.5.6(2026-04-07,1-bit RaBitQ 实现)→ 1.5.7(2026-04-08,移除遗留 HNSW 路径)→ 1.5.9(2026-05-05,当前最新,GitHub Releases 经本次 API 核实)。检索结构留白补注:据 Chroma 维护者在 issue #4175 的答复,1.0 起 HNSW 已内置于 Rust 核心作为默认向量索引;1.5.7 的"移除遗留 HNSW 路径"在其 release 说明中仅为一行清理项"Remove indirect hnsw path"(PR #6820),未提及任何替代索引。1.5.9 当前的默认检索/索引结构本次未能进一步核实——注意 RaBitQ 是量化方案而非索引结构,二者不可混同——评估检索质量前请以官方文档为准。
- Milvus:2026-07-26~31 Milvus 3.0 发布,主打"Lake-Native(湖原生)"——直接对对象存储上的开放数据格式建索引与检索,并升级检索引擎(官方博客;Zilliz 新闻稿;LF AI & Data)。此后 3.0 与 2.6 双线维护:v3.0.4 与 v2.6.26 已于 2026-10-26 同日发布(经本次 API 核实)。
- 生态现状:Milvus GitHub 星标 2025 年突破 4 万(HPCwire)。
纵轴小结:三条演化线
- 部署成本线:2019–2022 年向量数据库=分布式集群;2024 年起集体向轻量化跳水——Milvus Lite(2024-04)、Chroma 单二进制(2025-04)、Qdrant Edge(2026-10)。2024–2026 的量化竞赛(BQ 32x → 非对称 BQ 64x → RaBitQ 72% → TurboQuant 8x/4-bit)让"内存账单"普遍降了一个数量级。
- 检索质量线:2021 年只有精确搜索 + IVFFlat → 2023 年 HNSW 普及(pgvector 0.5.0 追平图索引)→ 2024 年末 BM25 混合检索(Milvus 2.5)→ 2025–2026 年各家把混合检索做进内核(Qdrant v1.20 BM25 payload 索引、Chroma 1.3.x BM25 embedding function)。个人知识库"按目录过滤 + 语义召回"的经典痛点,由 pgvector 0.8.0 的迭代式扫描这类"过滤式 ANN"改进解决。
- 生态线:pgvector 背靠 Postgres 四十年生态与全部主流托管平台(AWS RDS/Aurora、Supabase、Neon);Chroma 靠"个人 RAG 套件默认值"(Open WebUI)占据零配置心智;Milvus 靠 LF 基金会治理 + Zilliz 商业云 + 最大社区;Qdrant 靠 Rust 性能与生产背书(xAI Grok,TechCrunch 转述)。
一句话纵轴结论:这个品类的七年,是一部"从库到数据库、再从数据库回到库(单二进制/扩展)"的螺旋——2023 年的战争决定谁能上牌桌,2024–2026 年的成本与混合检索战争决定谁被个人知识库场景选中。
二、横轴:横向对比(2026-10-29 时间截面)
2.1 截面速览:四个候选者现在是谁
在 2026 年 10 月底的截面上,这四个产品已不再是"同一个物种"——它们分别代表向量检索的四条技术路线,这决定了后面所有维度的差异:
| 产品 | 技术路线 | 当前版本(本次 API/CHANGELOG 核实) | 开源许可 | GitHub Stars* |
|---|---|---|---|---|
| Qdrant | Rust 独立向量数据库,主打过滤检索与量化 | v1.20.x(v1.20.0,2026-10-22;TurboQuant 自 v1.18.0 起) | Apache-2.0 | 35,300 |
| Milvus | Go/C++ 云原生分布式,主打超大规模,3.0 起湖原生 | v3.0.x(v3.0.4,2026-10-26)与 v2.6 LTS(v2.6.26 同日发布)双线 | Apache-2.0 | 46,511(四者最高) |
| pgvector | PostgreSQL 扩展,向量检索作为 Postgres 的一种索引 | 0.8.7(2026-10-01);0.9.0 未发布(将引入 HNSW 异步 I/O) | PostgreSQL License(类 BSD) | 23,516 |
| Chroma | AI 原生嵌入式数据库,2025 年核心 Rust 重写 | 1.5.9(2026-05-05);BM25 自 1.3.x(2025-10)起、RaBitQ 自 1.5.x(2026-02/04)起 | Apache-2.0 | 29,595 |
\* 星标与许可为本次综合会话通过 api.github.com/repos/{owner}/{repo} 于 2026-10-29 实测:qdrant / milvus / pgvector / chroma。四个仓库最近一次 push 均在 2026-10-27 及之后(pgvector 为 10-27,其余 10-28),全部活跃维护。pgvector 的许可证在 GitHub API 中显示为 NOASSERTION,因其 PostgreSQL License 未在 GitHub 的 SPDX 映射中,属预期现象。
2.2 总对比表(个人知识库视角)
| 维度 | Qdrant | Milvus | pgvector | Chroma |
|---|---|---|---|---|
| 部署形态 | 单二进制 Docker/原生;嵌入式支持弱 | Lite(pip 嵌入)/ Standalone / 分布式三形态 | 无需新服务,装进现有 Postgres | pip/uv 安装即用,单机 SQLite 底座;另有 Server 模式 |
| 本地部署最低成本 | 一台 2~4GB 内存容器 | Lite≈零(Python 库);Standalone 需 etcd/MinIO 等,较重 | 共享既有 Postgres,边际成本≈0 | 一条 pip install chromadb,≈零 |
| 云托管起点价(第三方报价,以官网为准) | 免费层约 1GB 小集群;付费约 $25/月起 | Zilliz Cloud 免费层 + Serverless;专用集群约 $0.26/计算单元·时 + $0.025/GB·月 | 复用任意托管 Postgres(Supabase/Neon/RDS) | 免费额度(官方 Starter 送 $5)+ Serverless 按量计费 |
| 量化/压缩 | 二进制/标量/非对称量化(1.15 宣称至多 64x);TurboQuant 4/8-bit(v1.18 起,宣称 8x 无召回税) | RaBitQ 1-bit(社区称内存降约 72%);分层存储降本 | halfvec 半精度(约省一半存储);pgvectorscale 补 SBQ+DiskANN | 1.5.x 起支持 RaBitQ(1.5.6 实现 1-bit;1.5.0 起多比特) |
| 混合检索(稠密+稀疏/BM25) | 原生稀疏向量 + 全文过滤(1.15 增强;v1.20 BM25 payload 索引;两种形态分工见表后注) | 原生 BM25 全文 + 稠密混合(2.5 起原生;2.6 宣称 FTS 提速 4x) | tsvector 全文 + HNSW 在 SQL 内自行组合 | 1.3.x(2025-10)起提供 BM25 embedding function(此前无原生稀疏检索的结论已过时) |
| 过滤检索 | 可过滤 HNSW + 查询计划器,核心卖点 | 标量过滤,分布式下可用 | SQL WHERE + 迭代索引扫描(0.8.0 起) | 元数据 where 过滤,1.0.x 修复可靠性问题 |
| 运维复杂度 | 低(单二进制) | Lite 低;Standalone/Distributed 高 | 最低(若已有 Postgres) | 最低(嵌入式) |
| 规模化上限 | 中大规模(第三方称 1 亿+ 向量时 Milvus 反超;该评测原文未能定位,见 2.3) | 十亿级、分布式(最强) | 第三方定性判断"低千万级向量内舒适" | 单机为主,分布式演进中(wal3/BYOC) |
| 框架生态 | LangChain/LlamaIndex 一等公民;HN 社区偏爱 | 同左;官方 MCP Server | 框架支持齐全;Supabase 生态强带量 | "每个 LangChain 快速上手教程都用 Chroma"(2026 行业观察,原文未能定位,见 2.5) |
| 个人知识库适配 | 优于 10 万级笔记 + 强过滤需求 | 通常过重(Lite 除外) | 已有 Postgres/用 Supabase 时的默认最优 | 快速原型、本地优先、Python 用户默认最优 |
表后注(Qdrant 两种混合检索形态的分工):表中 Qdrant 一栏同时出现"原生稀疏向量"与"v1.20 BM25 payload 索引",这是两条并行路线,不是同一事物的两种叫法。原生稀疏向量:由客户端用稀疏嵌入模型(如 SPLADE++ 类)预先算出稀疏向量后写入,服务端做最近邻检索——权重可学习、语义感知强,代价是要多引入一个模型;BM25 payload 索引:由 Qdrant 在查询时对带全文索引的 payload 文本直接计算经典 BM25 打分——零模型成本、上手最快,纯统计口径。两者均可与稠密向量经 RRF/DBSF 融合(官方 hybrid queries 文档),官方同时提示"稠密检索在自然语言查询上通常占优,BM25 在标识符密集的查询上可能胜出"。
2.3 检索质量:不是"谁 recall 更高",而是"谁在过滤条件下稳"
向量检索质量的上限由嵌入模型决定,数据库层的差异体现在三件事:ANN 索引的召回-速度权衡、量化后的精度保持、带过滤条件时的表现。
- Qdrant:官方基准页(qdrant.tech/benchmarks)对比 Qdrant/ES/Milvus/Redis/Weaviate 四个数据集,结论是 Qdrant 几乎所有场景下 RPS 最高、延迟最低,且强调竞品在过滤检索中出现"速度骤降"或"HNSW 图断裂导致精度崩塌"两类失败模式,其可过滤 HNSW + 查询计划器可规避。必须标注:这是厂商自建基准,页面对"是否存在偏向"的直答是"Probably, yes",但基准框架开源可复现(qdrant/vector-db-benchmark)。
- Milvus:同一份 Qdrant 官方基准中,Milvus 索引构建速度最快,但高维/大规模下 RPS 与延迟落后。第三方评测(AlphaCorp 2026,现仅余域名 alphacorp.ai,未能定位原文)给出过分界线:千万级以下 Qdrant 在延迟与运维简单性上占优,1 亿+ 向量时 Milvus 反超——该说法无法按链接核查,只能作量级参考而非可靠依据。2.6 的 RaBitQ 与混合检索增强(社区深潜帖称 FTS 提速 4x、内存降 72%,Reddit 技术深潜)说明其在向"质量不降本"发力。
- pgvector:长期被认为精度与速度都不如专用库,但 2024–2026 出现两次翻案证据:一是 0.8.0 的迭代索引扫描解决了"过滤后结果太少"的经典缺陷(pgvector GitHub、PGXN 0.8.0);二是有基准显示特定配置下 pgvector 的 QPS 反超 Qdrant(LinkedIn 基准讨论)。PostgreSQL 18 的异步 I/O 让顺序扫描提速 2-3x(PG18 发布说明),间接抬高天花板。个人知识库量级(千~十万条)下,HNSW 全量或 halfvec 的召回与专用库无实质差异。
- Chroma:1.0 的 Rust 重写带来约 4x 本地性能提升(OSCHINA),元数据过滤在 1.0.x 修复了可靠性问题(chroma#3825)。时效修正:横轴章节曾依据 haystack 集成讨论(haystack-core-integrations#933)认定 Chroma 无原生稀疏/BM25 检索——该结论成立于 2025 年中,但本次核实 Chroma releases 显示 1.3.0(2025-10-29)已加入 BM25 embedding function(JS)、1.3.3(2025-11-05)加入 Python 端,1.4.0(2025-12-24)修复多线程下 BM25 的问题(release 说明经本次 API 核实)。至本报告截面,Chroma 的混合检索短板已大幅收窄,但其 BM25 以"embedding function"形态提供,与 Qdrant/Milvus 的原生稀疏向量在工程成熟度上仍有差距,采纳前建议用自己的语料实测。
小结:个人知识库规模(<10 万条)下,四者纯 ANN 召回差距可忽略;真正拉开差距的是混合检索与过滤稳定性。就后者可以给出一个排序——Qdrant/Milvus(原生稀疏)≥ pgvector(tsvector 组合)≥ Chroma(BM25 较新、形态不同)——必须注明:这是按实现形态与能力上线时长做的工程成熟度推断,不是检索效果实测。判据:① Qdrant/Milvus 的稀疏/BM25 是内核原生形态且迭代已久(Milvus 2.4 起稀疏向量、2.5 起原生 BM25、2.6 继续增强;Qdrant 1.15 起增强全文过滤、v1.20 起 BM25 payload 索引);② pgvector 无原生融合、需在 SQL 内自行组合 tsvector 与 HNSW,但 tsvector 是 Postgres 内置多年、久经生产验证的全文引擎,组合路径成熟;③ Chroma 的 BM25 以 embedding function 形态提供,2025-10 才上线、2025-12 才修复多线程问题(1.4.0),最年轻——pgvector 排在 Chroma 之前,理由是"老而稳的自行组合"优于"新而仍在修缺陷的新形态",而非融合更原生。该排序不代表实测检索质量,采纳前应以自己的语料实测(最小 PoC 模板见洞察五第 6 条)。另:全文"<10 万条""10 万+""千万级""亿级"等阈值中,千万级/亿级分界来自所引第三方评测口径(其中 AlphaCorp 一文原文未能定位,置信度有限),"<10 万条""千条以下"为个人知识库场景的经验值——个人笔记库实际规模多在千~万级、10 万条已属重度使用——均为量级参考而非硬性性能边界。
2.4 部署成本:从"一条 pip 命令"到"一个分布式集群"的完整光谱
- 零成本档(本地):Chroma 与 Milvus Lite 都是"pip 即用"——Milvus Lite 内嵌 etcd 与本地存储、API 与全量一致(Milvus Lite 文档、milvus-io/milvus-lite);Chroma 1.0 底座为 SQLite 单机更轻。pgvector 边际成本最低——已有 Postgres(如 Supabase 免费层)则零新增组件;个人 RAG 实操教程多以 pgvector 为载体(sarahglasmacher:用 Docker 搭 pgvector 本地向量库走查)。Qdrant 需跑一个容器/二进制,但仍属"低运维"档(单二进制、无外部依赖)。
- 重运维档:只有从 Milvus Lite 升级到 Standalone/Distributed 时运维成本才陡增——需要 etcd、对象存储等组件(Zilliz 部署模式选型)。第三方选型文直言"千万级以下向量用 Milvus 是杀鸡用牛刀"(Dev.to 2026 选型)。
- 云托管档(第三方报价,价格随时变动,签约前务必核对 qdrant.tech/pricing、zilliz.com/pricing、trychroma.com):Qdrant Cloud 有永久免费小集群(约 1GB 内存),付费约 $25/月起;Zilliz Cloud 有免费 Serverless 层(第三方 2026 综述称含 5GB 存储、5 个集合,口径以官网为准);Chroma Cloud 走 Serverless 按写入/存储/查询计费(官方 Starter $0/月送 $5 额度、存储约 $0.33/GiB/月,纵轴撰写时抓取官方定价页核实)。
- 个人知识库的现实结论:数据量小意味着"成本"主要由运维心智与数据迁移成本构成,而非美元。pgvector/Chroma 的"零新增组件"是最大优势;Qdrant 单二进制次优;Milvus 全家桶仅在确实要成长为一个多库多用户服务时才值得。
- 迁移的真实代价:四者存的同为"向量 + 元数据 + 原文",经各自的读取/导出接口全量拉出后写入目标库,嵌入向量本身可复用、无需重算——重算嵌入才是最贵的迁移成本。真正的隐性代价是检索语义改写(pgvector 的 SQL
WHERE与 tsvector 组合,要改写成目标库的过滤 DSL 与混合查询写法)和索引参数重调(HNSW 参数、量化配置各库不同),工作量与两库形态差异成正比。库内升级另当别论:Chroma 0.4.0 换 SQLite 底座时官方就提供过 chroma-migrate(见阶段三),说明其历史上认真处理过自身迁移。建议在数据量接近 2.7 的"10 万+"分界前,先对现有库做一次全量导出备份。
2.5 生态:Chroma 赢在教程,pgvector 赢在 Postgres,Milvus 赢在星标,Qdrant 赢在口碑
- 框架集成:LangChain 的统一 VectorStore 接口覆盖全部四者(Vstorm 术语表);LlamaIndex 官方 Vector Stores 文档全部收录(developers.llamaindex.ai)。框架层面四者无门槛差异。
- 社区认知分层(2026 行业观察,Buttondown EVAL #002——现仅余 buttondown.com 首页,未能定位原文,按低置信度行业印象对待):"每个 LangChain 快速上手都用 Chroma,企业案例研究提 Pinecone,Hacker News 群体偏爱 Qdrant"。若属实,则 Chroma 是事实上的"入门默认值";本条引文不可按链接核查,置信度低于本章其余生态证据。
- 体量与背书:Milvus 是 LF AI & Data 基金会毕业项目、星标最高(46,511,本次 API 实测),有官方 MCP Server(mcpmarket 收录);Qdrant 35,300、Chroma 29,595、pgvector 23,516(均为本次实测)。但 pgvector 的真实生态位不能只看 stars——它寄生在 PostgreSQL 这个全球最大的开源关系库用户群上,Supabase/Neon 等托管平台把 pgvector 作为标准能力分发,等于"零推广成本"覆盖数百万开发者。
- MCP/Agent 时代:个人知识库的消费端正从"自建 UI"转向 Claude/Cursor 等 Agent。四者均有社区或官方 MCP Server(Milvus 为官方实现,其余社区维护,MCP 收录),此维度基本打平。
2.6 成熟度与工程风险
- 最成熟:pgvector 背靠 Postgres 三十余年工程积累,数据安全即 Postgres 数据安全,备份/复制/权限直接复用,许可最宽松。风险:功能演进受 PG 扩展周期约束(如异步 I/O 要等 0.9.0)。
- 生产口碑最厚:Milvus(2019 开源、基金会治理、十亿级生产案例最多),但组件多、升级链长,个人用户几乎永远用不到其分布式能力。
- 上升期:Qdrant(Rust 单体、发版节奏快)与 Chroma(1.0 后架构剧变:Rust 核心、wal3 新日志、BYOC 路线),二者都在 2025–2026 经历大改版——对个人用户无痛,对生产用户意味着跟随升级成本。
- 许可:Qdrant/Milvus/Chroma 均 Apache-2.0(本次 API 实测),pgvector 为 PostgreSQL License,四者均可商用、无 copyleft 负担。
2.7 选型速查表:谁该选谁
| 你的情况 | 推荐 | 理由 |
|---|---|---|
| 用 Obsidian/本地笔记 + Python 脚本,想最快跑通 | Chroma | pip 即用、入门教程最多;BM25 已补上但较新,关键词场景先实测 |
| 已有 Postgres(Supabase/自建/NAS) | pgvector | 零新增组件,笔记元数据与向量同库同事务,tsvector 补关键词检索,备份即 pg_dump |
| 笔记 10 万+、强元数据过滤(标签/时间/来源组合)、在意延迟 | Qdrant | 可过滤 HNSW + 量化是开源界最成熟的组合;单二进制运维可控 |
| 知识库会成长为对外服务/多用户产品,亿级条目 | Milvus(或 Zilliz Cloud) | 分布式上限最高、3.0 湖原生面向数据湖时代;个人本地场景应从 Milvus Lite 起步,避免直接上 Standalone |
同为 pip 嵌入式,Chroma 与 Milvus Lite 怎么二选一:纯 Python、个人单机、想少学概念、抄教程最快 → Chroma(SQLite 底座最轻、入门教程最多);预期知识库会长成对外服务、需要与 Standalone/分布式一致的 API 或非 Python 客户端 → Milvus Lite(API 与全量版一致,升级路径顺:Lite → Standalone → Distributed,不必中途换库)。两者重叠的场景,按你顺手的语言栈与生态默认值选即可(依据见 2.2 部署形态行与 2.4 零成本档)。
三、交叉洞察:两轴结合说明了什么
洞察一:品类演化的螺旋——"从库到数据库,再从数据库回到库"
纵轴的时间序列与横轴的截面形态互为印证。2019–2022 年,品类的演化方向是"变得更像数据库"(Milvus 2.0 的存算分离、SQL 接口、分布式);2024 年起方向逆转,集体"变得更像库"——Milvus Lite(2024-04)是分布式巨头向嵌入式低头,Chroma 1.0 的单二进制(2025-04)与 Qdrant Edge(2026-10)把这条线走到极致,而 pgvector 从一开始就站在"寄生在通用数据库里"的终态上。横轴截面上"嵌入式双雄(Chroma、Milvus Lite)vs 持久化双雄(pgvector、Qdrant)"的两两配对格局,正是这条螺旋在 2026 年的投影:轻量化个人场景已被所有主流玩家视为一级市场,而非企业市场的附属品。选型时应先判断目标场景处在螺旋的哪一段,而不是只比当前参数表。
洞察二:横轴结论有"时效半衰期",纵轴证据链是解药
综合过程本身提供了一个鲜活案例:横轴章节依据 haystack#933 断言"Chroma 无原生稀疏检索",而纵轴章节笼统地写"2026 年各家把混合检索做进内核(含 Chroma 全文检索)"——两章直接矛盾。通过 GitHub Releases API 逐版本核对,真相是带精确时间戳的中间态:Chroma 于 1.3.0(2025-10-29)加入 BM25 embedding function,1.4.0(2025-12-24)修复多线程 bug,1.5.x(2026 年)稳定化。也就是说,横轴的结论在 2025 年中成立,存活期约五个月即被迭代推翻。同样被时间推翻的还有横轴的版本快照(Qdrant"1.16.x 稳定线"实为 v1.20.0;TurboQuant 首发于 v1.18.0 而非 1.16)与纵轴的 pgvector 0.8.2 版本快照(当前已是 0.8.7——横轴引 PGXN,看到的本来就是 0.8.7),以及纵轴的一处日期笔误(Chroma 1.0 实为 2025-04-03 而非 03-01)。方法论结论:任何"某库不支持 X"的横向对比结论都必须带日期戳,并以版本发布记录(tag 的 published_at)为最终仲裁者——这是本次综合中可复用的核查流程。
洞察三:差异战场持续转移,2026 年已趋同到"1-bit 量化 + 混合检索",下一个分水岭是部署形态与生态默认值
把两条轴叠起来看战场的迁移路径:2023 年拼"能不能上生产"(Qdrant 1.0/Chroma 开源/Milvus 2.3/pgvector HNSW);2024 年拼"成本与混合检索"(BQ 32x、pgvectorscale、Milvus 2.5 BM25);2025–2026 年拼"压缩与形态"(RaBitQ、TurboQuant、单二进制、Edge)。到本次截面,四家在量化技术上已实质趋同——Qdrant TurboQuant(1.18+)、Milvus RaBitQ(2.6)、Chroma RaBitQ(1.5.6)、pgvector halfvec/binary_quantize(+pgvectorscale SBQ)都在做"1-bit/4-bit 换内存"的同一道题;混合检索也几乎趋同(Milvus 2.5 原生 BM25 → Qdrant 1.15+ 稀疏向量/v1.20 BM25 payload 索引 → pgvector tsvector 组合 → Chroma 1.3.x BM25)。当性能与功能差异抹平后,选型的决定性变量退回到两个更朴素的维度:它以什么形态运行(嵌入/单二进制/集群),以及它是不是你技术栈的默认值——这正好解释了横轴生态一节的四分格局:Chroma 赢教程、pgvector 赢 Postgres、Milvus 赢星标、Qdrant 赢口碑。
洞察四:"没有数据库"是排在第五位的候选选项
横轴章节记录了一个反直觉信号:个人知识库社区开始质疑"是否需要向量库"本身(landeranalytics 的反 RAG 观点——组织良好的目录级检索可能就够了——该文原文未能定位、仅余域名,本条按低置信度轶事对待;r/ObsidianMD 有用 DuckDB 做全本地向量搜索的实践,同属定性信号而非硬证据)。把它放回纵轴看并不奇怪:阶段〇的"库时代"本来就是开发者自己组装检索,今天的"反 RAG"是这一形态在个人小规模场景下的回归。规模越小,"不选库"的选项权重越大——千条以下笔记(经验分界)、目录结构清晰时,全文检索(SQLite FTS/ripgrep)加上偶尔的语义搜索可能已覆盖需求。四者的竞争对手也包括"没有数据库"。
洞察五:对用户的最终判断与建议
- 决策树(按序自问):
- 已有 Postgres(Supabase/NAS/自建)?→ pgvector,零新增组件、元数据同库同事务、备份即 pg_dump;
- 没有 Postgres,但要最快跑通原型、以 Python 为主?→ Chroma(注意 BM25 系 2025-10 后新增,关键词密集语料先实测;若预期未来要上服务或需多语言客户端,则从 Milvus Lite 起步,取舍见 2.7 注);
- 笔记 10 万+、过滤条件复杂、在意延迟、愿意维护一个容器?→ Qdrant;
- 要做成对外服务/多用户产品、面向亿级或湖上数据?→ Milvus/Zilliz Cloud(本地从 Milvus Lite 起步)。
- 混合检索是 2026 年的必选项而非加分项:个人知识库语料中专有名词、代码符号、人名极多,纯稠密检索的关键词鲁棒性系统性不足;四家现都已提供 BM25/稀疏能力,选型时应验证其成熟度而非只看有无。
- 压缩技术让"内存焦虑"基本解除:RaBitQ/TurboQuant/halfvec 已使内存账单普遍降一个数量级(72%~64x 为厂商口径),一台 8GB 的笔记本/NAS 跑十万级笔记的向量库已无压力;选型时把算力预算让给嵌入模型而非数据库。
- 对第三方对比结论保持日期警惕:本报告消解的两章 8 处矛盾中,有 5 处源于"结论比事实旧"(附录 #2、#4、#5、#6、#7),其余 3 处为笔误或口径差。查阅任何 2025 年及更早的选型文(包括本报告所引者),先核对结论发表日期与产品当前版本。
- 信息可信度分级:本报告采用三级可信度分级——厂商基准(Qdrant 自述"Probably, yes"有偏)< 第三方定性评测(如 Inductivee 拒绝给数字、主张用自己的语料实测)< 版本发布记录与源码。个人用户的最优解始终是:用自己 200 条真实笔记做 10 分钟 PoC(模板见下一条),它比一切基准都准。
- 最小 PoC 模板(把上一条落地,全程约 10 分钟):数据量——从你自己的笔记库取 200 条真实条目,刻意覆盖中英文、代码片段、人名/专名各约三分之一,不要用示例数据;查询集——固定 10 条查询:5 条语义型(如"那篇讲成本优化的笔记")、5 条关键词型(直接用专名/代码符号原词);指标——目标笔记是否进入 top-5(命中/未命中),以及"按目录或时间过滤后再查"的结果正确性;判选规则——① 任何一条关键词型查询的目标笔记未进 top-5,视为该库混合检索不成熟,慎选;② 语义型查询两库差距通常可忽略,重点比较过滤组合是否正确;③ 两库均达标时,回部署成本(2.4)与迁移代价(2.4 末)做取舍,不再继续比指标。流程:
pip install→ 写入 200 条 → 10 条查询各跑两遍(关/开过滤)。
参考来源
纵轴发展脉络(章节一手核实 + 公开报道)
- HNSW 论文:<https://arxiv.org/abs/1603.09320> | Zilliz FAISS 教程:<https://zilliz.com/blog/set-up-with-facebook-ai-similarity-search-faiss>
- Milvus 开源与 LF AI 孵化:PR Newswire | Zilliz B 轮:TechTarget | Charles Xie 访谈:Unite.AI
- Milvus 2.0 GA:官方博客 | Xiaofan Luan 架构文 | Milvus 2.6:官方博客、SiliconANGLE | Milvus 2.5:KMWorld | Milvus 3.0 湖原生:官方博客、BusinessWire、LF AI & Data | Milvus Lite:仓库、文档 | Zilliz 部署模式:官方博客 | 40k 星标:HPCwire | 2.6 社区深潜:Reddit
- Qdrant A 轮与客户背书:TechCrunch、官方博客 | 1.15 非对称量化:官方博客 | TurboQuant:collections 文档、算法论文 arXiv:2504.19874(ICLR 2026) | 混合检索两种形态:官方 hybrid queries 文档 | 官方基准:qdrant.tech/benchmarks、基准框架
- pgvector 全部版本节点:官方 CHANGELOG(0.8.7=2026-10-01 经本次抓取核实) | 0.5.0 综述:Jonathan Katz | 0.8.0:PGXN | pgvectorscale:Timescale 仓库 | PG18:发布说明 | AWS 支持:Mattermost 论坛转述 | Supabase:Discussion 19699、19702
- Chroma seed 轮:官方公告、Business Insider | 开源历史与"七周"记载:Vela Partners | 迁移文档(0.4.0 换 SQLite、1.0 Rust 重写):docs.trychroma.com、chroma-migrate | 1.0 报道:OSCHINA | Chroma Cloud:官方定价页、Show HN | 过滤修复:chroma#3825 | HNSW 内置 Rust 核心(维护者答复):chroma#4175、1.5.7 清理项:PR #6820 | Pinecone 背景:LF Technology
- DB-Engines 趋势:Vector DBMS trend
横轴对比与生态
- 第三方评测与选型:AlphaCorp 2026(仅余域名,未能定位原文) | Inductivee 2025(定性) | Dev.to 2026 五库选型 | pgvector vs Qdrant QPS 讨论(LinkedIn)
- 生态观察:Buttondown EVAL #002(仅余首页,未能定位原文) | LangChain VectorStore 术语表 | LlamaIndex Vector Stores | MCP 收录、Milvus MCP Server | sarahglasmacher:用 Docker 搭 pgvector 本地向量库
- 个人知识库默认值证据:Open WebUI 讨论、Reddit r/OpenWebUI | LibreChat rag_api | 反 RAG 观点:landeranalytics(仅余域名,未能定位原文)
- Chroma 稀疏检索旧结论(已被 1.3.0 推翻,留档):haystack-core-integrations#933
本次综合会话的一手核实(2026-10-29 执行)
- GitHub Releases API:
curl https://api.github.com/repos/{owner}/{repo}/releases(/tags/{tag})— Chroma1.0.0published_at=2025-04-03T20:35:38Z;Qdrant v1.15.0=2025-07-18、v1.16.0=2025-11-17、v1.17.0=2026-02-20、v1.18.0=2026-05-11、v1.19.0=2026-08-05、v1.20.0=2026-10-22(v1.18.0 起 release 说明首现 TurboQuant);Chroma 1.3.0=2025-10-29(首现 BM25 embedding function)、1.3.3=2025-11-05(Python 端 chroma_bm25)、1.4.0=2025-12-24、1.5.0=2026-02-09(Multi-bit RabitQ)、1.5.6=2026-04-07(1-bit RabitQ 实现)、1.5.9=2026-05-05(最新);Milvus v3.0.4 与 v2.6.26 均为 2026-10-26。 - GitHub 仓库元数据 API:Qdrant 35,300★ / Milvus 46,511★ / pgvector 23,516★ / Chroma 29,595★;许可 Apache-2.0×3、pgvector 为 PostgreSQL License(API 显示 NOASSERTION);四仓库最近 push 均在 2026-10-27 及之后。
- pgvector 官方 CHANGELOG:
curl https://raw.githubusercontent.com/pgvector/pgvector/master/CHANGELOG.md— 最新已发布版 0.8.7(2026-10-01),0.9.0 标注 unreleased(将加入 HNSW 异步 I/O、放弃 PG13/14)。 - 附:pgvector 仓库不使用 GitHub Releases 功能(Releases API 返回为空),其版本权威来源为 CHANGELOG/PGXN——这也是纵轴章节用 CHANGELOG、横轴章节引 PGXN 的原因,两者并不冲突。
- 本次修订会话补充核实(2026-10-29):Chroma 1.5.7 release 说明(api.github.com
/releases/tags/1.5.7)仅含一行清理项"Remove indirect hnsw path"(PR #6820),未提及替代索引;TurboQuant 算法论文经检索确认为 arXiv:2504.19874(Zandieh et al.,ICLR 2026);Qdrant 两种混合检索形态分工引自官方 hybrid queries 文档(本页抓取);sarahglasmacher 具体文章 URL 经检索定位(2025-01-16 发布)。
附录:两章矛盾的核实与消解记录
本报告综合过程中,两章共有 8 处表述冲突或疑似冲突,全部按"回到一手来源"原则处理如下(核实命令均为 2026-10-29 通过 GitHub API / 官方 CHANGELOG 执行)。口径说明:8 处中 5 处为时效性过时(#2 Qdrant 版本、#4 Chroma BM25、#5 Chroma 量化、#6 Milvus 版本、#7 pgvector 版本,即"结论比事实旧"),其余 3 处(#1、#3、#8)为笔误或口径差;TL;DR 所称"两条最关键的时效勘误",即 5 处中对选型建议影响最大的两条(Chroma BM25 补齐与 pgvector 版本快照)。逐条如下:
| # | 冲突点 | 纵轴章节说法 | 横轴章节说法 | 核实结果与裁定 | 证据 |
|---|---|---|---|---|---|
| 1 | Chroma 1.0 发布日 | 2025-03-01 | 2025-04-03 | 2025-04-03,纵轴笔误,正文已修正 | Releases API tags/1.0.0 → published_at 2025-04-03T20:35:38Z |
| 2 | Qdrant 当前版本 | v1.20(2026-10-22) | 1.16.x 稳定线、基准仓库见 1.19.x 测试 | 稳定线 v1.20.x,横轴快照过时 | Releases API v1.20.0=2026-10-22 |
| 3 | TurboQuant 首发版本 | v1.18.0(2026-05-11) | "2026-05 引入"但挂在 1.16 名下 | v1.18.0 首发 turbo4/turbo8(v1.16.0 实为 2025-11-17);日期两章一致,版本归属以纵轴为准 | Releases 说明关键词扫描:TurboQuant 首现 v1.18.0 |
| 4 | Chroma 是否有稀疏/BM25 | 2026 年"Chroma 全文检索" | 无原生稀疏检索(haystack#933) | 横轴结论成立于 2025 年中,1.3.0(2025-10-29)起以 BM25 embedding function 形态补齐,1.4.0 修多线程 bug;两章各对了一半,按时间线合并陈述 | Releases 1.3.0/1.3.3/1.4.0/1.5.0 说明原文 |
| 5 | Chroma 量化能力 | 1.5.6 引入 RaBitQ 1-bit | "量化能力有限" | 1.5.0(2026-02-09)多比特 RaBitQ、1.5.6(2026-04-07)1-bit 实现,横轴说法过时 | Releases 1.5.0/1.5.6 说明原文 |
| 6 | Milvus 当前版本 | 3.0.x(2.6.26"计划"10-26) | 2.6 为当前主线 | v3.0.4 与 v2.6.26 已于 2026-10-26 同日发布,双线维护;横轴快照过时,纵轴"计划"已成事实 | Releases API 前 10 条 |
| 7 | pgvector 当前版本 | 0.8.2(2026-02-25) | PGXN 显示 0.8.7(2026-10 发布) | 0.8.7(2026-10-01)为最新已发布版,纵轴快照过时;0.9.0 unreleased | 官方 CHANGELOG 抓取 |
| 8 | Qdrant 压缩数字 / Chroma SQLite 迁移归属 | BQ 32x(2024);0.4.0(2023)换 SQLite | 1.15 非对称量化 64x;1.0(2025)"SQLite 迁移" | 两者均非矛盾而是不同技术代际:压缩为 BQ 32x→非对称 64x→TurboQuant 8x 三代,按时间线并列;SQLite 更换发生在 0.4.0(2023),1.0 的变化是 Rust 重写核心,横轴系误记 | 两章来源交叉;官方迁移文档 |