跳转到主要内容

Junyu Chen

TensorChord 核心工程师 · vchordrq、vchordg 与 RaBitQ 量化引擎作者 (@cutecutecat)

TensorChord 核心工程师,专注于高维向量索引(vchordrq 与 vchordg)、SIMD 硬件加速与十亿级向量基准测试。GitHub:@cutecutecat。

  • VectorChord 1.1:原生 4/8 比特向量类型与每索引查询默认值

    Junyu Chen 发布于 版本发布 2131 字 5 分钟

    Junyu Chenreleasevector-databasevectorchord

    VectorChord 1.1:原生 4/8 比特向量类型与每索引查询默认值

    值此马年新春开启之际,我们非常高兴地宣布发布 VectorChord 1.1。 VectorChord 1.0 是 Postgres 原生向量搜索的一个重要里程碑:它让大规模索引构建变得足够快,感觉就像日常迭代而非停机维护。在 1.1 版本中,我们在此基础上更进一步,推出了 RaBitQ8:这是一种全新的向量类型,相比 float32 可节省 4 倍存储空间并提供更快的搜索速度,同时召回率损失不到 1%。配合 RaBitQ4 以及更具可组合性的查询控制能力,VectorChord 1.1 已准备 …

    值此马年新春开启之际,我们非常高兴地宣布发布 VectorChord 1.1。 VectorChord 1.0 是 Postgres 原生向量搜索的一个重要里程碑:它让大规模索引构建变得足够快,感觉就像日常迭代而非停机维护。在 1.1 版本中,我们在此基础上更进一步,推出了 RaBitQ8:这是一种全新的向量类型,相比 float32 可节省 4 倍存储空间并提供更快的搜索速度,同时召回率损失不到 1%。配合 RaBitQ4 以及更具可组合性的查询控制能力,VectorChord 1.1 已准备 …

  • 在 PostgreSQL 上将向量搜索扩展至 10 亿规模

    Junyu Chen 发布于 工程实践 2198 字 5 分钟

    Junyu Chenvector-database

    在 PostgreSQL 上将向量搜索扩展至 10 亿规模

    对于希望自行部署十亿级规模向量搜索的团队而言,真正的挑战往往不在于原始性能,而在于实用性。许多专为十亿级规模、低延迟向量搜索而设计的解决方案都伴随着诸多现实约束,需要在各种权衡中做出妥协,从而影响了落地的难易程度。 现有的大多数方案通常属于以下几类之一: 运维复杂:依赖多节点分布式系统,长期管理、运维和维护的难度较高。 构建耗时过长:需要漫长的索引构建时间,导致重建索引成本高昂,且极易影响生产环境负载。 内存开销巨大:单机往往需要高达 1 TB 的内存,高昂的硬件成本让大多数团队望而却步。 这些 …

    对于希望自行部署十亿级规模向量搜索的团队而言,真正的挑战往往不在于原始性能,而在于实用性。许多专为十亿级规模、低延迟向量搜索而设计的解决方案都伴随着诸多现实约束,需要在各种权衡中做出妥协,从而影响了落地的难易程度。 现有的大多数方案通常属于以下几类之一: 运维复杂:依赖多节点分布式系统,长期管理、运维和维护的难度较高。 构建耗时过长:需要漫长的索引构建时间,导致重建索引成本高昂,且极易影响生产环境负载。 内存开销巨大:单机往往需要高达 1 TB 的内存,高昂的硬件成本让大多数团队望而却步。 这些 …

  • 我们如何在 PostgreSQL 上实现 20 分钟构建 1 亿向量索引

    Junyu Chen 发布于 工程实践 5824 字 12 分钟

    Junyu Chenvectorsearch

    我们如何在 PostgreSQL 上实现 20 分钟构建 1 亿向量索引

    1. 引言 在过去几个月里,我们收到了来自用户和合作伙伴的一致反馈:尽管我们提供可扩展、高性能 pgvector 替代方案的目标广受好评,但在十亿级规模下,索引构建时间和内存占用仍然是大家关注的主要痛点。 现在,VectorChord 可以在一台仅配备 12 GB 内存的 16 vCPU 机器上,在 20 分钟内为 1 亿个 768 维向量构建索引。相比之下,使用 pgvector 为相同规模的数据构建索引,在 16 核实例上需要大约 200 GB 内存和约 40 小时。而且当内存不足时 …

    1. 引言 在过去几个月里,我们收到了来自用户和合作伙伴的一致反馈:尽管我们提供可扩展、高性能 pgvector 替代方案的目标广受好评,但在十亿级规模下,索引构建时间和内存占用仍然是大家关注的主要痛点。 现在,VectorChord 可以在一台仅配备 12 GB 内存的 16 vCPU 机器上,在 20 分钟内为 1 亿个 768 维向量构建索引。相比之下,使用 pgvector 为相同规模的数据构建索引,在 16 核实例上需要大约 200 GB 内存和约 40 小时。而且当内存不足时 …

  • VectorChord:在 AWS 上高性价比地上传与搜索 4 亿向量

    Junyu Chen 发布于 工程实践 3267 字 7 分钟

    Junyu Chenpostgresqlvectorchord

    VectorChord:在 AWS 上高性价比地上传与搜索 4 亿向量

    在本文中,我们将介绍一种利用真实世界的 LAION-400M 数据集和 PostgreSQL 中的 VectorChord 扩展,以高性价比方式上传、构建索引并搜索大规模向量数据的方法。 我们将向您展示需要什么样的硬件配置,才能使用 VectorChord 在这一海量数据集上进行搜索,并确保您获得既准确又快速的搜索体验。 VectorChord 是一款 PostgreSQL 扩展,能够将高性能向量数据库能力直接引入您的 PostgreSQL 数据库中,并尽可能高度兼容热门的 pgvector 扩 …

    在本文中,我们将介绍一种利用真实世界的 LAION-400M 数据集和 PostgreSQL 中的 VectorChord 扩展,以高性价比方式上传、构建索引并搜索大规模向量数据的方法。 我们将向您展示需要什么样的硬件配置,才能使用 VectorChord 在这一海量数据集上进行搜索,并确保您获得既准确又快速的搜索体验。 VectorChord 是一款 PostgreSQL 扩展,能够将高性能向量数据库能力直接引入您的 PostgreSQL 数据库中,并尽可能高度兼容热门的 pgvector 扩 …

  • PostgreSQL 向量搜索:内存与磁盘方案对比分析

    Junyu Chen、xieydd 发布于 工程实践 4702 字 10 分钟

    Junyu Chenxieyddvectorchord

    PostgreSQL 向量搜索:内存与磁盘方案对比分析

    引言:真实场景中的挑战 并非所有场景都需要专用的向量数据库。借助 pgvector、pgvectorscale、VectorChord(演进自 pgvecto.rs)等 PostgreSQL 扩展,您可以在无需额外基础设施的情况下同时获得向量搜索与关系型数据库的能力。但实际落地并非总是顺风顺水,以下是真实用户的反馈: 首次查询耗时 30 秒,而重复查询只需 100 毫秒。问题出在极其缓慢的 I/O 上。 为 1,200 万行 75 维向量构建索引需要 3 个小时,这正常吗? 在为 2 亿条 75 …

    引言:真实场景中的挑战 并非所有场景都需要专用的向量数据库。借助 pgvector、pgvectorscale、VectorChord(演进自 pgvecto.rs)等 PostgreSQL 扩展,您可以在无需额外基础设施的情况下同时获得向量搜索与关系型数据库的能力。但实际落地并非总是顺风顺水,以下是真实用户的反馈: 首次查询耗时 30 秒,而重复查询只需 100 毫秒。问题出在极其缓慢的 I/O 上。 为 1,200 万行 75 维向量构建索引需要 3 个小时,这正常吗? 在为 2 亿条 75 …

  • PostgreSQL 全文检索:用对方法其实很快(打破“慢”的迷思)

    Jinjing Zhou、Junyu Chen 发布于 工程实践 2810 字 6 分钟

    Jinjing ZhouJunyu Chenbm25

    PostgreSQL 全文检索:用对方法其实很快(打破“慢”的迷思)

    你可能在一些技术讨论或博客文章中看到过这样的观点:与专用搜索引擎或特定扩展相比,PostgreSQL 内置的全文检索(Full-Text Search,简称 FTS)在性能上表现不佳。近期一个典型的例子是 Neon 发布的博客文章《Performance Benchmark: pg_search on Neon》(链接)。 在这项基准测试中,Neon 将其数据库平台上搭载 pg_search 扩展(基于 Rust 的 Tantivy 库并通过 pgrx 构建)的查询性能,与使用 tsvector …

    你可能在一些技术讨论或博客文章中看到过这样的观点:与专用搜索引擎或特定扩展相比,PostgreSQL 内置的全文检索(Full-Text Search,简称 FTS)在性能上表现不佳。近期一个典型的例子是 Neon 发布的博客文章《Performance Benchmark: pg_search on Neon》(链接)。 在这项基准测试中,Neon 将其数据库平台上搭载 pg_search 扩展(基于 Rust 的 Tantivy 库并通过 pgrx 构建)的查询性能,与使用 tsvector …

  • 使用 VectorChord 在 PostgreSQL 中实现 10,000 QPS 的向量搜索

    Junyu Chen 发布于 工程实践 2389 字 5 分钟

    Junyu Chenvectorsearchvectorchord

    使用 VectorChord 在 PostgreSQL 中实现 10,000 QPS 的向量搜索

    VectorChord 是一款专为可扩展、高性能且磁盘友好的向量相似度搜索而设计的 PostgreSQL 扩展,也是 pgvecto.rs 的继任者。在我们之前的博客文章中,我们展示了仅需每月 $250 的成本,VectorChord 就能在 1 亿规模的向量数据集上以 0.95 的精度实现 131 QPS——展现了大规模向量搜索中令人印象深刻的高性价比。 在此基础上,本文将聚焦于极致性能,探讨如何借助 VectorChord 在 PostgreSQL 中实现 10,000 QPS。我们将为您详 …

    VectorChord 是一款专为可扩展、高性能且磁盘友好的向量相似度搜索而设计的 PostgreSQL 扩展,也是 pgvecto.rs 的继任者。在我们之前的博客文章中,我们展示了仅需每月 $250 的成本,VectorChord 就能在 1 亿规模的向量数据集上以 0.95 的精度实现 131 QPS——展现了大规模向量搜索中令人印象深刻的高性价比。 在此基础上,本文将聚焦于极致性能,探讨如何借助 VectorChord 在 PostgreSQL 中实现 10,000 QPS。我们将为您详 …

  • ARM + VectorChord:高性价比的快速向量搜索

    Junyu Chen 发布于 工程实践 1072 字 3 分钟

    Junyu Chenpostgresqlvectorchord

    ARM + VectorChord:高性价比的快速向量搜索

    ARM64 正悄然成为高性价比云服务器的首选架构,尤其是在 AWS 上。借助 Graviton 系列(Graviton3 和 Graviton4)等基于 ARM 的处理器,你可以在不牺牲性能的前提下节省一大笔开销。这些 ARM64 实例比传统的 x86 实例实惠得多,是在云端平衡成本与性能的可靠选择。 话虽如此,由于 ARM 的架构与 x86 不同,未针对其进行优化的软件可能会因为指令模拟或缺乏优化而运行缓慢。这正是 VectorChord 大显身手的地方——它是一款专为可扩展、高性能且磁盘高效 …

    ARM64 正悄然成为高性价比云服务器的首选架构,尤其是在 AWS 上。借助 Graviton 系列(Graviton3 和 Graviton4)等基于 ARM 的处理器,你可以在不牺牲性能的前提下节省一大笔开销。这些 ARM64 实例比传统的 x86 实例实惠得多,是在云端平衡成本与性能的可靠选择。 话虽如此,由于 ARM 的架构与 x86 不同,未针对其进行优化的软件可能会因为指令模拟或缺乏优化而运行缓慢。这正是 VectorChord 大显身手的地方——它是一款专为可扩展、高性能且磁盘高效 …

  • VectorChord:在 PostgreSQL 中仅花 $1 存储 40 万向量

    Ce Gao、Jinjing Zhou、Junyu Chen 发布于 工程实践 2639 字 6 分钟

    Ce GaoJinjing ZhouJunyu Chenvectorchord

    VectorChord:在 PostgreSQL 中仅花 $1 存储 40 万向量

    我们很高兴地宣布推出全新的 PostgreSQL 向量搜索扩展,为大规模向量管理提供极具性价比的解决方案。使用 VectorChord,您可以在 1 亿条 768 维向量数据集上执行 Top 10 查询时,以 0.95 的精度实现 131 QPS。整套环境可在单台机器上运行,每月成本仅为 $250。 这意味着您只需花费 $1 即可存储 40 万条向量,从而大幅节省成本:在同等价格下,可存储的向量数量是 Pinecone(存储优化型实例)的 6 倍,更是 pgvector/pgvecto.rs 的 …

    我们很高兴地宣布推出全新的 PostgreSQL 向量搜索扩展,为大规模向量管理提供极具性价比的解决方案。使用 VectorChord,您可以在 1 亿条 768 维向量数据集上执行 Top 10 查询时,以 0.95 的精度实现 131 QPS。整套环境可在单台机器上运行,每月成本仅为 $250。 这意味着您只需花费 $1 即可存储 40 万条向量,从而大幅节省成本:在同等价格下,可存储的向量数量是 Pinecone(存储优化型实例)的 6 倍,更是 pgvector/pgvecto.rs 的 …

  • 释放稀疏向量的强大潜能

    Junyu Chen 发布于 工程实践 2741 字 6 分钟

    Junyu Chensparsevectors

    释放稀疏向量的强大潜能

    在过去,混合搜索(hybrid search)通常结合两种搜索方式:传统的基于关键词的搜索与基于向量的相似度搜索。然而,稀疏向量(sparse vector)可以作为关键词搜索的替代方案,通过纯向量搜索释放数据流水线的全部潜能。 本文将探讨如何结合 BGE-M3 与 pgvecto.rs,同时利用稀疏向量和稠密向量(dense vector)来充分发挥混合搜索的潜力。 让我们开始吧。 稀疏向量与稠密向量嵌入概览 稀疏向量是仅包含少量非零值的高维向量,非常适合传统的信息检索场景。例如,一个拥有 …

    在过去,混合搜索(hybrid search)通常结合两种搜索方式:传统的基于关键词的搜索与基于向量的相似度搜索。然而,稀疏向量(sparse vector)可以作为关键词搜索的替代方案,通过纯向量搜索释放数据流水线的全部潜能。 本文将探讨如何结合 BGE-M3 与 pgvecto.rs,同时利用稀疏向量和稠密向量(dense vector)来充分发挥混合搜索的潜力。 让我们开始吧。 稀疏向量与稠密向量嵌入概览 稀疏向量是仅包含少量非零值的高维向量,非常适合传统的信息检索场景。例如,一个拥有 …