数据仓库系统的资源管理方法及装置制造方法及图纸

技术编号:34246160 阅读:55 留言:0更新日期:2022-07-24 10:25
本申请实施例公开了一种数据仓库系统的资源管理方法及装置。其方法包括:数据仓库系统中,数据文件分布存储于存储服务的各bucket(存储空间),各bucket分别映射至各计算节点,各计算节点存储所映射bucket的数据文件的元数据信息并负责所映射bucket的计算任务;响应于调整计算资源的触发事件,依据调整计算资源前bucket与计算节点的映射关系以及调整计算资源后bucket与计算节点的映射关系,确定映射的计算节点发生变更的bucket作为待迁移bucket,将待迁移bucket在调整计算资源前映射到的计算节点作为源计算节点,在调整计算资源后映射到的计算节点作为目标计算节点;将待迁移bucket对应的元数据从源计算节点迁移至目标计算节点。本申请能够有效缩短云端数据仓库的扩缩容时长。的扩缩容时长。的扩缩容时长。

Resource management method and device of data warehouse system

【技术实现步骤摘要】
数据仓库系统的资源管理方法及装置


[0001]本申请涉及计算机
,特别是涉及一种数据仓库的资源管理方法及装置。

技术介绍

[0002]数据仓库是一个系统,它将来自各种数据源的数据导入存储中,并为后续的快速检索做好准备。数据仓库通常包含了从各种数据源提取到的结构化或半结构化数据。数据仓库可以被部署于本地,但出于硬件成本和扩展能力的考虑,越来越多的用户将数据仓库部署于云端。
[0003]在大多数使用云端数据仓库的场景下,非常看重数据仓库的分时弹性能力,这就要求计算资源的调整要尽可能快、对读写操作的影响尽可能小。传统云端数据仓库对于计算资源的调整(诸如计算节点的扩缩容)往往伴随着数据迁移,计算资源的调整性能与数据量成正比,通常需要小时级甚至天级的时长。目前已有的云端数据仓库系统诸如以下三种:数据仓库系统Greenplum只能支持计算节点的扩容并支持缩容,并且计算节点的扩容会引起数据迁移,当数据量很大时,扩容性能达到小时级或天级。
[0004]数据仓库系统Snowflake将所有数据和元数据都存储到AWS(Amazon Web Services,亚马逊网络服务)上。但由于Snowflake的数据分布策略是通过一致性哈希将数据和计算节点做映射,在进行join(连接)查询时容易造成系统资源的浪费。所谓join查询主要是根据两表或多表之间列的关系,从这些表中进行数据的查询。一致性哈希是依据数据文件名进行哈希后,映射到环状空间上最近的计算节点,这就造成了数据仓库中不同表对应于不同计算节点,因此进行join查询时需要在计算节点之间进行数据传输,从而造成了系统资源的浪费。
[0005]数据仓库系统AWS Redshif采用分布式哈希的方式将数据切片映射到计算节点上,但计算节点在进行扩缩容时引起数据切片的重新映射,对划分后的数据切片做迁移,这是一个耗时的过程,扩容性能差。

技术实现思路

