概览
vchord 是一款专为可扩展、高性能且磁盘高效的向量相似性检索而设计的 PostgreSQL 扩展。
借助 vchord,您仅需 1 美元即可存储 400,000 个向量,从而显著节省成本:在同等价格下,可存储的向量数量是 Pinecone 优化型存储的 6 倍,是 pgvector/pgvecto.rs 的 26 倍1。欲了解更多详情,请参阅我们的发布博文。
核心特性
相较于 pgvecto.rs 和 pgvector,vchord 带来了显著的增强:
⚡ 性能大幅提升:与 pgvector 的 HNSW 实现相比,经过全面优化的操作可提供最高 5 倍的查询加速、16 倍的写入吞吐量提升,以及 16 倍的索引构建提速1。
💰 高性价比向量检索:仅需 32GB 内存即可查询 1 亿条 768 维向量,在保持 Top-10 召回率达 95% 的同时实现 35ms 的 P50 延迟,助您在保障高质量检索的同时大幅降低基础设施成本。
🔌 无缝集成:完全兼容 pgvector 的数据类型与语法,并提供开箱即用的最优默认配置——无需手动调优参数。只需直接引入 vchord,即可获得性能跃升。
🔧 加速索引构建:支持利用 IVF 在外部(例如 GPU 上)构建索引以加快 KMeans 聚类速度,并结合 RaBitQ2 压缩算法高效存储向量,同时通过自适应重排序(reranking)确保检索质量。
📏 超长向量支持:支持存储和检索最高达 60,0003 维的向量,让您轻松使用 text-embedding-3-large 等顶尖高维模型。
🌐 按需灵活扩展:基于水平扩展架构,针对 500 万或 1 亿条 768 维向量的查询可轻松扩展至 10,000+ QPS(Top-10 召回率达 90%),且具备极具竞争力的成本优势4。
快速开始
对于新用户,我们推荐使用 Docker 镜像快速上手。如果您倾向于不使用 Docker,请参阅安装指南了解其他安装方式。
除了包含 VectorChord 扩展的基础镜像外,我们还提供了全合一镜像
tensorchord/vchord-suite:pg18-latest。该综合镜像包含了所有官方 TensorChord 扩展。开发者应根据支持矩阵选择与所需扩展版本兼容的镜像标签。
随后,您可以使用 psql 命令行工具连接到数据库。默认用户名为 postgres,默认密码为 mysecretpassword。
现在,您可以开始体验 VectorChord 了!
VectorChord 依赖于 pgvector(包括其向量数据表示形式)。由于您可以直接使用它们,您的应用程序可以毫无痛点地轻松完成迁移!
与 pgvector 类似,您可以创建一张包含向量列的表,并向其中插入一些数据。
借助 VectorChord,您可以创建 vchordrq 索引:
然后使用 SELECT ... ORDER BY ... LIMIT ... 执行向量检索:
欲了解更多用法,请阅读:
开源许可
vchord 采用 GNU Affero 通用公共许可证 v3.0(AGPL-3.0-only) 发布。我们欢迎任何商业合作或支持咨询,如有任何问题或需求,请发送邮件至 [email protected]。
-
基于 MyScale Benchmark 测试(768 维向量,95% 召回率)。更多详情请参阅我们的博文。 ↩︎ ↩︎
-
Gao, Jianyang, and Cheng Long. “RaBitQ: Quantizing High-Dimensional Vectors with a Theoretical Error Bound for Approximate Nearest Neighbor Search.” Proceedings of the ACM on Management of Data 2.3 (2024): 1-27. ↩︎
-
目前 pgvector 存在 16,000 维的限制。如果您确实需要处理更高维度的向量(
16,000<dim<60,000),可以考虑修改 VECTOR_MAX_DIM 并自行编译 pgvector。 ↩︎ -
更多详情请参阅我们的博文,其中 PostgreSQL 的水平扩展能力由 CloudNative-PG 提供支持。 ↩︎