检索基础设施与向量存储

面向生产的向量搜索基础设施:引擎选型、嵌入流水线、索引生命周期与规模化扩展,为企业级 AI 检索提供可运维的稳定保障。

向量搜索的概念验证与能够承受真实查询流量的生产系统,是两个完全不同的工程问题。我们构建并运维位于您 RAG 流水线、智能体工作流或语义搜索产品底层的检索基础设施层——包括向量引擎、为其供给数据的嵌入流水线、保持其健康运行的索引生命周期管理,以及在用户察觉之前捕获质量退化的可观测性栈。

在引擎选择上我们保持厂商中立。我们的实践对以下引擎一视同仁: Qdrant、Milvus、Weaviate、pgvector 和 Elasticsearch kNN,至于我们推荐哪一款,取决于您的向量规模、查询模式、多租户需求和运维能力。

从 5 万向量的演示到 2 亿向量的生产系统

演示与生产系统之间的差距,几乎完全是一个基础设施问题。演示将 5 万个向量 载入 Pinecone,运行一次余弦相似度查询,并在 40 毫秒内返回结果。生产环境则完全不是这样。

  • 2 亿个向量每秒 500 次查询 的持续负载
  • 15 个元数据过滤维度 ,且文档更新频率为 每小时
  • 三个团队在严格的租户隔离下共享同一个集群

在这样的规模下,HNSW 压缩峰值会将您的 P99 拉升至 800 毫秒,召回率在经历一周的增量更新后会悄然退化,而嵌入流水线也跟不上您的文档变更速率。这正是我们发挥作用的地方。

引擎选择是一项基准测试工作,而非品牌决策

每家厂商都声称拥有业界领先的性能;而基准测试讲述的是一个更微妙的故事。我们不是从功能矩阵中挑选数据库——我们载入您真实的向量,用您真实的元数据过滤器运行您真实的查询,并在具有运维意义的 k 值上衡量召回率,同时测量并发负载下的 P50/P95/P99 延迟。

引擎突出能力(依据来源中的基准测试)
pgvector 0.8迭代扫描可实现 在 Aurora PostgreSQL 上、5000 万向量、99% 召回率下达到 471 QPS ;迭代扫描解决了过滤搜索问题,而该问题曾一度让专用引擎成为必需。
Qdrant标量量化可从 NVMe SSD 上提供 十亿级向量索引,P95 低于 20 毫秒27K+ GitHub 星标 ,以及激进的版本发布节奏。
Elasticsearch 9.2DiskBBQ 保持 无论索引大小如何都仅占 100MB 内存,从根本上改变了大规模部署的成本模型。
Milvus 2.5在单一引擎中原生支持 混合搜索 (全文加向量),并具备 GPU 加速的 CAGRA 索引。
Weaviate多租户可处理 每节点 5 万个活跃分片 ,以及 在约 20 个节点上支持 100 万并发租户 ——不过在该规模下的运维复杂度需要特定的专业能力。

结果常常与厂商的营销宣传相矛盾。Pinecone 的无服务器层看似性价比很高,直到持续的高 QPS 工作负载将读取单元成本推过自托管的盈亏平衡点;pgvector 看似受限,直到迭代扫描弥合了过滤搜索的差距。

嵌入流水线才是生产检索真正崩溃之处

团队将 60% 的向量搜索工程投入花在流水线上,而非存储本身。流水线负责文档摄取、分块、嵌入模型推理、文档更新时的增量重建索引,以及元数据传播——而每个阶段都有会悄然使检索质量退化的失效模式。

  • 陈旧知识 ——第二常见的生产 RAG 失效。文档已在 Confluence 中更新,但索引仍在提供旧的嵌入。修复方法是通过变更数据捕获触发器进行增量重嵌入,而非每晚批量重建索引。
  • 幽灵文档 ——源文档已被删除,但其向量仍然存在,为已不复存在的内容返回结果。由于在拆分架构中跨真源系统与向量存储实现原子事务几乎不可能,我们构建对账层来检测并清除孤立向量。

嵌入模型的选择比大多数团队意识到的更为重要,而事后切换代价高昂:当您从 800 万篇文档text-embedding-ada-002 升级到 text-embedding-3-large 时重嵌入这些文档,需要耗费数天的计算资源,并需要双写基础设施以避免停机。我们会在您做出决定之前,针对您特定领域的查询集来评估各个模型。

  • Cohere embed-v4 ——在多语言检索方面领先,价格为 每百万 token 0.01 美元 ,覆盖 100 多种语言
  • Nomic Embed v2 —— 1.37 亿参数,可在 CPU 上运行,具备市场上最佳的质量与规模比。
  • OpenAI text-embedding-3-large ——一款出色的全能选手。

