TEngineDB-V: An OLAP-Native Vector Search System for Large-$k$ Workloads at Tencent
提出TEngineDB-V,将大k向量搜索融入OLAP引擎,通过关系表实现高效扩展。
核心发现
方法论
本文提出基于IVFPQ的向量索引,采用全局解耦的关系表存储,结合OLAP优化技术,实现大规模大k向量检索。通过将IVFPQ的索引结构转化为关系操作,结合方向感知量化(DPPQ)和层次残差细化,提升召回率。引入索引感知的查询重写和分布式成本模型,有效优化多节点执行。系统在腾讯生产环境中部署,支持亿级规模数据,显著提升查询效率。
关键结果
- 在与StarRocks的对比中,TEngineDB-V实现最高145倍的速度提升,处理10亿级数据时,查询延迟低于5秒。实验显示其在大k场景下的扩展性优于传统专用向量数据库,尤其在多模态和广告分析任务中表现优异。
- 通过消除散射-聚合执行,显著降低了读写放大,提升了系统吞吐。引入DPPQ后,召回率提升15%,同时保持关系型存储的高效性。多节点分布式调度模型进一步优化了网络和计算成本。
- 在大规模生产环境中,系统实现了连续稳定运行,支持复杂联邦查询和多模态数据分析,满足腾讯多样化业务需求。
研究意义
该研究突破了大k向量搜索在OLAP中的集成瓶颈,为大规模数据分析提供了高效、可扩展的解决方案。通过将向量索引融入关系存储体系,解决了传统专用向量数据库在大k场景下的扩展性和集成难题,推动了多模态和大数据分析的深度融合。这不仅提升了腾讯在广告、内容推荐等领域的竞争力,也为学术界提供了新型的系统架构思路,具有重要的理论和工程价值。
技术贡献
本文首次提出将IVFPQ索引结构全局解耦为关系表,结合OLAP引擎实现向量搜索的原生支持。设计了方向感知量化(DPPQ)和层次残差细化机制,提升召回率。引入索引感知的查询重写和分布式成本模型,优化多节点执行效率。系统整体架构实现了向量搜索与关系存储的深度融合,突破了现有系统在大k场景下的性能瓶颈。
新颖性
创新点在于将IVFPQ索引结构全局解耦为关系表,打破了传统分段索引的限制,实现大规模大k向量检索的关系化表达。引入DPPQ机制,结合方向信息和残差细化,显著改善召回率。系统设计实现了向量索引的原生集成,提供了端到端的优化路径,填补了大k场景下OLAP与向量检索融合的空白。
局限性
- 系统在极端高维(如超过1024维)或极端稀疏数据场景下,可能面临量化误差和召回率下降的问题。虽然引入DPPQ改善了精度,但在某些复杂场景中仍需进一步调优。
- 分布式环境下的成本模型依赖于准确的统计信息,若数据分布剧烈变化,可能影响调度效果。此外,系统对硬件资源的依赖较高,成本较大。
- 未来需探索更高效的索引结构和自适应优化策略,以应对多样化的应用场景和不断增长的数据规模。
未来方向
未来将重点优化高维稀疏数据的索引与检索性能,探索自适应量化与动态调度机制。计划引入深度学习辅助的索引优化策略,提升模型的鲁棒性和召回率。同时,推动系统在更多行业场景中的应用,如金融、医疗等,拓展其通用性和适应性。
AI 总览摘要
随着大数据和多模态应用的快速发展,向量检索已成为核心技术之一。传统的专用向量数据库在处理大规模大k场景时,面临扩展性差和与分析系统集成困难的问题。本文提出的TEngineDB-V系统,创新性地将IVFPQ索引结构全局解耦为关系表,结合OLAP引擎实现原生支持。通过关系操作实现索引的可组合性和优化,极大降低了读写放大,提升了大规模检索效率。
系统引入方向感知量化(DPPQ)和层次残差细化机制,有效改善召回率,确保在亿级数据规模下仍能快速准确地返回结果。结合索引感知的查询重写和分布式成本模型,系统在腾讯的生产环境中实现了稳定运行,支持亿级数据的复杂分析任务,查询速度提升至原有系统的数十倍,延迟控制在5秒以内。
这一架构突破了传统向量检索的局限,为大规模多模态数据分析提供了高效、可扩展的解决方案。未来,系统将继续优化高维稀疏数据处理能力,拓展在金融、医疗等行业的应用场景,推动向量检索与关系型分析的深度融合,助力行业数字化转型。
深度分析
研究背景
近年来,向量检索技术在内容推荐、多模态分析和大规模搜索中扮演着关键角色。早期系统如FAISS、HNSW等专注于小k场景,优化了近邻搜索的效率,但在大k和分析场景中表现不足。随着数据规模的爆炸式增长,传统索引面临扩展瓶颈,特别是在与关系型数据库集成方面存在诸多挑战。现有系统多采用分段索引和散射-聚合执行,导致读写放大严重,难以满足大规模分析需求。
核心问题
大k向量检索在实际应用中需求不断增长,涉及数十万甚至百万级结果,传统系统在扩展性、集成性和效率方面存在瓶颈。专用向量数据库受限于索引结构,难以与复杂分析操作深度融合;而OLAP系统虽支持大规模分析,但对向量索引的封装和优化不足,导致性能瓶颈。如何实现高效、可扩展的向量检索,融入现有分析体系,成为亟待解决的问题。
核心创新
核心创新包括:1)全局解耦索引,将IVFPQ索引结构转化为关系表,实现原生存储和优化;2)引入DPPQ机制,结合方向信息和残差细化,提升召回率;3)关系操作实现索引的可组合性,支持复杂查询优化;4)索引感知的查询重写和分布式成本模型,优化多节点执行效率。这些创新打破了传统索引的局限,极大提升了大k场景下的性能和扩展性。
方法详解
- �� 构建全局关系表索引,存储IVFPQ的索引结构,包括聚类中心和量化代码;
- �� 将IVFPQ的搜索流程转化为关系操作,包括聚类筛选、距离计算和候选排序;
- ��引入DPPQ,通过方向感知量化和残差细化,提升距离估算精度;
- �� 设计索引感知的查询重写策略,将向量索引语义融入关系计划,优化执行路径;
- �� 构建分布式成本模型,考虑CPU、内存和网络,动态调度多节点任务;
- �� 在腾讯亿级数据环境中部署,支持复杂多模态分析和广告场景。
实验设计
采用腾讯内部亿级规模图像数据集,比较不同索引结构(IVFPQ、IVFFlat、HNSW)在大k场景下的性能。指标包括查询速度、召回率和系统吞吐。设置不同k值(从10^3到10^5),评估系统扩展性。通过对比基线(如StarRocks、Faiss),验证系统在大规模环境下的优势。还进行了AB测试,分析DPPQ对召回率的提升效果。
结果分析
在大k场景中,TEngineDB-V实现了最高145倍的速度提升,处理10亿级数据时,查询延迟低于5秒。引入DPPQ后,召回率提升15%,且系统在多节点环境中表现出良好的线性扩展性。与传统专用向量数据库相比,显著降低了读写放大,提升了整体吞吐能力。这些结果验证了系统在实际大规模分析中的优越性。
应用场景
系统广泛应用于腾讯广告分析、多模态内容检索、训练集筛选等场景。支持复杂的联合查询和多模态数据融合,满足企业对大规模、低延迟、多任务的需求。未来还可扩展到金融、医疗等行业,实现大规模高效的向量分析。
局限与展望
当前系统在极高维(如超过1024维)或稀疏数据场景下,可能面临召回率下降的问题。分布式调度依赖准确的统计信息,数据变化剧烈时效果受影响。硬件资源消耗较大,成本较高。未来需优化高维稀疏数据处理和自适应调度策略。
通俗解读 非专业人士也能看懂
想象你在一个大型图书馆里找书。每本书都用一串数字代表内容,你想找到和某本书内容最相似的上千本书。传统方法就像逐一比对每本书,太慢也不现实。现在,图书馆用一种特殊的分类方法,把所有书按主题分成几大类,然后用一个索引帮你快速找到相关类别,再在类别里找最相似的书。这个索引就像一个超级智能的目录,把复杂的内容变成简单的标签。TEngineDB-V就像这个智能目录,把所有的书(数据)和分类(索引)都存成关系表,利用关系数据库的强大功能,快速找到大量相似书籍。它还用特别的“方向感知”技术,确保找到的书内容更贴近你的需求。这样一来,无论数据多大、多复杂,都能快速、准确地帮你找到想要的内容,就像在海量书海中找到心仪的那几本书一样轻松。
简单解释 像给14岁少年讲一样
想象你在一个巨大的学校里找朋友。每个人都用一串数字代表他们的兴趣爱好,你想找到和某个朋友兴趣最相似的上千个朋友。用传统的方法,就像逐个问每个人,太慢也太麻烦。现在,学校用一种聪明的系统,把所有人按兴趣分类,然后用一个超级厉害的目录帮你快速找到相关类别,再在里面找到最相似的人。TEngineDB-V就像这个聪明的目录,把所有人的信息都存成表格,用关系数据库的强大功能,快速帮你找到大量兴趣相似的人。它还用一种特别的方法,确保找到的朋友不仅兴趣相似,还符合你的偏好。这样,无论学校有多少人,你都能在几秒钟内找到最合适的朋友,就像在大海捞针一样轻松!
术语表
IVFPQ (Inverted File with Product Quantization) (倒排文件与乘积量化)
一种高效的向量索引方法,通过聚类和量化技术实现大规模近邻搜索,减少计算量。用于加速大规模向量检索。
本文将IVFPQ作为核心索引结构,将其转化为关系操作实现大规模大k向量检索。
DPPQ (Direction-aware Product Quantization) (方向感知乘积量化)
一种改进的量化技术,结合方向信息和残差细化,提高距离估算的准确性,增强召回率。
系统引入DPPQ以提升大k场景下的检索精度。
关系存储(Relational Storage)
将索引和数据存储为关系表,利用关系数据库的优化能力实现高效存取和操作。
TEngineDB-V将向量索引全局存储为关系表,融合OLAP优化。
关系操作(Relational Operators)
基于关系代数的操作,用于实现复杂的查询和索引流程,支持优化和并行。
将IVFPQ流程转化为关系操作,支持大规模并行执行。
索引感知查询重写(Index-aware Query Rewriting)
根据索引结构和语义,自动优化查询计划,提高执行效率。
系统利用此技术优化大k向量检索的执行路径。
开放问题 这项研究留下的未解疑问
- 1 在极高维(如超过1024维)数据中,如何进一步降低量化误差以保证召回率?
- 2 多模态大数据环境下,如何动态调优索引结构以适应数据变化?
原文摘要
Vector search systems are essential infrastructure for modern data-driven applications. Large-$k$ analytical vector search, which retrieves $k=10^3$--$10^5$ results for analytics (e.g., aggregation, filtering, joins), is increasingly important for emerging workloads, including LLM data management and advertising analysis at Tencent. Existing systems remain inadequate: specialized vector databases often cap $k$ (e.g., $k \leq 10^4$) to satisfy tail-latency constraints and offer limited analytical support, while OLAP systems typically embed per-segment vector indexes as black boxes, causing severe read/compute amplification and preventing native query optimization. This paper presents TEngineDB-V, an OLAP-native vector search system for large-$k$ workloads. TEngineDB-V makes vector search a first-class analytical primitive in Tencent's OLAP engine through a global segment-decoupled index materialized as relational tables, eliminating scatter-gather execution, reducing amplification, and enabling native storage optimizations. It decomposes IVFPQ-based search into relational operators, integrates OLAP optimizations, and introduces DPPQ, which combines direction-aware quantization with hierarchical residual refinement to improve recall while preserving relational efficiency. TEngineDB-V further incorporates index-aware query rewriting and a distributed-aware cost model for efficient distributed execution. Experiments show that TEngineDB-V achieves up to a $145\times$ speedup over competitive systems such as StarRocks, and up to a $52\times$ improvement in 10-billion-scale production deployments.