探索BI系统搭建的必要性与AI技术的应用潜力
570
2022-05-29
随着GaussDB(DWS)用户数据的不断增长,用户原有的集群规模,无论从存储容量还是算力,均已经无法满足用户日益增长的业务需求,为提升用户体验,GaussDB(DWS)对外提供了集群扩容方案,该方案中包括以下几个步骤:
集群下发:用户购买新机器,此时下发后的新节点处于裸机状态,还无法使用;
构建新节点:对下发后的裸机进行初始化,加入到集群中,此时新节点已经加入到集群中,但是用户数据还未搬迁到新节点中,数据处于不均衡状态,新集群的算力还未达标;
数据重分布:进行数据搬迁,将数据从老集群重分布到新集群中,算力提升。
在上述三个步骤中,可能会对用户业务产生影响:
集群下发不会对用户业务产生影响
构建新节点包含两种模式,一种模式为read-only模式,该模式下用户业务必须离线,阻塞用户业务,另外一种模式为insert模式,该模式下用户业务受阻程度较小,阻塞时间为分钟级。通常情况下,构建新节点的时间与用户数据量、用户新增节点数量和CN数量相关,通常为小时级。
数据重分布也包含两种模式,read-only模式和insert模式,与构建新节点不同的是,数据重分布时间较长,通常为小时级至天级,具体需要依据用户表数据规模、磁盘类型进行估计。
综上,构建新节点和数据重分布可能会对用户业务造成一定影响,为减少对用户业务的影响,通常用户会选择业务低峰期进行扩容,然而,用户业务低峰期有可能是不连续的,例如说,用户业务低峰期为每天的00:00:00至05:00:00,而数据重分布时长总长为12小时,也就是说用户扩容可能会持续三天,每天只有5小时的扩容时间。为实现该目标,GaussDB(DWS)提供了分段扩容方案,虽然目前分段扩容方案已经逐步成熟,在多个局点取得了良好的效果,获得了用户的好评,但现阶段分段扩容方案依然面临着人力成本投入过高的问题。在分段扩容方案实施过程中,运维人员需要在用户业务低峰期,手动在后台通过命令行执行数据重分布,在用户低峰期时间窗结束时,再手动暂停重分布。
为了解决人力成本投入过高的问题,GaussDB(DWS)利用调度器(https://bbs.huaweicloud.com/blogs/262904)功能,实现了智能扩容方案。相比于已有的扩容方案,调度模式扩容具备以下特点:
【调度扩容-时间窗】
在调度模式重分布方案中,用户需预先将重分布时间窗信息写入配置文件,而调度器将自动在指定时间窗内执行重分布,调度器会在每个时间窗开始时,将重分布进程拉起,并在每个时间窗结束时,自动将重分布暂停。
若在所有时间窗耗尽后,重分布依然未完成,将进行告警处理,需要用户重新配置新的时间窗。
【调度模式扩容-容错】
在数据重分布过程中,可能会出现集群网络闪断,CN/DN进程重启,或者错表坏表的情况,会导致数据重分布失败。在调度模式扩容过程中,具备一定的容错能力,若发生部份表重分布失败,将跳过失败的表,继续重分布其他表,以避免浪费低峰期时间窗。对于重分布失败的表,需要用户手动修复重分布失败的表,或通知调度器进行重试。
【调度模式扩容-并发调节】
通常情况下,重分布会占用用户IO资源,现有扩容方案通过并发数量实现IO资源控制,高并发表示占用IO资源较高,低并发表示占用IO资源较少,现网实施过程中,通常通过手动调整并发数实现IO控制,需要运维人员实时跟踪扩容IO占用。
在调度模式重分布过程中,支持智能并发调节,调度器依据集群IO状态,自动执行并发调节。其中集群IO状态依据木桶原理,以集群中IO负载最高的节点作为集群整体IO。
【调度模式扩容-优先级表】
数据重分布支持“早投资早收益”的原则,即重分布完成的表将立即获得算力和容量的提升。因此,在调度模式重分布过程中,支持实时变更修改重分布优先级,用户可以手动指定表重分布顺序,对于用户业务频繁访问的表,可优先重分布,以立即获取算力和容量的提升。
【调度模式扩容-表重分布资源估计】
在调度模式重分布过程中,调度器将针对每张表的重分布执行时长进行估计,若当前时间窗不足以完成该表的重分布,则调度器不会针对该表进行重分布。
【调度模式扩容-多库并行】
调度模式重分布支持多库并发执行重分布。
调度模式重分布在已有扩容方案的基础上,依据现网扩容实时方案的反馈结果进行改进,主要针对人力成本、易用性进行改善,未来会成为GaussDB(DWS)主流扩容实施方案。
Gauss AP 数据仓库服务 GaussDB(DWS) 运维
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。