正确的选择取决于您的语言组合、延迟要求,以及您能否接受 API 依赖或是否需要本地推理。

索引生命周期:无人警示过您的运维难题

HNSW 索引会退化——这不是缺陷,而是一种架构上的现实。在 1.6 亿向量规模下,一次完整的 HNSW 重建需要 3–6 小时。增量更新会使图结构变得次优,并随时间侵蚀召回率;压缩事件会使查询延迟出现峰值;每一次 upsert、删除和段合并都会触发子索引重建,把 CPU 耗费在维护上,而非服务查询。这种权衡无可回避:将召回率从 0.8 提升到 0.95 会使 HNSW 延迟大约提高 31%

我们设计的生命周期管理能够在不损失质量的情况下吸收持续的摄取:

  • 蓝绿索引轮换 ——在独立的基础设施上重建,并以零停机的方式原子式切换。
  • 自动化召回验证门 ——在每次重大操作后,将黄金查询集与当前索引进行对比;如果召回率跌破阈值,切换便不会发生。
  • GPU 加速的 HNSW 构建 在 Qdrant 和 Elasticsearch 中可将重建时间缩短一个数量级,尽管何时重建、如何验证以及如何切换的编排属于定制化工程。

量化进一步拓展了这一点。Qdrant 现已提供 1.5 位、2 位和非对称 量化,而 Elasticsearch BBQ 可将堆内存减少 相比 float32 超过 95%。这些方案节省内存并提升吞吐量,但每种方案针对不同的数据分布都有不同的召回率特性——因此在生产环境部署量化之前,我们会针对您特定的向量刻画其召回率影响。

真实规模下的多租户与隔离

服务于 200 多个内部 ML 团队的平台团队,或拥有数千个客户租户的 SaaS 产品,都需要保证隔离的基础设施:租户 A 的查询绝不能返回租户 B 的数据,审计日志必须将每一次查询追溯到某个租户身份,而冷租户不应消耗热租户所需的资源。

  • Weaviate ——带有租户状态(ACTIVE、INACTIVE、OFFLOADED 到 S3)的一租户一分片模型,是面向高租户数部署的最成熟的实现。
  • Milvus ——支持在数据库、集合、分区或分区键级别进行隔离,将粒度与您的合规要求相匹配。

两者在规模化时都需要定制编排——租户配置、状态转换、配额管理和跨租户泄漏检测都不由数据库本身处理。我们构建运维层,使多租户对于需要满足 SOC 2 或 ISO 27001 合规的受监管部署变得可管理。

智能体工作流正在重塑基础设施需求

智能体 AI 浪潮改变了向量存储必须做到的事情。静态 RAG 针对固定语料库检索文档。智能体工作流则需要 情景记忆 (对话历史与中间推理)、针对大型文档语料库的 语义搜索 ,以及 用户画像层 ——通常在单个智能体步骤中同时命中这三者。其 低于 400 毫秒 的延迟要求比批处理 RAG 更为严苛,而对于在不产生部分写入的情况下更新状态的多步骤智能体来说,ACID 事务支持正变得不可或缺。

没有单一向量数据库能同时很好地处理这三种记忆层,因此团队会组装多存储架构: Redis 用于会话状态, Qdrant 或 Milvus 用于语义搜索,以及一个 图数据库 用于关系追踪。 Oracle 的统一内存核心(Unified Memory Core,2026 年 3 月) 尝试在单一引擎中融合向量、JSON、图、关系和空间查询。我们为智能体系统设计检索层——哪些存储处理哪些记忆类型、查询如何在各存储之间路由,以及当智能体在单个推理步骤中跨多个后端更新状态时如何保持一致性。

我们交付的内容

每一次合作都从 基准测试阶段开始:我们载入您的向量、运行您的查询,并产出量化的引擎推荐。在此基础上,我们构建生产基础设施:

  • 包含容量规划和扩展运维手册的 向量存储集群
  • 包含 CDC 触发的增量重建索引和模型版本管理的 嵌入流水线
  • 包含蓝绿轮换和召回验证门的 索引生命周期自动化
  • 在您需要租户隔离时的 多租户编排层
  • 包含漂移检测、召回率回归告警和 P95/P99 延迟监控的 可观测性栈
  • 迁移工具 ,面向在引擎之间迁移的团队,使用中间 Parquet 格式,在维度匹配时保留嵌入,而不是强制进行完整的重嵌入。

