数据仓库之变形金刚——集群resize原理介绍

网友投稿 672 2022-05-29

摘要

数据仓库,往往意味着海量的数据,超大的集群,就像一个超大的金刚。一旦数据仓库搭建完成,集群迁移、集群规模扩展、集群架构调整需要花费很大的代价,对上层应用业务的影响周期也比较长。DWS提供了集群resize的功能。支持集群规模的scale out,也支持硬件规格的scale up,同时支持集群拓扑结构的重组。就如同使数仓这个金刚可以变形了。那让我们一起来看看他是如何变形的吧!

技术定义

先简单介绍数据仓库几个概念:

Scale Out(也就是Scale horizontally)横向扩展,向外扩展:

Scale out代表分布式计算的能力,通过在原有系统上增加节点来扩展存储能力和计算能力。对于数仓来说就是扩展集群规模。为了不出现木桶效应,要求新扩的机器硬件配置和老集群一致。

Scale Up(也就是Scale vertically)纵向扩展,向上扩展:

Scale up代表以主机或机箱式为主的扩展CPU或内存存储的能力。通过在原有系统上提升硬件配置(如磁盘、内存、CPU、网卡等),来提升存储能力和计算能力。对于数仓来说就是升级硬件配置,升级有些硬件配置可能需要升级操作系统。

DWS逻辑拓扑结构:

这个图大家在之前的博文中应该见过,本次从resize的角度介绍下。

DWS的组件从功能角度可分为功能组件和数据组件。

数据组件:提供数据处理的组件,如DN节点,目前DWS均衡部署,每个机器上的DN数目一般相同。

功能组件:提供特定功能的组件,如GTM提供全局事务处理,CN处理业务接入,CM处理集群管理,WLM处理负载均衡。这些组件一般数量固定,在集群安装时按照特定规则部署在集群的某些机器上。随着集群规模的调整,初始的配置可能已经不是最优配置了。因此存在调整集群拓扑结构来调优的诉求。

Redshift的cluster resize解决方案如下,包括原地resize和快照恢复到异构集群方式resize。

技术原理

GaussDB(DWS)resize基于多nodegroup和数据重分布实现,同时提供了横向扩展和纵向扩展的能力,resize期间老集群只支持只读业务。

典型resize流程示意图如下:

老集群同网络内,新建一个独立的集群,新集群的拓扑结构和硬件配置可以和老集群完全不同。

新老集群融合成一个大集群,并做老集群到新集群的数据重分布。数据重分布期间,新集群对外不可见,老集群对外提供业务。

数据重分布完成,新老集群分裂,此时新老集群的各自的数据是完全相同的,用户可以运行业务,对比新老集群的性能。

集群resize的完整流程图如下

集群resize的数据重分布逻辑

数据重分布的核心思想是把1个nodegroup的数据select insert into到1个新的nodegroup上。Scale-out扩容的数据重分布新的nodegroup是包含老的nodegroup的,而集群resize的新的nodegroup和老的nodegroup的DN是完全没有交集的。如下:

具体功能

小规格的集群纵向扩展为大规格更少节点集群;

小规格的集群纵向扩展为大规格更多节点集群;

数据仓库之变形金刚——集群resize原理介绍

小规格的集群纵向扩展为大规格相同节点集群;

大规格的集群向下调整为小规格的集群。

技术应用

6.5.1版本交付的需求,主要给DWS使用,支撑DWS从小规格节点Scale-up为更大规格的节点。主要场景为XX客户POC使用低配xlarge规格,切换生产时想使用大规格高配12xlarge集群。且通过不重装集群、不导出/导入数据方式直接切换。

扩展场景:

新建集群的集群规模新增或者减少。

新建集群的硬件配置可以高配或者低配。

新建集群的功能组件的的配置(数量,位置)可以变更。

规格约束及演进方向

resize的耗时依赖于老集群的IO read(可能瓶颈),新集群的IO write和新老节点间的网络IO。公式为:

max(老集群单raid数据量/IO read速率,  新集群单raid数据量/IO write速率,  总数据量/老节点数/发送速率,  总数据量/新节点数/接收速率)

新集群单raid数据量 = 总数据量/新集群节点数/raid组数   --假设无明显数据倾斜。

集群resize过程中集群存在业务秒级闪断。

集群resize过程中提供只读服务,后续版本提供在线能力。

结语

集群resize提供一键式集群的扩容和迁移的能力。来解决数仓使用过程中规格调整,规模扩展,拓扑变更的诉求。

想了解GuassDB(DWS)更多信息,欢迎微信搜索“GaussDB DWS”关注微信公众号,和您分享最新最全的PB级数仓黑科技~

EI企业智能 Gauss AP 应用运维管理 AOM 数据仓库服务 GaussDB(DWS)

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:【鲲鹏应用创新大赛 2020·陕西赛区顺利落幕】 千年古都展现科技魅力
下一篇:Qt 使用irrlicht(鬼火)3D引擎
相关文章