GaussDB(DWS) 逻辑集群系列一:逻辑集群简介

举报
dbtong 发表于 2021/01/16 15:11:24 2021/01/16
【摘要】 什么是逻辑集群,有哪些能力,可以应用在哪些场景,本文将给你答案。

 

GaussDB(DWS)为什么要支持逻辑集群

传统的基于MPP的分布式数据仓库采用的是全对等架构,每个表数据平均分布到所有节点中,这样能保证足够的并发度以及节点间协同,保证性能SLA。只要保证数据在所有节点上是均衡的,数据查询会将计算平均分配到所有节点上,结构简单,扩展性好 。                                      

11111111111111.png


随着业务越来越大,这种简单的数据分布方式可能会带来一些问题。具体表现为:

  1. 用户不断把各种业务数据集成到一个数仓中,不同业务逻辑访问同一个数仓,这减少了维护多个数仓的成本,运维方便。但也会导致数仓的数据规模越来越大,表越来越多。不同业务访问数仓过程中会带来资源的竞争,比如CPU、内存、磁盘IO、网络的竞争。虽然通过配置资源池可以一定程度解决资源竞争,但所有业务执行逻辑仍然同时在每个节点上执行,无法做到资源完全隔离。事实上,同一业务的不同作业总是倾向访问本业务相关的表,对其他业务的表访问较少,如果能做到业务内数据“高内聚”,业务间“低耦合”无疑是更好的选择。
  2. 数据库表无论大小都被切分到所有节点,对小表来说,数据过于分散。当节点规模达到一定程度后,通过增加更多节点,提高查询并行度的方式可能就无法带来理想的扩展性了。如果为了避免集群变大,将不同业务数据拆分成独立集群,集群间数据互访就需要从应用层解决,或者需要跨集群导数。

   逻辑集群实现了一个大集群按节点拆分,将大集群中所有节点分组,每个节点组构建一个逻辑集群,可以很好的解决上面所述的问题。

11111111111111.png

   企业可以根据不同业务的数据规模为其创建不同节点数的逻辑集群,由于不同节点属于不同的逻辑集群,这样可以做到不同业务之间物理资源彻底隔离。在一个逻辑集群内部,所有节点是对等的,数据保持均衡,确保逻辑集群内部作业高效运行。同时,由于所有业务仍然在一个统一的大集群内,有统一的元数据管理和节点管理,跨逻辑集群数据互访非常容易和高效,这样就可以做到高内聚,低耦合。

 

逻辑集群的能力

逻辑集群实现了三种隔离:

  • 数据隔离:不同业务的表创建在不同逻辑集群上,表数据物理上隔离;
  • 资源隔离:不同逻辑集群的CPU,内存,IO资源是隔离的;跨逻辑集群数据访问的资源是受控的;同一逻辑集群内部还可以通过负载队列进行作业资源管控;
  • 权限隔离:访问其他逻辑集群的表和数据库对象需要授权;

逻辑集群支持弹性计算,一个逻辑集群的作业可以利用其他逻辑集群计算资源。

逻辑集群间可以异构部署,一个逻辑集群内部节点间配置应该是完全相同的,不同逻辑集群间节点配置可以不同(包括CPU、内存、IO等硬件配置,但操作系统配置需要相同)。

每个逻辑集群可以独立扩缩容,业务迁移后不用的逻辑集群可以删除,释放的节点可以用于创建新的逻辑集群。

逻辑集群典型场景

多子业务拆分:将一个大业务拆分为多个子业务,每个子业务创建一个独立逻辑集群;子业务之间资源隔离,同时也可以方便地进行跨子业务查询。

 

11111111111111.png


数据加工和数据查询作业分离:将数据加工和灵活查询作业分开到两个逻辑集群,数据加工结果写入灵活查询逻辑集群中,保证两类作业资源隔离,且可以根据需要独立扩容。

 

11111111111111.png



【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。