一种列式存储中基于嵌入向量的语义数据跳过方法、装置、设备及存储介质与流程
本发明属于计算机数据库系统内核与海量数据存储。具体而言,涉及一种面向分析型数据库(olap)与数据湖仓架构的列式存储底层扫描优化技术;更具体的,涉及一种在列式存储文件格式中针对高维嵌入向量特征列构建语义感知的区域图(zonemap),从而在查询引擎的扫描阶段支持对向量相似度谓词的数据分块级剪枝,并实现数据分块级无损语义跳过的方法、装置、电子设备及计算机可读存储介质。
背景技术:
1、随着大语言模型与检索增强生成技术(rag)的广泛应用,现在数据库与数据湖正面临着全新的查询负载的挑战。系统不仅需要高效处理传统的关系型标量过滤,还必须同时处理海量的高维嵌入向量的语义相似度检索,在这种标量与向量的混合查询的场景下,如何避免高昂的全量数据扫描,在物理扫描时实现精准的数据块裁剪,成为了内核优化的核心诉求。
2、在分析型数据库的底层架构中,列式数据分块是数据落盘时的物理切分单元。每一个分块是同一列数据的连续集合,并且还是查询引擎发起读取任务的最小调度单位。为了优化查询,系统通常会利用依附于数据分块的统计元数据,比如极值min/max等区域图来执行谓词下推。这意味着在读取数据分块的荷载前,预先对比查询条件与区域图,将不满足条件的分块整体跳过,从而削减无效的i/o开销,这是一种传统的物理裁剪机制。
3、而在处理高维嵌入向量时,查询引擎需要处理由各类编码模型生成的定长密集型浮点数数组。这类数据的核心特征在于局部维度无独立意义,实体间的语义相关性必须由所有维度共同构成的全局几何距离或空间夹角来表征,即全局空间表征语义。因此,针对向量的相似度查询谓词要求在多维度空间中计算查询目标与数据分块内向量集的相对几何关系,这与传统的标量列的等值或区间匹配截然不同。
4、为了减少扫描开销,现有的列存引擎试图继续沿用基于标量统计元数据的谓词下推机制。然而,当这种传统机制应用于高维向量时,会降级为全表的顺序扫描。由于min/max极值本质上是各个标量空间维度的独立区间,其在多维空间中构成了一个正交的轴对齐的超矩形。随着向量维度的增加,该超矩形的体积呈指数级膨胀,并且内部空间极度稀疏。当执行跨维度耦合的相似度查询时,查询目标几乎必然与所有分块的超矩形发生几何相交,导致物理裁剪完全失效,系统不可避免的降级为全表的顺序扫描。同时,基于精确哈希的布隆过滤器等亦无法表达空间连续性,对相似度查询会将每一块都判定为不命中,从而完全失效。
5、针对上述性能瓶颈,工业界的常规解决思路是在主表之外,单独构建一套向量索引结构,如hnsw近邻图或者ivf倒排聚类。尽管此类异构索引能够有效加速纯向量检索,但其物理拓扑完全由向量空间的分布特性决定,与列式存储底层的物理数据分块布局呈现解耦状态。这种物理隔离使得系统在处理带有标量过滤的混合检索时陷入两难,一方面若执行前置标量过滤,往往导致底层候选集的极度稀疏,破坏图索引的可达性;另一方面若执行后置标量过滤,则必须盲目提取大量无关向量以维持召回率。此外,维护两套独立的异构存储结构带来了高昂的状态同步开销和事务一致性挑战。
6、在上述向量索引的基础上,进一步出现一类将向量索引与列式存储更紧密耦合的方案,其在写入时对嵌入向量列执行聚合得到若干聚类质心,将该质心索引写入列式文件的元数据区,并在查询规划阶段注入自定义剪枝逻辑,依据查询向量与各质心的距离选择邻近的聚类进行检索。然而,该类方案的本质仍为倒排聚类索引(ivf),其聚类质心用于按向量分布重新定义数据的划分单元,检索时仅扫描与查询向量邻近的若干簇,跳过其余簇,与查询向量相近但落入未被选中簇的向量会被漏检,召回率无法获得准确性保证。
7、此外,亦有一体化的湖仓向量系统,将嵌入向量列与标量列存储于同一列式格式中,在数据分块级维护统计信息,并在其上叠加ivf或hnsw向量索引以支持相似度检索。但此类系统在数据分块级维护的统计信息仍为标量式,其相似度检索仍依赖叠加的近似向量索引,并未将嵌入向量在向量空间中的特征作为数据分块级的统计量用于对相似度谓词进行无损剪枝。
8、上述问题的根源在于,高维向量的语义相近性完全依赖于全局的几何距离,现有的列式存储引擎的统计能力局限于单维度的极值摘要,无法捕捉向量数据的多维几何结构,两者之间存在根本的结构错位。因此,本领域目前缺乏一种无需在主表之外另建独立向量索引、即能复用列式存储既有的数据分块元数据、对高维空间的相似度谓词实现非轴对齐的、无损的数据分块级物理裁剪,且能与标量谓词在同一次扫描规划中对同一数据分块协同作用的底层数据跳过技术方案。
技术实现思路
1、发明目的:本发明提供一种列式存储中基于嵌入向量的语义数据跳过方法,为相似度谓词构建一种支持块级跳过的元数据机制。
2、技术方案:一种列式存储中基于嵌入向量的语义数据跳过方法,包括以下步骤;
3、在列式数据写入或合并阶段,获取各数据分块内目标嵌入向量列的行级向量,根据行级向量计算包括质心向量和包围半径的语义概要,并将语义概要存储于对应数据分块的物理元数据中;
4、接收包含查询向量和相似度谓词的检索请求,在读取各数据分块的向量载荷前,从物理元数据中获取对应语义概要,根据查询向量、质心向量和包围半径确定对应数据分块相对于查询向量的边界值;
5、根据边界值与相似度谓词的阈值之间的关系,跳过确定不存在满足相似度谓词的行级向量的数据分块,并读取其余数据分块的向量载荷,对其中的行级向量执行相似度计算,得到检索结果。
6、进一步地,根据行级向量计算包括质心向量和包围半径的语义概要,包括:
7、根据数据分块内各有效行级向量的均值,得到质心向量;
8、分别计算各有效行级向量与质心向量之间的距离,将计算得到的最大距离确定为包围半径,使数据分块内各有效行级向量与质心向量之间的距离均不大于包围半径;
9、将质心向量和包围半径作为数据分块的语义概要。
10、进一步地,根据查询向量、质心向量和包围半径确定对应数据分块相对于查询向量的边界值,包括:
11、当相似度谓词采用欧氏距离时,将查询向量与质心向量之间的欧氏距离减去包围半径,并将所得差值与零中的较大值确定为距离下界,表示为:;当距离下界大于距离阈值时,跳过对应数据分块;
12、当相似度谓词采用内积相似度时,将查询向量与质心向量的内积、查询向量的范数与包围半径的乘积之和确定为内积上界,表示为:;当内积上界小于内积相似度阈值时,跳过对应数据分块。
13、进一步地,将语义概要存储于对应数据分块的物理元数据中,包括:
14、将语义概要与对应数据分块的标量统计信息联合序列化,并共址存储于同一物理元数据中;
15、当检索请求还包含标量谓词时,在针对同一数据分块的扫描评估过程中,分别根据标量统计信息和语义概要执行标量谓词判定和相似度谓词判定,任一判定结果表明对应数据分块不存在命中记录时,跳过对应数据分块。
16、进一步地,在生成语义概要时,按照数据分块内标量列的取值将行级向量划分至多个标量子桶,并分别根据各标量子桶内的行级向量生成对应的子语义概要;
17、在检索请求包含针对标量列的等值过滤条件时,根据等值过滤条件确定对应的标量子桶,并根据该标量子桶的子语义概要确定对应数据分块的边界值。
18、进一步地,当相似度谓词采用欧氏距离且检索请求为top-k近邻查询时,分别确定各数据分块的距离下界,并按照距离下界由小到大的顺序处理各数据分块,所述处理包括读取各数据分块的向量载荷,计算其中各行级向量与查询向量的欧氏距离;
19、从已计算欧氏距离的行级向量中保留距离最小的k个候选结果,并将候选结果中的最大欧氏距离确定为当前距离阈值;
20、当下一数据分块的距离下界大于当前距离阈值时,停止处理其余数据分块,并将k个候选结果作为top-k检索结果。
21、进一步地,各数据分块按照以下方式确定:
22、在将包含目标嵌入向量列的数据集划分为多个物理连续的数据分块前,根据记录的嵌入向量在向量空间中的分布,对记录执行聚类或按照空间填充曲线进行排序;
23、按照聚类结果或排序结果对记录进行重排,并按照重排后的记录顺序将数据集划分为多个物理连续的数据分块。
24、本发明还提供一种列式存储中基于嵌入向量的语义数据跳过装置,包括:
25、概要构建模块,用于在列式数据写入或合并阶段,获取各数据分块内目标嵌入向量列的行级向量,根据行级向量计算包括质心向量和包围半径的语义概要;
26、元数据存储模块,用于将语义概要存储于对应数据分块的物理元数据中;
27、查询接收模块,用于接收包含查询向量和相似度谓词的检索请求;
28、扫描规划模块,用于在读取各数据分块的向量载荷前,从物理元数据中获取对应语义概要,根据查询向量、质心向量和包围半径确定边界值,并根据边界值与相似度谓词的阈值之间的关系,将确定不存在满足相似度谓词的行级向量的数据分块标记为跳过状态;
29、扫描执行模块,用于读取未被标记为跳过状态的数据分块的向量载荷,对其中的行级向量执行相似度计算,得到检索结果。
30、本发明还提供一种电子设备,包括:一个或多个处理器;存储器;以及一个或多个程序,其中一个或多个程序被存储在存储器中,并且被配置为由一个或多个处理器执行,程序被处理器执行时实现上述的列式存储中基于嵌入向量的语义数据跳过方法。
31、本发明还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述的列式存储中基于嵌入向量的语义数据跳过方法。
32、本发明还提供一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现上述的列式存储中基于嵌入向量的语义数据跳过方法。
33、有益效果:
34、(1)本发明根据数据分块内的行级向量生成包括质心向量和包围半径的语义概要,使嵌入向量在向量空间中的分布范围能够以数据分块级元数据表示。查询时,可在读取向量载荷前根据语义概要确定数据分块的边界值,从而提前跳过不可能包含命中向量的数据分块,减少无效的磁盘读取、向量反序列化和逐行相似度计算。
35、(2)本发明采用保守边界判定方式,仅跳过能够确定不存在满足相似度谓词的行级向量的数据分块,并对其余数据分块执行精确的相似度计算,因而能够在降低扫描开销的同时避免因数据分块跳过而造成检索结果漏失。区别于hnsw、ivf等为提速而牺牲召回的近似索引,本发明能在减少i/o与反序列化开销的同时保证结果精准。
36、(3)本发明将语义概要存储于对应数据分块的物理元数据中,使语义概要与数据分块的物理布局相绑定,可复用列式存储既有的元数据读取和扫描规划机制,无需依赖独立的异构向量索引,减少额外的索引存储及索引与列式数据之间的一致性维护开销。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com