用于数据查询的数据过滤方法及装置制造方法及图纸

技术编号:36803035 阅读:12 留言:0更新日期:2023-03-08 23:57
本说明书实施例提供一种用于数据查询的数据过滤方法和装置,过滤方法通过目标设备执行,该目标设备作用为数据库的存储节点。该方法包括,确定查询涉及的目标过滤算子,并获取目标设备中存储的经编码的目标数据块。进而,利用目标数据块的数据特征和编码特征,查询预先构建的算子函数集,得到目标过滤算子的目标执行函数。其中,算子函数集用于记录各种数据类型、各种编码方式所对应适合使用的过滤算子执行函数。于是,可以利用查询匹配出的目标执行函数过滤目标数据块,得到过滤结果。得到过滤结果。得到过滤结果。

【技术实现步骤摘要】
用于数据查询的数据过滤方法及装置


[0001]本说明书一个或多个实施例涉及数据库查询领域,尤其涉及一种用于数据查询的数据过滤方法及装置。

技术介绍

[0002]互联网的发展产生了海量数据存储需求。海量数据可以包括租户或用户的个人数据、隐私数据等,这些数据常常以数据表的形式,存储于数据库集群中。为了高效地进行数据的存储和管理,目前多种主流的数据库采用LSM(Log Structured Merge)的存储方式,通过增量写日志与多级日志数据合并实现数据存储。在此架构下,一般采用SSTable(sorted

string table)的数据结构,进行数据的持久化存储。根据SSTable,将数据按照主键key进行排序,从而提供有序的数据存储,索引与查询服务。
[0003]随着数字化进程的推进,数据库系统存储的数据量在不断上升,对于大量数据的实时分析与查询需求也随之增长,数据库需要提供性能较好的静态数据扫描能力以高效地支持分析型负载。
[0004]谓词下推是一种常见的对大量数据过滤扫描(selective scan)性能进行优化的方法。具体而言,在一些数据查询系统中,把一些能够减小中间结果集大小的过滤算子,在不影响最终结果集的情况下下推到执行链路中的更底层先进行计算,从而减小后续处理的数据量,加速查询过程。一些主流数据库通过将过滤算子下推到存储层来实现更高效的SSTable扫描速度。
[0005]然而,数据一般是经过压缩和编码后进行存储的。因此,将过滤算子下推到存储层进行初步数据过滤扫描,就不得不考虑数据编码解码的问题。这一问题的处理,往往成为查询执行中的瓶颈。
[0006]希望能有改进的方案,可以优化编码数据的过滤扫描过程,从而加速数据查询执行,提升数据库性能。

技术实现思路

