GBase 8a MPP Cluster基于Shared Nothing的分布式架构,GCluster集群的协调节点和GNode集群的数据节点都可动态扩展,协调节点仅仅保存集群DDL的元数据信息,可通过集群管理工具动态扩展,达到GCluster集群内所有协调节点DDL元数据的一致性,GNode集群的数据节点可进行数据的动态扩展,数据在所有的数据节点上进行动态重分布。
全并行的 MPP + Shared Nothing 的分布式扁平架构, 这种架构中的每一个节点都是独立的、自给的、节点之间对等,而且整个系统中不存在单点瓶颈,具有非常强的扩展性。采用多活Coordinator 节点(包含GCluster 和 GCware 等服务)、运算节点(包含 Gbased、 Syncserver、 Synclient 等服务)的两级部署结构。Coordinator 节点最多支持 64 个,运算节点支持200以上节点,支持的数据量为PB级别。
GBase 8a MPP Cluster具有良好的扩展能力,节点数量支持平滑扩展。GBase 8a MPP Cluster系统具备双向扩展能力,即Scale Out(水平扩展)和Scale Up(垂直扩展)。Scale Out:即通过增加集群节点扩展集群计算性能和计算能力。Scale Up:即通过提升节点配置扩展集群计算性能和计算能力。系统随着数据量的增加,会动态利用MPP集群下所有节点上的资源能力,按照Hash散列等规则在节点间自动进行数据均衡分布,实现数据处理的负载均衡,所以可以保证随节点数的增加,MPP集群的处理并行度会动态增加,从而保证集群处理能力的线性提升。
作为实际经验,GBase 8a MPP Cluster的查询统计分析性能和数据加载的性能随节点服务器的增加呈准线性增长。数据量和负载不变,磁盘I/O读写速度、节点间网络速度达到性能要求的情况下,GBase 8a MPP Cluster支持集群节点数增加一倍,数据库整体处理能力可以提升0.8倍以上。
多种设备兼容性能力
通过GBase 8a MPP Cluster的分片和副本机制,用户可以根据硬件配置对各个节点上的分片和分片的副本配置进行灵活设置,可在一台物理服务器上配置任意个数的分片个数,并可以将分片的副本任意配置到集群的任意一个节点上,这样就可以根据主机配置,灵活地在主机性能高和存储空间大的节点分配更多的分片和副本,而对于性能低和配置小的节点分配更少的分片和副本,并且当服务器出现异常时可以将负载均匀分布在多台正常的服务器上。以上的集群的分片和副本配置策略,可以在实施集群扩容时进行灵活配置。通过根据机器能力的灵活配置,可以将1台节点上的各个实例数据的副本分配到多个物理节点上,也可以在1个物理节点上放置多个其他多个节点上实例的副本。
通过以上逻辑分片和副本机制,就可根据物理节点配置,在同一MPP集群下,部署异构硬件,从而实现持续性的平滑扩容,解决基于“支持多代设备共存”的投资保护问题。
在扩容时,针对扩容是添加的服务器配置,管理员可以根据各代服务器的配置差异灵活制定在新扩展节点服务器上的逻辑分片和副本个数,集群会根据扩容管理员制定的基本参数(包括单台机器上的逻辑分片个数、副本个数和分布模式)自动计算在整个集群内各个节点上的分片和副本分布,并且调用系统重分布处理,根据分布散列规则,重新进行数据重分布,从而实现对配置不同的硬件进行灵活的MPP集群扩容。集群扩容时,对于上层应用无需做任何调整,不影响数据访问。
在线扩容机制
GBase 8a MPP Cluster支持在线扩容,数据库内部经过数据准备阶段--〉数据切换阶段--〉数据备份阶段--〉数据清理恢复阶段等4个阶段。
在数据准备阶段中:系统内部通过分布规则(节点调整后Hash规则)将数据复制到新节点上,这个阶段整个数据库依然可读、可加载,数据仍可以向外提供数据查询服务,并且仍然可以执行新数据写服务。作为实现机理,系统会在数据扩容过程中,维护两套Hashnodemap规则(数据的Hash散列值到节点的映射关系),对于扩容过程中新生成数据,数据按照新Hash规则分布到各自节点,而对于扩容前数据,则采用扩容前hashnodemap规则查询定位,最后将两套数据合并后返回客户端,即为要查询的整体数据集。
在数据切换阶段:则将新节点上已经迁移的数据进行表rename操作,并且将旧节点上的不要数据进行删除,此时集群处于recovery状态,该阶段非常短暂;
在数据备份阶段:会在新节点上生成数据副本,这个阶段集群处于可读、可写状态,可以对外继续提供数据查询服务和数据写服务(如果此过程中有表进行写更新,集群会通过表锁保持数据一致,表锁释放后,写操作继续进行。但对于不同表更新不会造成锁阻塞);
在数据清理恢复阶段:系统会对重分布过程中生成的临时文件进行清理,但集群已经恢复normal状态,可以正常对外提供数据服务。
GBase 8a MPP Cluster的联邦架构进一步扩展了MPP架构下的节点规模,支持节点集群规模最大可达到300节点以上。在硬件得到充分配置下,使单个节点可处理数据量达到10TB-50TB程度,从而使整个集群处理能力可以达到10PB以上规模。
GBase 8a MPP Cluster也支持在线缩容操作,数据库内部同样经过数据准备阶段--〉数据切换阶段--〉数据备份阶段--〉数据清理恢复阶段等4个阶段,具体执行过程如下。
在数据准备阶段中:系统内部通过分布规则(节点调整后Hash规则)将数据复制到缩容后的节点上,这个阶段整个数据库依然可读、可加载,数据仍可以向外提供数据查询服务,并且仍然可以执行新数据写服务。作为实现机理,系统会在数据缩容过程中,维护两套Hashnodemap规则(数据的Hash散列值到节点的映射关系),对于缩容过程中新生成数据,数据按照新Hash规则分布到各自节点,而对于缩容前数据,则采用缩容前hashnodemap规则查询定位,最后将两套数据合并后返回客户端,即为要查询的整体数据集。
在数据切换阶段:则将缩容后节点上已经迁移的数据进行表rename操作,并且将旧节点上的不要数据进行删除,此时集群处于recovery状态,该阶段非常短暂;
在数据备份阶段:会在缩容后节点上重新生成数据副本,这个阶段集群处于可读、可写状态,可以对外继续提供数据查询服务和数据写服务(如果此过程中有表进行写更新,集群会通过表锁保持数据一致,表锁释放后,写操作继续进行。但对于不同表更新不会造成锁阻塞);
在数据清理恢复阶段:系统会对重分布过程中生成的临时文件进行清理,但集群已经恢复normal状态,可以正常对外提供数据服务。此时,可以移除缩掉的节点,卸载移除的data节点。
GBase 8a MPP Cluster高性能在线扩展能力
最新推荐文章于 2024-08-29 11:53:52 发布