[控场AI]
概念Inverted File Flat

IVFFlat

一种基于k-means聚类的近似最近邻索引方法,将向量聚为若干簇,查询时只扫描最近的若干簇,内存开销小、构建快,但召回率通常低于HNSW

核心事实

时间轴 (近 90 天)

10月17日

IVFFlat 将向量空间聚类划分为多个 Voronoi 单元,插入时只计算所属簇并追加,不涉及全局图重构,因此写入吞吐更高,但召回率通常低于 HNSW。

待验证50%
10月17日

IVFFlat 的 lists 参数通常建议取行数的平方根,但写入密集场景可选用较小 lists(如 100)以降低插入开销。

待验证50%
10月17日

同时创建 IVFFlat(写入用)和 HNSW(读取用)两个向量索引进行读写分离,可以解决写写阻塞问题,插入吞吐从 50/s 提升到 180/s。

待验证50%
10月16日

对于写入频繁、数据持续增长、对召回敏感的场景应选择 HNSW;对于数据相对静态、内存紧张、可接受定期重建的场景应选择 IVFFlat。

待验证50%
10月16日

IVFFlat 要求建索引时表中已有代表性数据,否则聚类中心无法反映真实分布,且新数据写入后列表分布会逐渐失衡、召回率可能下降,需要定期重建索引。

待验证50%
10月16日

IVFFlat 先用 k-means 把向量聚成若干列表,查询时只扫描最接近查询向量的若干个列表,由 probes 参数控制扫描列表数量。

待验证50%
10月14日

pg_vectorsearch 的官方公告没有给出基准测试数据集的维度、吞吐量(QPS),也没有直接的 IVFFlat 对比,多客户端吞吐测试被列为待完成项。

已过期50%
10月14日

根据项目方给出的基准测试数据,Pg_vectorsearch在查询吞吐上超越了pgvector的IVFFlat和HNSW。

已过期50%
10月14日

pgvector提供IVFFlat和HNSW两种索引类型,分别面向不同的召回率与速度权衡场景。

待验证50%
10月14日

IVFFlat使用lists(聚类桶数量)和probes(查询时实际扫描桶数)两个参数,lists常取rows/1000(行数不超过百万时)或sqrt(rows),probes通常从sqrt(lists)起步调优。

待验证50%

还有 5 条时间轴事件

全部知识事实 (14)

已验证

向量数据库的核心操作是近似最近邻搜索(ANN),通过HNSW、IVF等索引算法将相似度计算加速到毫秒级响应

80%
已验证

pgvector 是 PostgreSQL 的开源扩展,为关系型数据库原生添加向量数据类型与相似度搜索能力,支持精确最近邻和近似最近邻(HNSW、IVFFlat 索引)两种检索模式

70%
待验证

IVFFlat 的 lists 参数通常建议取行数的平方根,但写入密集场景可选用较小 lists(如 100)以降低插入开销。

50%
待验证

IVFFlat 将向量空间聚类划分为多个 Voronoi 单元,插入时只计算所属簇并追加,不涉及全局图重构,因此写入吞吐更高,但召回率通常低于 HNSW。

50%
待验证

同时创建 IVFFlat(写入用)和 HNSW(读取用)两个向量索引进行读写分离,可以解决写写阻塞问题,插入吞吐从 50/s 提升到 180/s。

50%
待验证

IVFFlat 要求建索引时表中已有代表性数据,否则聚类中心无法反映真实分布,且新数据写入后列表分布会逐渐失衡、召回率可能下降,需要定期重建索引。

50%
待验证

对于写入频繁、数据持续增长、对召回敏感的场景应选择 HNSW;对于数据相对静态、内存紧张、可接受定期重建的场景应选择 IVFFlat。

50%
待验证

IVFFlat 先用 k-means 把向量聚成若干列表,查询时只扫描最接近查询向量的若干个列表,由 probes 参数控制扫描列表数量。

50%
待验证

pgvector提供IVFFlat和HNSW两种索引类型,分别面向不同的召回率与速度权衡场景。

50%
待验证

IVFFlat使用lists(聚类桶数量)和probes(查询时实际扫描桶数)两个参数,lists常取rows/1000(行数不超过百万时)或sqrt(rows),probes通常从sqrt(lists)起步调优。

50%
待验证

IVFFlat在数据分布倾斜或聚类数量设置不当时,会出现扫描桶数不够导致召回率崩塌、扫描桶数太多导致速度退化的两难问题。

50%
待验证

pgvector 支持 HNSW 和 IVFFlat 两类主流索引;HNSW 召回率高、延迟低但构建慢、内存占用大;IVFFlat 内存开销小、构建快但召回率通常较低。

50%
待验证

pgvector 在超大规模数据集下,其基于 IVFFlat 或 HNSW 索引的性能往往受限于单机内存和 CPU 资源,难以水平扩展

50%
待验证

HNSW 和 IVF 是两类主流的近似最近邻索引算法,HNSW 查询速度快、召回率高但内存占用较大

50%

来源文章