[0006]有鉴于此,本申请提供了一种数据仓库的资源管理方法及装置,以便于缩短云端数据仓库的计算资源的调整时长。
[0007]本申请提供了如下方案:根据第一方面,提供了一种数据仓库系统的资源管理方法,所述数据仓库系统中,数据文件分布存储于存储服务的各存储空间bucket,各bucket分别映射至各计算节点,各计算节点存储所映射bucket的数据文件的元数据信息并负责所映射bucket的计算任务;所述方法包括:响应于调整计算资源的触发事件,确定调整计算资源后bucket与计算节点的映射关系;依据调整计算资源前bucket与计算节点的映射关系以及所述调整计算资源后
bucket与计算节点的映射关系,确定映射的计算节点发生变更的bucket作为待迁移bucket,将待迁移bucket在调整计算资源前映射到的计算节点作为源计算节点,在调整计算资源后映射到的计算节点作为目标计算节点;将所述待迁移bucket对应的元数据从源计算节点迁移至目标计算节点。
[0008]根据本申请实施例中一可实现的方式,所述数据文件分布存储于存储服务的各存储空间bucket包括:所述数据文件通过一致性哈希的方式或均匀哈希的方式将各数据文件的列字段映射存储于各bucket;所述各bucket分别映射至各计算节点包括:各bucket采用均匀哈希的方式映射至各计算节点。
[0009]根据本申请实施例中一可实现的方式,该方法还包括:响应于连接join查询请求,确定被请求的表格列所在bucket映射的计算节点;将所述join查询请求发送给确定出的计算节点,由该计算节点进行本地join查询计算。
[0010]根据本申请实施例中一可实现的方式,数据文件的元数据信息包括系统元数据和可见性元数据;管理节点和各计算节点均保存所有数据文件的系统元数据,但仅保存所映射bucket的数据文件的可见性元数据;将所述待迁移bucket对应的元数据从源计算节点迁移至目标计算节点包括:若所述调整计算资源为计算节点扩容,则由所述管理节点拷贝系统元数据至新增计算节点,并触发所述源计算节点将该待迁移bucket的数据文件的可见性元数据迁移至所述目标计算节点;或者,若所述调整计算资源为计算节点缩容,则触发所述源计算节点将该待迁移bucket的数据文件的可见性元数据迁移至所述目标计算节点。
[0011]根据本申请实施例中一可实现的方式,在将所述待迁移bucket对应的元数据从源计算节点迁移至目标计算节点之前,还包括:设置所述数据仓库系统为只读模式;若所述数据仓库系统存在正在执行的写请求,则允许所述写请求在设定时长内继续执行;达到所述设定时长后对尚未执行完毕的写请求进行回滚处理;在将所述待迁移bucket对应的元数据从源计算节点迁移至目标计算节点之后,还包括:设置所述数据仓库系统为读写模式。
[0012]根据本申请实施例中一可实现的方式,设置所述数据仓库系统为只读模式之后,还包括:若所述数据仓库系统不存在正在执行的写请求,则执行将所述待迁移bucket对应的元数据从源计算节点迁移至目标计算节点的步骤。
[0013]根据本申请实施例中一可实现的方式,该方法还包括:在将所述待迁移bucket对应的元数据从源计算节点迁移至目标计算节点时,响应于读请求,获取当前数据分布策略表的快照,依据所述快照对所述读请求进行处理;在将所述待迁移bucket对应的元数据从源计算节点迁移至目标计算节点之后,利用调整计算资源后bucket与计算节点的映射关系更新所述数据分布策略表。
[0014]根据第二方面,提供了一种数据仓库系统的资源管理装置,所述数据仓库系统中,
数据文件分布存储于存储服务的各存储空间bucket,各bucket分别映射至各计算节点,各计算节点存储所映射bucket的数据文件的元数据信息并负责所映射bucket的计算任务;所述装置包括:第一确定单元,被配置为响应于调整计算资源的触发事件,确定调整计算资源后bucket与计算节点的映射关系;第二确定单元,被配置为依据调整计算资源前bucket与计算节点的映射关系以及所述调整计算资源后bucket与计算节点的映射关系,确定映射的计算节点发生变更的bucket作为待迁移bucket,将待迁移bucket在调整计算资源前映射到的计算节点作为源计算节点,在调整计算资源后映射到的计算节点作为目标计算节点;迁移处理单元,被配置为将所述待迁移bucket对应的元数据从源计算节点迁移至目标计算节点。
[0015]根据第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一方面中任一项所述的方法的步骤。
[0016]根据第四方面,提供了一种电子设备,其特征在于,包括:一个或多个处理器;以及与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行上述第一方面中任一项所述的方法的步骤。
[0017]根据本申请提供的具体实施例,本申请可以具备以下技术效果:1)本申请实施例中,数据文件不再和计算节点强绑定在一本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据仓库系统的资源管理方法,其特征在于,所述数据仓库系统中,数据文件分布存储于存储服务的各存储空间bucket,各bucket分别映射至各计算节点,各计算节点存储所映射bucket的数据文件的元数据信息并负责所映射bucket的计算任务;所述方法包括:响应于调整计算资源的触发事件,确定调整计算资源后bucket与计算节点的映射关系;依据调整计算资源前bucket与计算节点的映射关系以及所述调整计算资源后bucket与计算节点的映射关系,确定映射的计算节点发生变更的bucket作为待迁移bucket,将待迁移bucket在调整计算资源前映射到的计算节点作为源计算节点,在调整计算资源后映射到的计算节点作为目标计算节点;将所述待迁移bucket对应的元数据从源计算节点迁移至目标计算节点。2.根据权利要求1所述的方法,其特征在于,所述数据文件分布存储于存储服务的各存储空间bucket包括:所述数据文件通过一致性哈希的方式或均匀哈希的方式将各数据文件的列字段映射存储于各bucket;所述各bucket分别映射至各计算节点包括:各bucket采用均匀哈希的方式映射至各计算节点。3.根据权利要求2所述的方法,其特征在于,该方法还包括:响应于连接join查询请求,确定被请求的表格列所在bucket映射的计算节点;将所述join查询请求发送给确定出的计算节点,由该计算节点进行本地join查询计算。4.根据权利要求1所述的方法,其特征在于,数据文件的元数据信息包括系统元数据和可见性元数据;管理节点和各计算节点均保存所有数据文件的系统元数据,但仅保存所映射bucket的数据文件的可见性元数据;将所述待迁移bucket对应的元数据从源计算节点迁移至目标计算节点包括:若所述调整计算资源为计算节点扩容,则由所述管理节点拷贝系统元数据至新增计算节点,并触发所述源计算节点将该待迁移bucket的数据文件的可见性元数据迁移至所述目标计算节点;或者,若所述调整计算资源为计算节点缩容,则触发所述源计算节点将该待迁移bucket的数据文件的可见性元数据迁移至所述目标计算节点。5.根据权利要求1至4中任一项所述的方法,其特征在于,在将所述待迁移bucket对应的元数据从源计算节点迁移至目标计算节点之前,还包括:设置所述数据仓库系统为只读模式;...

【专利技术属性】
技术研发人员:苏茂萌邢玉辉陆元飞魏闯先林亮
申请(专利权)人:阿里云计算有限公司
类型:发明
国别省市:

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

1