MPP并行数据库实例级副本均衡方法技术

技术编号:35520061 阅读:19 留言:0更新日期:2022-11-09 14:38
本发明专利技术涉及一种MPP并行数据库实例级副本均衡方法,其技术特点是:存储IO的均衡策略为每个WAL日志配置单独存储硬盘,为业务数据配置一个共享的大容量存储硬盘;物理内存的均衡策略采用动态的数据页面缓冲区分配方式;计算资源的均衡策略采用自适应工作方式;回切原主实例策略包括平滑模式rebalance和速度模式rebalance以满足不同的场景需求。本发明专利技术充分考虑MPP并行数据库中并行计算、批量装载数据以及一次写入多次查询的特点,分别从存储IO、物理内存、计算资源和回切原主实例这四个方面进行实例级副本的均衡,最终实现了在不妥协从实例的冗余能力的基础上最大化主实例的计算服务能力。服务能力。服务能力。

【技术实现步骤摘要】
MPP并行数据库实例级副本均衡方法


[0001]本专利技术属于数据库
,尤其是一种MPP并行数据库实例级副本均衡方法。

技术介绍

[0002]MPP并行数据库采取无共享(share

nothing)的体系结构,是面向数据仓库以及商业智能的高性能分布式并行数据库产品。MPP并行数据库由一个管理协调节点和多个完全对称的计算存储节点构成,通过将复杂查询拆分到复数个子节点并行执行,可以快速完成数据仓库或者智能商业的统计分析查询。
[0003]分布式系统的故障率同节点规模成正比。为了提升数据的可靠性和系统的持续可用性,MPP并行数据库需要提供冗余容错能力,即副本技术。对副本技术的研究主要有复制方式、分布方式、服务能力几个方面。具体包括:表级副本和实例级副本、独立专用服务器和交叉共用服务器、热备模式和读写分离模式。MPP并行数据库通常采用实例级副本、交叉共用服务器和热备模式的副本技术。将存储原始数据的实例称为主实例,存储冗余副本的实例称为从实例,主从实例部署如图1所示。例如,GreenPlum以及神通MPP并行数据库5.0都采用了这种副本技术实现方式。
[0004]MPP并行数据库实例级副本的具体工作原理为:首先,按照某种策略将从实例部署到集群内对应主实例之外的服务器,最简单的策略是顺序选择下一编号的服务器。然后,主实例在完全模式下运行,可以对外提供查询计算,从实例在恢复模式下运行,接收从主实例传送来的WAL日志并回放,并不对外提供服务。待主实例故障掉线后,MPP并行数据库识别并通知从实例由恢复模式转变为完全模式,并对外提供查询计算,称为从实例提升为主实例,同样,需要的时候也可以将主实例降级为从实例。
[0005]MPP并行数据库通常用于对大数据集合的复杂统计分析查询,具有周期性批量装载数据、一次写入多次查询的特点。另外,不同于注重高吞吐的事务型数据库系统,MPP并行数据库注重对单一任务的并行计算能力,因此,在执行任务时服务器的各类资源,包括处理器、物理内存和存储IO,往往处于高负载甚至满载状态。副本技术可以提升系统的可靠性和可用性,但不可避免会因为占用系统资源而对系统的服务能力产生影响。
[0006]另外,主实例故障掉线后从实例提升为主实例继续提供计算。虽然此时MPP并行数据库仍可以对外继续提供服务,但因为缺少了一个节点,导致MPP并行数据库的整体服务能力下降。假设MPP并行数据库有N个节点,损失一个节点,最理想情况下整体服务能力将下降1/N。而又因为某一个节点服务器需要承受自身以及新提升主的双重负载,成为性能瓶颈节点,使得MPP并行数据库的服务能力最大可下降50%。所以,MPP并行数据库需要具有回切原主实例的能力,同时尽量减少对应用程序的影响,使系统在修复和服务之间实现均衡。

技术实现思路

