turbopuffer 宣布放弃向量主索引 为通用查询重构存储层
turbopuffer 工程团队发文宣布重构存储架构,文章标题相当直白:向量数据库已死。这家以对象存储为底座、客户包括 Cursor 与 Notion 的检索基础设施公司,一直把近似最近邻(ANN)向量索引当作唯一的主索引,其他所有索引与查询计划都围绕它组织。
v1 时代的文档只有 ID 和向量,团队用 SPANN、后转 SPFresh 的层次聚类把索引铺在对象存储上,换来了极低的成本;v2 加入属性倒排索引与 BM25 全文检索,但一切仍以 ANN 地址为键。麻烦随之而来:多向量文档要为每个向量复制整份内容,造成存储放大;SPFresh 的重平衡会让一次向量更新牵动整篇文档及其倒排索引,写放大严重;更关键的是块大小被聚类规模锁死在 100 至 200 篇文档,聚合等扫描类查询无法按现代向量化执行引擎偏好的批次运行。团队此前只把全文检索的块改成固定 256 条,索引就小了 10 倍、查询快了 20 倍。
v3 的做法很彻底:不再以 ANN 地址作主键,向量索引降级为普通二级索引。团队称本月已让 v3 全量通过 CI,之后会公开性能基准,目标是先追平再超越现有版本。对智能体应用而言,这意味着检索层正在从专用向量库转向能同时处理全文、正则、聚合乃至 SQL 的通用查询引擎——去年被反复争论的“向量数据库是否会被吞并”,答案由数据库公司自己给出了。

