列存数据库的分桶物化方法、服务器、产品及存储介质技术

技术编号:46447995 阅读:5 留言:0更新日期:2025-09-19 20:50
本申请实施例提供一种列存数据库的分桶物化方法、服务器、产品及存储介质。在物化方法中,获取用于对目标数据表进行查询的行号序列之后,根据行号序列中的行号所属的行号范围,将行号序列中的行号划分到多个分桶表,并在目标数据表中,分别执行该多个分桶表对应的数据读取操作,得到该多个分桶表各自对应的物化表。在这种实施方式中,通过将输入的行号进行分桶,使得同一分桶表内的行号位于较小的局部范围内,且分桶表内的行号的随机性较低,从而使得每个分桶表的数据读取过程具有较为严格的空间局部性。在执行每个分桶表的数据读取操作时,可按照局部范围内随机性较低的行号对目标数据表进行检索,该局部范围内随机性较低的行号对目标数据表所在的存储介质的访问操作的随机性降低,从而可提升列存数据库的数据读取性能。

【技术实现步骤摘要】

本申请涉及计算机,尤其涉及一种列存数据库的分桶物化方法、服务器、产品及存储介质


技术介绍

1、列存数据库(column-based),是一种新兴的数据存储方式。在列存数据库中,数据是按列存储的,即关系表的同一列中的数据彼此相邻地保存在存储介质(如磁盘)中,不同列的数据在存储介质上分离存储。在对数据进行查询时,列存数据库允许只读取查询语句涉及的列。因此,相比于行存储数据库,列存数据库无需读取所有的列,因而在处理分析类型的查询语句时有明显的性能优势。在列存数据库中,由于不同的列分离存储,使得列存执行器可采取延迟物化(又称为后物化或者晚期物化)策略执行数据读取操作。在延迟物化策略中,数据库的执行算子之间使用行号(即rowid)传递执行算子的计算结果,并在需要使用某列数据执行计算操作时,再使用行号作为索引来读取列存数据。

2、但是,每个执行算子在使用延迟物化策略的过程中,当数据表的数据规模超过列存数据库的内存的场景下,需直接根据行号访问数据表存储介质以读取列存数据。但是,根据乱序的行号读取列存数据会对存储介质产生大量的随机访问,从而造成严重的数据库性本文档来自技高网...

【技术保护点】

1.一种列存数据库的分桶物化方法,适用于列存数据库的任一执行算子,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,根据所述行号序列中的行号所属的行号范围,将所述行号序列中的行号划分到多个分桶表之前,还包括:

3.根据权利要求2所述的方法,其特征在于,在所述目标数据表中,分别执行所述多个分桶表对应的数据读取操作,包括:

4.根据权利要求1所述的方法,其特征在于,根据所述行号序列中的行号所属的行号范围,将所述行号序列中的行号划分到多个分桶表,包括:

5.根据权利要求3所述的方法,其特征在于,所述方法还包括:为所述行号序列中的行号生...

【技术特征摘要】

1.一种列存数据库的分桶物化方法,适用于列存数据库的任一执行算子,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,根据所述行号序列中的行号所属的行号范围,将所述行号序列中的行号划分到多个分桶表之前,还包括:

3.根据权利要求2所述的方法,其特征在于,在所述目标数据表中,分别执行所述多个分桶表对应的数据读取操作,包括:

4.根据权利要求1所述的方法,其特征在于,根据所述行号序列中的行号所属的行号范围,将所述行号序列中的行号划分到多个分桶表,包括:

5.根据权利要求3所述的方法,其特征在于,所述方法还包括:为所述行号序列中的行号生成顺序标识;

6.根据权利要求5所述的方法,其特征在于,在所述目标数据表中,分别执行所述多个分桶表对应的数据读取操作,包括:

7.一种列存数据库的分桶物化方法,适用于列存数据库的任一执行算子,其特征在于,包括:

8.根据权利要求7所述的方法,其特征在于,根据所述第一行号序列对应的多个...

【专利技术属性】
技术研发人员:李同良王剑英杨莘军李飞飞
申请(专利权)人:阿里云计算有限公司
类型:发明
国别省市:

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

1