我们为每一次合作制定明确的 每月基础设施成本预测,让您在做出决定之前就知道生产环境将花费多少。

要点总结

  • 从演示到生产的差距是一个基础设施问题:40 毫秒下的 5 万向量变成了 2 亿向量、500 QPS、15 个过滤维度以及每小时更新。
  • 引擎选择是一项跨 pgvector 0.8、Qdrant、Elasticsearch 9.2、Milvus 2.5 和 Weaviate 的基准测试工作——依据您的向量来衡量,而非功能矩阵。
  • 60% 的工程投入在嵌入流水线上,陈旧知识、幽灵文档和代价高昂的模型切换(800 万篇文档的重嵌入)会在此悄然侵蚀质量。
  • HNSW 索引会退化;蓝绿轮换、召回验证门和量化可在不停机的情况下保持召回率稳定。
  • 多租户和低于 400 毫秒的智能体检索需要数据库本身并不提供的编排——为 SOC 2 / ISO 27001 部署而构建,并预先给出每月成本预测。

检索基础设施与向量存储

常见问题

常见问题解答

运行生产级向量搜索基础设施的成本是多少?

成本取决于向量数量、查询量,以及您使用的是托管还是自托管基础设施。Pinecone 起价为每月最低 50 美元(Standard 版),读取单元每百万个 8.25 美元,存储每 GB 每月 0.33 美元。在每月 6000 万到 1 亿次查询的量级下,自托管会便宜 50-75%。对于基于 API 的模型(Cohere embed-v4、OpenAI text-embedding-3-small),嵌入成本为每百万 token 0.01-0.02 美元,或者本地推理的 GPU 实例成本。隐性成本在运维层面:1.6 亿向量规模下的 HNSW 索引重建需要 3-6 小时的计算,嵌入模型切换需要对整个语料库重新嵌入,而索引生命周期管理(压缩、召回验证、蓝绿轮换)需要专门的工程能力。我们为每一次合作制定每月运行费率预测,涵盖存储、计算、嵌入推理和运维开销。

我们应该使用 pgvector、Qdrant、Milvus、Weaviate 还是 Elasticsearch 来做向量搜索?

在给出推荐之前,我们会针对候选引擎对您真实的向量和查询进行基准测试。pgvector 0.8 配合迭代扫描,可在 5000 万向量、99% 召回率下实现 471 QPS,如果您已经在运行 PostgreSQL,则无需额外成本。Qdrant 的标量量化可从 NVMe SSD 上提供十亿级向量索引,P95 低于 20 毫秒,并具备 GPU 加速的 HNSW 构建以加快索引构建。Elasticsearch 9.2 DiskBBQ 无论索引大小如何都保持 100MB 内存,改变了超大规模部署的经济性。Milvus 2.5 提供原生混合搜索和 GPU CAGRA 索引。Weaviate 每节点可处理 5 万个活跃分片,适用于高租户数的 SaaS 工作负载。正确的选择取决于您的向量数量、元数据过滤复杂度、多租户需求,以及您的团队能否运维 Kubernetes 集群或是否需要托管服务。

为什么我们的向量搜索质量在生产环境中会随时间退化?

有三个常见原因。第一,嵌入漂移:您的数据分布发生了变化,但索引是基于旧分布构建的。Drift-Adapter 技术可在不进行完整重建的情况下恢复 95-99% 的原始性能。第二,陈旧知识:文档已在源系统中更新,但向量索引仍在提供旧的嵌入,因为您的重建索引运行在每晚批量作业上,而非 CDC 触发器。第三,增量更新导致的 HNSW 图退化。随着向量随时间被添加和删除,图结构变得次优,而召回率在没有任何错误信号的情况下退化。修复方法需要针对黄金查询集的自动化召回验证、由文档变更事件触发的增量重建索引,以及定期的蓝绿索引轮换以恢复图质量。

我们如何在向量数据库之间迁移而无需对所有内容重新嵌入?