[0007]鉴于上述问题,本说明书提供了一种用于数据查询的数据过滤方法和装置,可以在数据扫描过滤时,确定当前数据块适用的过滤算子执行函数,利用该函数对编码状态的数据进行过滤,有效促进谓词下推,提升数据查询效率。
[0008]根据第一方面,提供一种用于数据查询的数据过滤方法,通过目标设备执行,该目标设备作用为数据库的存储节点,所述方法包括:
[0009]确定查询涉及的目标过滤算子;
[0010]获取目标设备中存储的经编码的目标数据块;
[0011]利用所述目标数据块的数据特征和编码特征,查询预先构建的算子函数集,得到所述目标过滤算子的目标执行函数;
[0012]利用所述目标执行函数过滤所述目标数据块,得到第一过滤结果。
[0013]根据一种实现方式,所述算子函数集是根据所述目标设备的硬件平台和运行环境定制的函数集。
[0014]在上述实现方式的一个实施例中,算子函数集具体通过以下方式得到:获取基础函数集,所述基础函数集是在编译数据库程序阶段生成的、适用于多种硬件平台的函数集;在运行所述数据库程序过程中,根据运行环境获取优化函数集,所述优化函数集是在所述编译阶段,根据编译环境编译的附加函数集,其中包括,对所述基础函数集中若干函数的优化执行函数;将所述优化函数集添加至所述基础函数集,得到所述算子函数集。
[0015]在一个实施例中,算子函数集具体包括,对应于所述目标过滤算子的、多维度的函数矩阵;所述多维度包括,对应于所述数据特征的若干维度,和对应于所述编码特征的若干维度。在这样的情况下,对算子函数集的查询过程可以包括:根据所述数据特征和编码特征,确定所述多维度中各个维度的索引值;根据各个维度的索引值,从所述函数矩阵中确定对应的算子函数,作为所述目标执行函数。
[0016]在另一个实施例中,算子函数集具体包括,多个元操作对应的多个子函数矩阵。在这样的情况下,对算子函数集的查询过程可以包括:从所述多个子函数矩阵中,确定所述目标过滤算子所涉及的若干目标元操作对应的若干目标子函数矩阵;根据所述数据特征和编码特征,查询各个目标子函数矩阵,得到若干目标子函数;基于所述若干目标子函数的组合,确定所述目标执行函数。
[0017]在具体实施例中,数据特征可以包括以下中的若干项:数据类型,数据长度,元数据类型;编码特征可以包括,编码方式,与编码方式对应的辅助特征。
[0018]进一步的,当所述编码方式包括数据按位对齐,所述辅助特征包括对齐位宽;
[0019]当所述编码方式包括借助字典的编码,所述辅助特征包括所述字典的相关特征。
[0020]在一个实施例中,目标数据块为行列混存数据块;所述第一过滤结果指示,过滤出的目标数据行;所述方法还包括:获取所述查询对应的执行计划中的目标数据列;通过所述目标数据行和目标数据列,确定目标数据范围;对所述目标数据范围中的数据进行解码。
[0021]在一个例子中,所述第一过滤结果为结果位图的形式,该结果位图分别以第一值和第二值指示是否属于过滤结果。
[0022]根据一种实施方式,目标设备具有支持单指令流多数据流SIMD的向量化寄存器;所述目标执行函数包括针对SIMD的优化操作,所述优化操作包括,根据所述向量化寄存器的向量长度组织数据,采用所述硬件平台对应的指令集基于所述向量化寄存器对组织的数据进行处理。
[0023]在一种实现方式中,目标过滤算子涉及比较操作;所述目标数据块的编码方式基于字典进行;所述目标执行函数的执行路径包括:在所述字典的字典引用表中查找所述比较操作的目标值所对应的引用词;在所述字典引用表中,对所述目标数据块中的编码词与上述引用词进行比较处理。
[0024]在上述实现方式的一个例子中,所述目标过滤算子包括,比较算子,IN算子,或between算子。
[0025]在上述实现方式的一个例子中,目标设备具有支持单指令流多数据流SIMD的向量化寄存器;所述比较处理,包括:利用SIMD在所述字典引用表中进行并行比较处理。
[0026]根据第二方面,提供了一种用于数据查询的数据过滤装置,部署在目标设备中,该
目标设备作用为数据库的存储节点,所述装置包括:
[0027]算子确定单元,配置为确定查询涉及的目标过滤算子;
[0028]数据块获取单元,配置为获取目标设备中存储的经编码的目标数据块;
[0029]函数查询单元,配置为利用所述目标数据块的数据特征和编码特征,查询预先构建的算子函数集,得到所述目标过滤算子的目标执行函数;
[0030]过滤单元,配置为利用所述目标执行函数过滤所述目标数据块,得到第一过滤结果。
[0031]根据第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面所述的方法。
[0032]根据第四方面,提供了一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面所述的方法。
[0033]在本说明书实施例中,基于对各种编码方式和各种数据结构特点的研究,可以本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于数据查询的数据过滤方法,通过目标设备执行,该目标设备作用为数据库的存储节点,所述方法包括:确定查询涉及的目标过滤算子;获取目标设备中存储的经编码的目标数据块;利用所述目标数据块的数据特征和编码特征,查询预先构建的算子函数集,得到所述目标过滤算子的目标执行函数;利用所述目标执行函数过滤所述目标数据块,得到第一过滤结果。2.根据权利要求1所述的方法,其中,所述算子函数集是根据所述目标设备的硬件平台和运行环境定制的函数集。3.根据权利要求2所述的方法,其中,所述算子函数集通过以下方式得到:获取基础函数集,所述基础函数集是在编译数据库程序阶段生成的、适用于多种硬件平台的函数集;在运行所述数据库程序过程中,根据运行环境获取优化函数集,所述优化函数集是在所述编译阶段,根据编译环境编译的附加函数集,其中包括,对所述基础函数集中若干函数的优化执行函数;将所述优化函数集添加至所述基础函数集,得到所述算子函数集。4.根据权利要求1所述的方法,其中,所述算子函数集包括,对应于所述目标过滤算子的、多维度的函数矩阵;所述多维度包括,对应于所述数据特征的若干维度,和对应于所述编码特征的若干维度;所述查询预先存储的算子函数集,得到所述目标过滤算子的目标执行函数,包括:根据所述数据特征和编码特征,确定所述多维度中各个维度的索引值;根据各个维度的索引值,从所述函数矩阵中确定对应的算子函数,作为所述目标执行函数。5.根据权利要求1所述的方法,其中,所述算子函数集包括,多个元操作对应的多个子函数矩阵;所述查询预先存储的算子函数集,得到所述目标过滤算子的目标执行函数,包括:从所述多个子函数矩阵中,确定所述目标过滤算子所涉及的若干目标元操作对应的若干目标子函数矩阵;根据所述数据特征和编码特征,查询各个目标子函数矩阵,得到若干目标子函数;基于所述若干目标子函数的组合,确定所述目标执行函数。6.根据权利要求1所述的方法,其中,所述数据特征包括以下中的若干项:数据类型,数据长度,元数据类型;所述编码特征包括,编码方式,与编码方式对应的辅助特征。7.根据权利要求5所述的方法,其中,当所述编码方式包括数据按位对齐,所述辅助特征包括对齐位宽;当所述编码方式包括借助字...

【专利技术属性】
技术研发人员:赵赛铜曹晖赵裕众
申请(专利权)人:北京奥星贝斯科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1