Skip to content

LV015-向量数据库

向量数据库是 RAG 系统的“语义底座”,使用什么数据库决定检索质量与系统可扩展性。

向量数据库在 RAG(Retrieval-Augmented Generation, 检索增强生成)系统中承担了向量化后的文本、图像、代码等数据的高效存储与近邻检索。实际工程中,向量数据库的选则直接影响系统性能、成本和后续扩展能力。

一、RAG 系统中的向量数据库

图 1: RAG 系统中的向量数据库位置

如图所示,向量数据库位于 Embedding 输出Context 构建 之间,是信息检索质量的核心影响因素。

二、 常见的数据库

1. 可以选择哪些数据库啊?

方案最佳使用场景优势局限典型规模
Chroma本地开发、轻量应用、桌面级 RAG零依赖、好用、迭代快不适合超大规模/分布式≤ 100 万向量
Milvus企业级集群、十亿向量、多租户高吞吐、GPU 索引、多副本 HA运维成本高1 亿~10 亿向量
Weaviate结构化 + 向量混合搜索、知识库GraphQL、Filter 强、插件丰富部署复杂度略高1 百万~5 亿
PGVector已经大量使用 PostgreSQL 的团队无需引入新系统、关系型融合索引能力弱于专业库≤ 数百万向量
Qdrant高性能、快速落地、云原生Rust 实现、高并发、实时更新生态略逊于 Milvus百万~数亿
Pinecone(商用)不希望自运维、想快速上线托管服务、全托管索引成本较高、闭源视套餐而定

总的来说,轻量用 Chroma,本地用 PGVector,大规模用 Milvus,语义 + 结构搜索用 Weaviate,全托管选 Pinecone,高性能选 Qdrant。

2. 数据库简介

2.1 Chroma

Chroma 是开源的 AI 应用数据库。Chroma 通过让知识、事实和技能可作为大模型的插件,使构建大模型应用变得简单。

Chroma 采用模块化架构设计,注重性能和易用性。它能从本地开发无缝扩展到大规模生产环境,同时在所有部署模式下提供一致的 API。无论采用何种部署模式,Chroma 都由五个核心组件构成。每个组件在系统中都扮演着独特的角色,并基于共享的 Chroma 数据模型 运行。

Chroma System architecture

更深入的了解可以看官网文档:Introduction - Chroma Docs

2.2 Milvus(分布式架构)

Milvus 是一个 开源 云原生 向量数据库,专为在海量向量数据集上进行高性能相似性搜索而设计。它建立在流行的向量搜索库(包括 Faiss、HNSW、DiskANN 和 SCANN)之上,可为人工智能应用和非结构化数据检索场景提供支持。

下图说明了 Milvus 的高层架构,展示了其模块化、可扩展和云原生的设计,以及完全分解的存储层和计算层。

Architecture_diagram

Milvus 遵循数据平面和控制平面分解的原则,由四个主要层组成,在可扩展性和灾难恢复方面相互独立。这种共享存储架构具有完全分解的存储层和计算层,可实现计算节点的横向扩展,同时将啄木鸟作为零磁盘 WAL 层实施,以增强弹性并减少操作开销。

通过将流处理分为流节点(Streaming Node)和批处理分为查询节点(Query Node)和数据节点(Data Node),Milvus 在满足实时处理要求的同时实现了高性能。

更深入的了解可以看官方文档:Milvus 架构概述 | Milvus 文档

2.3 Weaviate(模块化插件架构)

Weaviate 是一个开源的人工智能向量数据库。擅长多模态检索与结构化数据混合搜索,插件生态丰富。

图 3: Weaviate 模块化插件架构

它的一些基本概念可以看这里:Concepts | Weaviate Documentation

2.4 PGVector(关系型融合)

pgvector 是 Postgres 的开源向量相似度搜索,支持精确和近似最近邻搜索,基本架构如下:

图 4: PGVector 关系型融合架构

PGVector 无需引入额外组件,是最“成本友好”的解决方案,适合小规模或已有 PostgreSQL 资产的场景。

3. 工程实践中的建议

工程点建议
索引选型Milvus 用 IVF+PQ;Qdrant/Weaviate 用 HNSW;PGVector 优先 HNSW
Embedding 维度低维度更快;高维度更准,但更吃内存
Metadata Filter所有向量库都支持,但 Weaviate / Qdrant 最强
多模态检索Weaviate(最完善)
可观测性Milvus、Qdrant 表现最佳
向量更新频率Qdrant 更新性能优于 Milvus

三、总结

向量数据库不是“越强越好”,而是应根据预算、团队能力、数据规模、更新频率、部署环境来选择。在 AI Native 系统中,它本质上是:

  • 语义检索引擎
  • 上下文质量的决定因素
  • RAG 能否扩展到企业级的关键瓶颈点

合理的选则与调优能使 RAG 系统在准确率、召回率、延迟与成本之间做到最佳平衡。