不存在标准的向量数据格式,而且大多数向量数据库不支持以可移植保留嵌入的方式导出数据。像 Airbyte 和 SeaTunnel 这样的主流 ETL 工具无法处理向量迁移。如果您的源端和目标端使用相同的嵌入维度,您可以将向量导出为中间的 Parquet 或 HDF5 格式,并将其重新加载到新引擎中而无需重新嵌入。如果您同时还在更换嵌入模型,那么从源端重新嵌入将不可避免。我们构建具备双写能力的迁移工具,使您的生产系统在新存储追赶进度的同时继续从旧存储提供服务。从 Pinecone 到自托管的迁移通常需要 2-4 周,具体取决于向量数量和元数据复杂度。

我们如何在向量搜索中处理多租户和数据隔离?

Weaviate 的一租户一分片模型是面向高租户数部署最成熟的方案:每节点 5 万个活跃分片、在约 20 个节点上支持 100 万并发租户,并带有用于成本管理的租户状态(ACTIVE、INACTIVE、OFFLOADED 到 S3)。Milvus 支持在数据库、集合、分区或分区键级别进行隔离。两者在规模化时都需要定制编排:租户配置、状态转换、配额执行和审计日志都不由数据库本身处理。为满足 SOC 2 或 ISO 27001 合规,您还需要查询级别的访问追踪和跨租户泄漏检测。我们围绕向量存储构建运维层,以管理租户生命周期并提供受监管部署所需的审计轨迹。

我们应该为生产检索使用哪种嵌入模型?

默认应针对您特定领域的查询来评估,而非 MTEB 排行榜的排名。Cohere embed-v4 在多语言检索方面领先,价格为每百万 token 0.01 美元,具备 1,024 维,覆盖 100 多种语言。OpenAI text-embedding-3-large 是一款出色的通用选项。Nomic Embed v2 以 1.37 亿参数提供最佳的质量与规模比,并可在 CPU 上运行,省去 GPU 推理成本。对于多模态检索,Qwen3-VL-2B 可在单一模型中处理文本、图像和文档。生产环境的共识是 RAG 工作负载使用 768-1,024 维。关键考量是切换成本:事后更换模型意味着对整个语料库重新嵌入,这在 800 万篇文档规模下需要耗费数天的计算,并需要双写基础设施。我们会在您做出决定之前,针对您的查询模式对候选模型进行基准测试。

我们如何在不停机的情况下处理 HNSW 索引重建?

在仅使用 CPU 的硬件上,1.6 亿向量规模的 HNSW 索引重建需要 3-6 小时。Qdrant 和 Elasticsearch 9.3 中(通过 NVIDIA cuVS)的 GPU 加速 HNSW 构建可将此缩短最多一个数量级。但重建时间只是问题的一半。真正的挑战是在不让生产索引下线的情况下重建。我们实施蓝绿索引轮换:一个全新的索引在独立的基础设施上构建,而现有索引继续服务查询。构建完成后,自动化召回验证针对黄金查询集运行。如果召回率达到阈值,流量将原子式切换。如果没有达到,旧索引继续提供服务,我们进行调查。这也解决了压缩延迟峰值问题,因为新索引具备最优的图结构,不存在增量更新带来的碎片化。

智能体 AI 系统需要什么样的向量基础设施?

智能体工作流需要超越静态文档检索的多个记忆层:用于对话历史和中间推理的情景记忆、针对文档语料库的语义搜索,以及用户画像或偏好存储。智能体检索低于 400 毫秒的延迟要求比批处理 RAG 更为严苛,而对于在不产生部分写入的情况下更新状态的多步骤智能体来说,ACID 事务支持至关重要。没有单一向量数据库能很好地处理所有记忆层。生产实现使用多存储架构:Redis 或 DynamoDB 用于会话状态,Qdrant 或 Milvus 用于语义搜索,以及一个图数据库用于关系追踪。Oracle 的统一内存核心(Unified Memory Core,2026 年 3 月)在单一引擎中融合向量、图和关系查询。我们为智能体系统设计检索基础设施层,处理跨存储的查询路由,以及当智能体在单个推理步骤中更新多个后端时的一致性管理。

满怀信心地构建您的 AI。

与一支在打造新一代企业级 AI 方面拥有深厚经验的团队携手合作。让我们助您设计、构建并部署一套值得信赖的 AI 战略。

Veriprajna 深度科技咨询公司 专注于为医疗健康、金融和监管等领域构建安全攸关的 AI 系统。我们的架构均依据成熟的规范进行验证,并配有完善的合规文档。