阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说)、深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云。更多精彩内容请单击此处。
摘要:逻辑集群是基于Node Group机制来划分物理节点的一种集群模式,从节点层次将大集群进行划分,和数据库形成交叉。一个数据库中的表可以按逻辑集群来分配到不同的物理节点,而一个逻辑集群也可以包含多个数据库的表。
本文分享自华为云社区《【云小课】EI第33课 打造企业数据“高内聚,低耦合”--试试GaussDB(DWS)逻辑集群,实现数据物理隔离》,原文作者:阅识风云
一、逻辑集群是什么?
传统的企业数仓数据,往往是各种业务数据集成到同一个数据仓库集群中,不同业务数据根据集群中的数据库或表中进行区分,实际上所有业务数据还是在同一个数仓中,会存在以下问题,具体表现在:
- 数仓的数据规模越来越大,表越来越多。不同业务访问数仓过程中会带来资源的竞争,比如CPU、内存、磁盘IO、网络的竞争。虽然通过配置资源池可以一定程度解决资源竞争,但所有业务执行逻辑仍然同时在每个节点上执行,无法做到资源完全隔离。事实上,同一业务的不同作业总是倾向访问本业务相关的表,对其他业务的表访问较少,如果能做到业务内数据“高内聚”,业务间“低耦合”无疑是更好的选择。
- 数据库表无论大小都被切分到所有节点,对小表来说,数据过于分散。当节点规模达到一定程度后,通过增加更多节点,提高查询并行度的方式可能就无法带来理想的扩展性了。如果为了避免集群变大,将不同业务数据拆分成独立集群,集群间数据互访就需要从应用层解决,或者需要跨集群导数。
逻辑集群实现了一个大集群按节点拆分,将大集群中所有节点分组,每个节点组构建一个逻辑集群,可以很好的解决上面所述的问题。
逻辑集群是基于Node Group机制来划分物理节点的一种集群模式,从节点层次将大集群进行划分,和数据库形成交叉。一个数据库中的表可以按逻辑集群来分配到不同的物理节点,而一个逻辑集群也可以包含多个数据库的表。在划分逻辑集群后,整个数据库中对象间的层次关系如下图所示:
图1逻辑集群、数据库、表层次关系
- 在实际业务场景中,建议用户尽可能将同一个数据库的表创建到同一个逻辑集群中。
- 该功能受限商用,如需使用,请在技术人员指导下进行。
二、弹性集群
弹性集群是指在逻辑集群模式下,非逻辑集群节点组成的集群并且总是存在。弹性集群的名称为elastic_group,是一个特殊的Node Group,可以包含多个或不包含任何DN节点。
弹性集群不能用户手动创建,在物理集群下第一次创建逻辑集群时自动创建弹性集群,物理集群中所有不属于逻辑集群的物理节点都会加入弹性集群。后续逻辑集群创建所需的DN节点都是来自弹性集群中。因此,为了能够创建新的逻辑集群,需要保证弹性集群中有DN节点存在(在物理集群模式下第一次创建逻辑集群时不需要)。
用户可以通过扩容向弹性集群添加新的物理节点。
三、权限说明
- 逻辑集群创建权限(CREATE ON NODE GROUP)允许授予任何用户/角色,创建权限后可在对应的逻辑集群上进行创建表等相关操作。
- 允许修改表的owner为任何用户,但对表进行操作时,需要检查对应的schema和nodegroup权限。
- 系统管理员可以关联到特定逻辑集群,并在多个逻辑集群中创建表。
- 允许将系统管理员权限授予关联了逻辑集群的用户,但同样遵循建表规则。
- 非表对象(schema/sequence/function/trigger等)的访问不再检查逻辑集群权限。
- 逻辑集群用户如果有创建数据库权限也可创建数据库。
- 系统中的资源池必须关联到特定逻辑集群。
- 逻辑集群删除时只删除表、外表,资源池对象,其他对象不会删除。
四、逻辑集群有哪些注意事项?
五、如何进入逻辑集群页面?
- 登录GaussDB(DWS) 管理控制台。
- 在集群列表中单击指定集群名称。
- 进入集群“基本信息”页面,打开“逻辑集群开关”,出现“逻辑集群管理”页签。
4. 切换至逻辑集群页面,用户可进行相关操作。
六、逻辑管理相关操作
了解更多华为云数据仓库GaussDB(DWS),请猛戳这里!!!