聚合计算方法和装置制造方法及图纸

技术编号:33073265 阅读:37 留言:0更新日期:2022-04-15 10:08
提供一种聚合计算方法和装置。所述聚合计算方法包括:从数据库中获取第一向量数据;利用所述数据库的分组算子对所述第一向量数据进行分组,得到第一分组数据和第一位图数据,所述第一分组数据的地址非连续分布,所述第一位图数据用于记录所述第一分组数据在所述第一向量数据中的向量位置;将所述第一位图数据和所述第一向量数据装载至SIMD寄存器,使得所述第一向量数据中的所述第一分组数据的取值保持不变,并使得所述第一向量数据中的除所述第一分组数据之外的剩余数据的取值为零;利用SIMD指令对所述SIMD寄存器中的向量数据进行向量化聚合计算。向量化聚合计算。向量化聚合计算。

【技术实现步骤摘要】
聚合计算方法和装置


[0001]本公开涉及数据库领域,并且更为具体地,涉及一种聚合计算方法和装置。

技术介绍

[0002]聚合(aggregation)操作是数据库分析中的常用操作。随着数据库系统处理的数据越来越多,以及用户对数据库计算速度的要求越来越高,数据库聚合性能的好坏已经成为评价数据库分析能力好坏的重要指标。因此,对聚合操作的性能提升,一直是数据库领域的工作者不断追求的目标。
[0003]随着向量化技术的不断发展,越来越多的数据库系统把向量化计算应用到了数据库计算中,从而实现向量化聚合计算。例如,数据库在数据库的哈希聚合(hash aggregation)方法中,把相同分组的数据拷贝分配在一个哈希桶(hash bucket)中。哈希桶内的数据可以按照一定长度连续排列对齐。其它列式数据库或大数据计算引擎,则直接把一个分组内的数据拷贝的一个数据连续排列的数组中,并将该数组传递给聚合计算函数,从而实现向量化计算。
[0004]由此可见,相关技术中,对数据进行预处理(如对数据进行拷贝和搬移)是采用向量化聚合计算的前置条件。但是数本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种聚合计算方法,包括:从数据库中获取第一向量数据;利用所述数据库的分组算子对所述第一向量数据进行分组,得到第一分组数据和第一位图数据,所述第一分组数据的地址非连续分布,所述第一位图数据用于记录所述第一分组数据在所述第一向量数据中的向量位置;根据所述第一位图数据将所述第一向量数据装载至SIMD寄存器,使得所述第一向量数据中的所述第一分组数据的取值保持不变,并使得所述第一向量数据中的除所述第一分组数据之外的剩余数据的取值为零;利用SIMD指令对所述SIMD寄存器中的向量数据进行向量化聚合计算。2.根据权利要求1所述的方法,所述第一分组数据在所述第一向量数据中的向量位置包括向量起始位置和向量结束位置,在所述根据所述第一位图数据将所述第一向量数据装载至SIMD寄存器之前,所述方法还包括:如果所述向量起始位置和所述向量结束位置之间的数据个数不等于所述向量化聚合计算的步长的整数倍,则调整所述向量起始位置和/或所述向量结束位置,使得调整后的所述向量起始位置和所述向量结束位置之间的数据个数等于所述向量化聚合计算的步长的整数倍。3.根据权利要求1所述的方法,所述根据所述第一位图数据将所述第一向量数据装载至SIMD寄存器,包括:如果所述第一分组数据中的数据个数大于第一阈值,则根据所述第一位图数据将所述第一向量数据装载至所述SIMD寄存器;所述方法还包括:如果所述第一分组数据的数据个数小于或等于所述第一阈值,则对所述第一分组数据进行标量聚合计算。4.根据权利要求3所述的方法,所述第一阈值小于或等于所述SIMD指令一次能够操作的数据的个数。5.根据权利要求1所述的方法,所述第一向量数据存储在一段连续的地址空间中。6.根据权利要求1所述的方法,所述第一位图数据和所述第一向量数据的数据大小相同。7.一种聚合计算装置,包括:获取模块,用于从数据库中获取第一向量数据;分组模块,用于利用所述数据库的分组算子对所述第一向量数据进行分组,得到第一分...

【专利技术属性】
技术研发人员:曲斌潘毅刘彬
申请(专利权)人:北京奥星贝斯科技有限公司
类型:发明
国别省市:

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

1