5.7.1 逻辑集群概述
逻辑集群是基于Node Group机制来划分物理节点的一种集群模式,从节点层次将大集 群进行划分,和数据库形成交叉。一个数据库中的表可以按逻辑集群来分配到不同的 物理节点,而一个逻辑集群也可以包含多个数据库的表。在划分逻辑集群后,整个数 据库中对象间的层次关系如图5-14所示。
图5-14 逻辑集群、数据库、表层次关系
说明
● 逻辑集群支持8.1.0.100及以上版本。
● 在实际业务场景中,建议用户尽可能将同一个数据库的表创建到同一个逻辑集群中。
权限说明(在逻辑集群模式下)
● 逻辑集群创建权限(CREATE ON NODE GROUP)允许授予任何用户/角色,创建 权限后可在对应的逻辑集群上进行创建表等相关操作。
– 如果创建的表指定的schema是某个用户私有schema(即该schema和用户同 名且schema的owner是该用户),则新创建的表会将owner自动变更为该用 户,不需要进行关联逻辑集群操作。
– 如果用户关联了逻辑集群,则表创建在所关联的逻辑集群上;否则,根据逻 辑集群的建表规则创建。
– 和逻辑集群关联的用户在创建表时不需要指定to group,支持变更用户关联 的逻辑集群。
● 建表规则
– 用户表在没有指定to group时,如果设置了default_storage_nodegroup参 数,则会将表创建到指定的逻辑集群中。
– 如果default_storage_nodegroup参数设置为installation时,则会将表创建到 第一个逻辑集群中(即所有逻辑集群中oid最小的一个)。
● 允许修改表的owner为任何用户,但对表进行操作时,需要检查对应的schema和 nodegroup权限。
● 系统管理员可以关联到特定逻辑集群,并在多个逻辑集群中创建表。
– 系统管理员如果关联了逻辑集群,那么创建表时如果未指定to group,那么 会默认创建到关联的逻辑集群中;如果指定了to group,则可将表创建到指 定的逻辑集群中。
– 系统管理员如果没有关联逻辑集群,没有指定to group,则创建在由 default_storage_nodegroup参数指定的逻辑集群中,详情参见建表规则。
● 允许将系统管理员权限授予关联了逻辑集群的用户,但同样遵循建表规则。
● 非表对象(schema/sequence/function/trigger等)的访问不再检查逻辑集群权 限。
– 如果有对象依赖逻辑集群下的表(部分依赖表的sequence/function/
triggers)同样也会删除。
– 逻辑集群删除过程会取消用户关联关系,删除已有的父子租户关系,该集群 用户将会绑定默认的installation nodegroup,关联全局默认资源池。
● 逻辑集群用户如果有创建数据库权限也可创建数据库。
弹性集群
弹性集群是指在逻辑集群模式下,非逻辑集群节点组成的集群并且总是存在。弹性集 群的名称为elastic_group,是一个特殊的Node Group,可以包含多个或不包含任何 DN节点。
需要一些相同的公共维表,可以创建复制表节点组,并将这些公共维表创建在这个节 点组中。复制表节点组包含的逻辑集群都可在本DN上直接访问这些维度表,而不需访 问其他DN节点上的表。如果复制表节点组包含的逻辑集群中有任何一个发生了扩容或 缩容操作,复制表节点组也会随之扩容或缩容。如果包含的逻辑集群被删除了,复制 表节点组会随之缩容。但如果复制表节点组只包含一个逻辑集群,这种情况下如果逻 辑集群被删除,则复制表节点组也会删除。通常情况下用户不应该创建这样的复制表 节点组,而是应该将表创建到逻辑集群内。
复制表节点组通过SQL语句CREATE NODE GROUP创建,通过DROP NODE GROUP语 句删除,删除前需要将该节点组上的表对象都删。
说明
8.1.2及以上版本支持创建复制表节点组。
约束和限制
● 逻辑集群的创建、扩容和缩容必须以环为单位,最少3个物理节点,DN的主备从 必须在同一环所包含的物理节点内。
● 逻辑集群不支持单独备份和恢复。
● 逻辑集群不支持单独升级。
● 逻辑集群可以重启,但不支持单独的停止和启动。
● 物理集群转换为逻辑集群模式之后不支持回退到物理集群。
● 逻辑集群管理功能暂不支持与工作负载管理同时使用。
5.7.2 添加逻辑集群
步骤1 登录GaussDB(DWS) 管理控制台。
步骤2 在集群列表中单击指定集群名称。
步骤3 进入集群“基本信息”页面,打开“逻辑集群开关”,出现“逻辑集群管理”页签。
步骤4 切换至“逻辑集群管理”页签,单击“添加逻辑集群”按钮。
步骤5 在弹出窗口中从右侧选择要添加的环移动到左侧,并填写逻辑集群名称,单击“确 定”。
----结束
注意
● 在初次进入到“逻辑集群管理”页面时,若有从后台创建的逻辑集群,则会进行前 后台的逻辑集群元数据同步。同步之后可以在前台页面看到之前在后台创建的逻辑 集群信息,但不支持同名大小写不同的逻辑集群同步,如lc1和LC1。
5.7.3 编辑逻辑集群
步骤1 登录GaussDB(DWS) 管理控制台。
步骤2 在集群列表中单击指定集群名称。
步骤3 切换至“逻辑集群管理”页签,在需要编辑的逻辑集群所在行的“操作类型”列单击
“编辑”按钮。
步骤4 在弹出窗口中根据需求选择向逻辑集群中添加节点(从右侧将选中的环移动到左 侧),或从逻辑集群中减少节点(从左侧将选中环移动到右侧),并单击“确定”。
----结束 说明
● 向逻辑集群中添加节点或删除节点都以“环”为单位。
● 逻辑集群中至少要保留一个“环”。
● 从逻辑集群中删除的“环”将落入到弹性集群中。
5.7.4 删除逻辑集群
步骤1 登录GaussDB(DWS) 管理控制台。
步骤2 在集群列表中单击指定集群名称。
步骤3 切换至“逻辑集群管理”页面,在需要删除的逻辑集群所在行的“操作类型”列单击
“删除”按钮,在弹出窗口页面单击“确定”。
----结束
须知
● 第一个添加的逻辑集群不允许删除。
● 删除的逻辑集群节点落入到弹性集群中。
5.7.5 重启逻辑集群
步骤1 登录GaussDB(DWS) 管理控制台。
步骤2 在集群列表中单击指定集群名称。
步骤3 切换至“逻辑集群管理”页面,在需要重启的逻辑集群所在行的“操作类型”列单击
“重启”按钮,在弹出窗口中单击“确定”。
----结束
5.7.6 扩容逻辑集群
步骤1 登录GaussDB(DWS) 管理控制台。
步骤2 集群列表中,在指定集群所在行的“操作”列选择“更多>扩容”,进入扩容页面。
步骤3 在扩容页面选择需要扩容的逻辑集群或弹性集群,单击“下一步:规格确认”进行扩 容。
----结束
须知
● 逻辑集群和弹性集群不支持在线扩容。