部署 AI Agent 或 RAG 应用时,向量数据库怎么选?Milvus、Qdrant、Weaviate 和 PostgreSQL(pgvector)是四个最常被提到的方案。主机选技术博客经常收到这类咨询:我只有一台 2C4G 的 VPS,跑 Claude Code 或 n8n 工作流,该用哪个?本文直接从实战角度拆解它们的资源占用、部署难度、查询性能和适用场景,帮你少走弯路。

向量数据库怎么选?先看你的场景
选择向量数据库之前,先回答三个问题:
1.数据量:几万条还是几百万条向量?
2.实时性:需要毫秒级检索还是可以接受秒级?
3.运维能力:你愿意花多少时间维护数据库?
不同答案直接决定选型方向。下面逐一拆解四个方案的硬指标。
Milvus:大规模生产环境的首选
Milvus 是专为向量检索设计的分布式数据库,支持十亿级向量索引(IVF、HNSW、DiskANN)。如果你的数据量超过 100 万条,且对召回率和延迟要求高,它是最成熟的选择。
部署与资源
docker-compose -f milvus-standalone-docker-compose.yml up -d
实际跑起来,Milvus 的 etcd、minio、standalone 三个容器会吃掉 3-4GB 内存。2C4G 的 VPS 很难稳定运行,建议最低 4C8G。如果只有轻量服务器,优先考虑 Qdrant 或 pgvector。
适用场景
• 电商图片搜索、百万级文档嵌入
• 需要高并发、分布式扩展的 AI 产品
• 你愿意投入精力学习 Milvus 的索引参数调优
Qdrant:轻量、高性能、Docker 友好
Qdrant 是用 Rust 写的,单机性能极高,内存管理比 Milvus 好很多。2C4G 的 VPS 跑 Qdrant + 10 万条 768 维向量很轻松。
部署命令
docker run -d -p 6333:6333 qdrant/qdrant
启动后默认监听 6333,提供 REST API 和 gRPC。内存占用根据向量数量动态调整,初始约 200MB。索引默认用 HNSW,查询延迟在 10ms 以内。
适用场景
• 中小规模 RAG(检索增强生成)应用
• n8n 或 Open WebUI 的向量存储后端
• 个人项目、自动化工作流,不想折腾复杂运维
Weaviate:自带推理模块的“全家桶”
Weaviate 集成了向量化、存储、检索和推理功能。你可以直接传入文本,它自动调用 OpenAI、Cohere 或本地模型生成向量。对新手友好,但资源开销比 Qdrant 高。
部署与资源
docker run -d -p 8080:8080 semitechnologies/weaviate:latest
默认启动需要 1-2GB 内存,如果启用 text2vec 模块(调用外部 API),额外消耗网络和 CPU。2C4G 勉强能跑,但建议 4C8G。
适用场景
• 不想自己写向量化代码的团队
• 需要混合搜索(向量+关键词)的场景
• 快速原型验证,但生产环境需注意 API 费用
PostgreSQL + pgvector:数据库老玩家的利器
如果你已经在用 PostgreSQL,pgvector 扩展是最省事的方案。它把向量索引作为普通列存储,支持 HNSW 和 IVFFlat 索引。缺点是查询性能在大数据量下不如专用向量库。
安装与配置
git clone https://github.com/pgvector/pgvector.git
cd pgvector && make && make install
CREATE EXTENSION vector;
创建表时定义向量列:
sql
CREATE TABLE items (id bigserial, embedding vector(768));
CREATE INDEX ON items USING hnsw (embedding vector_cosine_ops);
适用场景
• 已有 PostgreSQL 业务,不想引入新组件
• 数据量在 10 万条以下,对延迟不敏感
• 需要事务、ACID 保证的混合应用(如用户权限+向量检索)
老鸟叮嘱:避坑指南
1.别盲目上 Milvus:2C4G 的 VPS 跑 Milvus 会频繁 OOM,老老实实用 Qdrant 或 pgvector。
2.索引类型别选错:IVFFlat 适合快速插入但查询慢,HNSW 适合高召回但内存消耗大。10 万条以下用 HNSW 没问题。
3.向量维度别太高:常见模型输出 768 或 1024 维,有人硬上 4096 维,索引构建慢到怀疑人生。
4.端口安全:Qdrant 默认 6333 端口别裸奔,用 Nginx 反向代理加 API Key 鉴权。Weaviate 同理。
5.备份策略:Milvus 和 Qdrant 都支持快照,pgvector 直接备份 PostgreSQL 即可。别等数据丢了才想起备份。
FAQ
问:1C2G 的 VPS 能跑哪个向量数据库?
答:只能跑 pgvector(PostgreSQL 本身需要 1GB 内存),或者用 Qdrant 的轻量模式(限制内存上限)。Milvus 和 Weaviate 基本没戏。
问:Qdrant 和 pgvector 哪个查询更快?
答:10 万条以内两者差距不大。超过 50 万条,Qdrant 的 HNSW 索引比 pgvector 的 IVFFlat 快 2-3 倍。
问:我在用 n8n 做自动化工作流,该选哪个?
答:n8n 官方支持 Qdrant 和 Weaviate 节点,后者需要配置 API Key。建议 Qdrant,部署简单,内存占用低。
问:Milvus 的分布式模式在 VPS 上能部署吗?
答:很难。分布式模式需要至少 3 台节点,每台 8GB 内存起。个人用户用 standalone 模式即可。
问:pgvector 的 HNSW 索引和 Qdrant 的 HNSW 有区别吗?
答:底层算法类似,但 Qdrant 做了大量内存和 I/O 优化,同等硬件下 Qdrant 的吞吐量更高。
问:向量数据库需要 GPU 吗?
答:不需要。向量检索是 CPU 密集型,GPU 只在生成向量时有用。部署在 VPS 上,CPU 内存够就行。
选型没有绝对好坏,关键是匹配你的数据量、硬件和运维能力。对于大多数个人开发者和中小项目,Qdrant 是平衡点最好的选择;如果你已经用 PostgreSQL,pgvector 零成本接入;数据量上百万且团队有运维经验,Milvus 值得投资。别纠结参数,先跑起来再说。
—
**相关阅读:**
– [VPS部署AI工具100讲:AI Agent、Codex、Claude Code、Hermes Agent、Ollama与自动化工作流实战教程](https://www.zhujixuan.com/jishujiaocheng/9606.html)
– [n8n VPS 部署教程:搭建自己的自动化工作流平台](https://www.zhujixuan.com/jishujiaocheng/9892.html)
– [AI Agent自动化运维实战100讲:VPS巡检、日志分析、告警处理与工作流教程](https://www.zhujixuan.com/jishujiaocheng/10066.html)
转载请注明出处:https://www.zhujixuan.com/jishujiaocheng/9888.html 商家投稿邮箱:zhujixuanblog@qq.com