[0007]本专利技术的目的在于克服现有技术的不足,提供一种MPP并行数据库实例级副本均衡方法,实现了在不妥协从实例的冗余能力的基础上最大化主实例计算服务能力的功能。
[0008]本专利技术解决现有的技术问题是采取以下技术方案实现的:
[0009]一种MPP并行数据库实例级副本均衡方法,包括存储IO的均衡策略、物理内存的均衡策略、计算资源的均衡策略和回切原主实例策略;
[0010]所述存储IO的均衡策略:为每个WAL日志配置单独存储硬盘,为业务数据配置一个共享的大容量存储硬盘;
[0011]所述物理内存的均衡策略:采用动态的数据页面缓冲区分配方式;
[0012]所述计算资源的均衡策略:采用自适应工作方式,将从实例增加日志回放线程池、协调管理器以及一个RTO阈值,从实例在初始阶段只启动一个日志回放线程,协调管理器负责实时计算WAL日志回放进展,如果回放进展超过了设定的RTO阈值,将唤醒更多的线程并行回放,直至全部回放完成,再释放并保留一个回放线程继续工作;
[0013]所述回切原主实例策略:包括平滑模式rebalance和速度模式rebalance以满足不同的场景需求。
[0014]进一步,所述WAL日志配置的单独存储硬盘为SAS硬盘组成的RAID1,所示业务数据配置的大容量存储硬盘采用多块大容量的SATA硬盘组成的RAID5。
[0015]进一步,所述动态的数据页面缓冲区分配方式为:为数据页面缓冲区设置两个容量值:初始容量、正常容量,为存放页面的缓冲块设置两个缓冲块,当数据库实例从实例启动时,按照初始容量创建哈希映射数组和第一缓冲块,此时的缓冲区大小为初始容量,当从实例被提升为主实例时增大哈希映射数组并创建第二缓冲块,缓冲区增大到正常容量,当主实例降级为从实例时缩减哈希映射数组并删除第二缓冲块。
[0016]进一步,所述初始容量和正常容量的比例为1:4。
[0017]进一步,所述从实例提升为主实例的具体实现方法为:
[0018]⑴
增大哈希映射数组;
[0019]⑵
计算正常容量和初始容量差值,申请第二缓冲块并与第一缓冲块构成缓冲块组;
[0020]⑶
依照动态哈希算法,将部分页面由第一缓冲块迁移至第二缓冲块;
[0021]⑷
页面访问自动定位到新的存放位置。
[0022]进一步,所述主实例降级为从实例的具体实现方法为:
[0023]⑴
依照动态哈希算法,将第二缓冲块中数据页面迁移至第一缓冲块;
[0024]⑵
如果第一缓冲块中已经没有空闲空间,将剩余数据页面回刷至数据文件;
[0025]⑶
缩减哈希映射数组;
[0026]⑷
释放第二缓冲块的内存空间;
[0027]⑸
页面访问自动定位到新的存放位置。
[0028]进一步,所述计算资源的均衡策略中,协调管理器还根据修改RTO阈值的指令要求,设置并行回放的线程数量,当修改RTO阈值为0时,将立即触发从实例并行回放,所述从实例并行回放的具体实现方法为:
[0029]⑴
接收线程将接收到的WAL日志回刷至日志文件;
[0030]⑵
接收线程通知协调管理器日志回刷进度;
[0031]⑶
回放线程顺序读取WAL日志进行回放;
[0032]⑷
回放线程通知协调管理器日志回放进度;
[0033]⑸
协调管理器检查发现回刷进度和回放进度偏差超过了RTO阈值,启动更多的线程并行回放;
[0034]⑹
协调管理器检查发现已全部回放完成,释放并保留一个回放线程继续工作。
[0035]进一步,所述平滑模式rebalance的具体实现方法为:
[0036]⑴
注册rebalance事件,并启动后台任务;
[0037]⑵
主实例对外继续提供完整的服务;
[0038]⑶
后台任务监听从实例的回放进度,直至完成;
[0039]⑷
后台任务触发rebalance,转换主从角色,主实例降级为从本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种MPP并行数据库实例级副本均衡方法,其特征在于:包括存储IO的均衡策略、物理内存的均衡策略、计算资源的均衡策略和回切原主实例策略;所述存储IO的均衡策略:为每个WAL日志配置单独存储硬盘,为业务数据配置一个共享的大容量存储硬盘;所述物理内存的均衡策略:采用动态的数据页面缓冲区分配方式;所述计算资源的均衡策略:采用自适应工作方式,将从实例增加日志回放线程池、协调管理器以及一个RTO阈值,从实例在初始阶段只启动一个日志回放线程,协调管理器负责实时计算WAL日志回放进展,如果回放进展超过了设定的RTO阈值,将唤醒更多的线程并行回放,直至全部回放完成,再释放并保留一个回放线程继续工作;所述回切原主实例策略:包括平滑模式rebalance和速度模式rebalance以满足不同的场景需求。2.根据权利要求1所述的MPP并行数据库实例级副本均衡方法,其特征在于:所述WAL日志配置的单独存储硬盘为SAS硬盘组成的RAID1,所示业务数据配置的大容量存储硬盘采用多块大容量的SATA硬盘组成的RAID5。3.根据权利要求1所述的MPP并行数据库实例级副本均衡方法,其特征在于:所述动态的数据页面缓冲区分配方式为:为数据页面缓冲区设置两个容量值:初始容量、正常容量,为存放页面的缓冲块设置两个缓冲块,当数据库实例从实例启动时,按照初始容量创建哈希映射数组和第一缓冲块,此时的缓冲区大小为初始容量,当从实例被提升为主实例时增大哈希映射数组并创建第二缓冲块,缓冲区增大到正常容量,当主实例降级为从实例时缩减哈希映射数组并删除第二缓冲块。4.根据权利要求3所述的MPP并行数据库实例级副本均衡方法,其特征在于:所述初始容量和正常容量的比例为1:4。5.根据权利要求3所述的MPP并行数据库实例级副本均衡方法,其特征在于:所述从实例提升为主实例的具体实现方法为:

增大哈希映射数组;

计算正常容量和初始容量差值,申请第二缓冲块并与第一缓冲块构成缓冲块组;

依照动态哈希算法,将部分页面由第一缓冲块迁移至第二缓冲块;

页面访问自动定位到新的存放位置。6.根据权利要求3所述的MPP并行数据库实例级副本均衡方法,其特征在于:所述主实例降级为从实例的具体实现方法为:

依照动态哈希算法,将第二缓冲块中数据页面迁移...

【专利技术属性】
技术研发人员:李晓鹏贾宗秀刘尧张昕尧蒋旭赵冬伟姬涛涛朱亚楠吴嵩周勇亮刘勇生桑国彪乐承予
申请(专利权)人:天津神舟通用数据技术有限公司
类型:发明
国别省市:

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

1