序号

文献背景:SIGMOD2023(苹果公司和威斯康星大学合作的论文)

研究方法:向量相似度查询(vector similar search)、属性过滤(attribute filtering)

存在问题:(1)目前大部分的向量数据库只支持向量的相似度检索,而没有支持关系型属性的过滤。而目前少有的支持关系型属性过滤的向量数据库是把向量相似度检索和关系型属性的过滤分开进行处理的,因此会带来额外的不必要的工作,从而降低检索的效率。(2)目前现有的向量数据库专注于减少在线的单次检索时延,而没有实现对于批量查询吞吐量的优化,导致批量查询的效率不够高。

解决方案:(1)提出了混合查询索引(Hybrid Query Index, HQI),能够在实现向量检索的同时支持关系型属性的过滤。HQI能够感知工作负载,基于历史的工作负载信息来对数据进行分区,以保证进行向量检索时能够访问更少的数据分区,以此提升检索效率。(2)提出了批量查询的优化技术,根据相似的关系型属性和向量相似度的约束对查询进行分批,进行批式的向量距离计算,从而实现跨查询的计算共享,提高批量查询的效率。

创新点:(1)现有的向量数据库在面对混合查询的时候,只能分别进行属性过滤和向量相似度检索,带来不必要的计算量。而HQI通过改进qd-tree的设计,能够在索引进行分区的时候同时考虑向量相似度和关系型属性,减少了额外的运算,从而提升检索效率。(2)现有的向量数据库致力于提高在线检索的效率,而没有考虑如何批处理查询,当面对批量查询的时候只能对每一条查询数据进行依次检索,存在提升的空间。而基于HQI提出的批处理查询技术,能够对查询数据进行分批,同一批的查询数据能够共享向量相似度计算的过程,从而提高批处理查询的吞吐量。

下一步/不足之处:通过实验发现:(1)在查询向量数据集的数据量较大的时候,使用批处理技术的HQI索引查询速度相比不使用批处理技术的HQI更快,而当查询向量数据集的数据量较小的时候,使用批处理技术的HQI索引查询效率反而不如不适用批处理技术的HQI。(2)在进行混合检索时,对于一个给定的查询向量数据q,当向量数据库中满足q的属性限制的数据量很大时,HQI构建索引时进行分区比不进行分区的检索效率更高,而当向量数据库中满足q的属性限制的数据量很小时,HQI构建索引时进行分区比不进行分区的检索效率反而更低。

因此可以考虑设计一个优化器,根据输入的查询向量数据数据的大小来自动选择是否使用批处理查询,以及根据满足查询条件的数据量来确定分区的数量。

数据集

三个公开数据集:

  • SIFT-100M
  • MSTuring-100M
  • YandexT2I-100M

两个工业级数据集 :

  • LP
  • RealtedQS

代码未开源