首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Go 对接向量数据库:Pgvector、Milvus、Qdrant 等客户端的选型

Go 对接向量数据库:Pgvector、Milvus、Qdrant 等客户端的选型

作者头像
技术圈
发布2026-03-02 20:04:16
发布2026-03-02 20:04:16
1120
举报

做 RAG、语义检索或推荐时,要把 Embedding 向量 存起来、按相似度查,就得用向量数据库。Go 里常见的选择有三类:Pgvector(PostgreSQL 扩展)、MilvusQdrant。选哪个取决于你是否已有 Postgres、数据量和运维成本。这篇就聊这三者在 Go 里的客户端选型接入要点


  • Pgvector:是 PostgreSQL 的一个扩展,向量当一列存。适合本来就用 Postgres 的团队,不想多维护一个组件,数据量在百万级以内、QPS 不是特别夸张时很够用。Go 里用 pgx + pgvector-go 即可。
  • Milvus:独立向量库,支持大规模、分布式,适合向量数据量很大或要单独扩缩容的场景。官方有 milvus-sdk-go,接口偏「集合 + 列式插入 + 建索引再搜」。
  • Qdrant:也是独立向量库,API 设计偏 REST/gRPC,过滤条件(payload filter)和多向量支持比较顺手。Go 用 github.com/qdrant/go-client,文档和示例都比较全。

Pgvector:用 pgx + pgvector-go

前提:Postgres 已安装并启用 pgvector 扩展(CREATE EXTENSION vector)。Go 侧用 pgx 连库,用 pgvector-go 注册向量类型并读写。

核心流程:启用扩展 → 建表(vector(1536) 列)→ 注册向量类型 → 插入/查询(SQL + <->/<=>)。

适用场景:已有 Postgres、数据量不大、希望统一存储管理的团队。

Git 地址

  • 官方扩展:github.com/pgvector/pgvector
  • Go 客户端:github.com/pgvector/pgvector-go(支持 pgx)

Milvus:用官方 Go SDK

Milvus 需要先起服务(Docker 或集群),再用 milvus-sdk-go 连。概念是 Collection(类似表)、Field(含主键、向量列等),插入要按组织数据,查询前要建索引LoadCollection

核心流程:建 Collection → 列式 Insert → 建索引 → LoadCollection → Search。

适用场景:向量量大、要独立扩展的场景。

Git 地址

  • 官方仓库:github.com/milvus-io/milvus(向量数据库)
  • Go SDK:github.com/milvus-io/milvus-sdk-go(官方 Go 客户端)

Qdrant:用 go-client

Qdrant 提供 go-client,支持 gRPC。概念是 CollectionPoint(id + vector + payload),插入用 Upsert,查询用 Search。

核心流程:创建 Collection → Upsert points → Search(可带 payload 过滤)。

适用场景:需要过滤、多向量、接口顺手的项目。

Git 地址

  • 官方仓库:github.com/qdrant/qdrant(向量数据库)
  • Go 客户端:github.com/qdrant/go-client(支持 gRPC)

写在最后

  • Pgvector:Postgres 扩展,Go 用 pgx + pgvector-go,建表带 vector(N) 列,插入/查询用 SQL + <-> / <=>,适合已有 PG、数据量不大的场景。
  • Milvus:独立向量库,Go 用 milvus-sdk-go,流程是建 Collection → 列式 Insert → 建索引 → LoadCollection → Search,适合大规模、需独立扩展。
  • Qdrant:独立向量库,Go 用 go-client,CreateCollection → Upsert points → Search(可带 payload 过滤),适合检索条件多、接口顺手的场景。
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2026-02-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 技术圈子 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Pgvector:用 pgx + pgvector-go
  • Milvus:用官方 Go SDK
  • Qdrant:用 go-client
  • 写在最后
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档