文档首页 > > 管理指南> 管理集群> 逻辑集群管理>

逻辑集群概述

逻辑集群概述

分享
更新时间:2021/05/12 GMT+08:00

逻辑集群是基于Node Group机制来划分物理节点的一种集群模式,从节点层次将大集群进行划分,和数据库形成交叉。一个数据库中的表可以按逻辑集群来分配到不同的物理节点,而一个逻辑集群也可以包含多个数据库的表。在划分逻辑集群后,整个数据库中对象间的层次关系如图1所示。

图1 逻辑集群、数据库、表层次关系
  • 逻辑集群支持8.1.0.100及以上版本。
  • 在实际业务场景中,建议用户尽可能将同一个数据库的表创建到同一个逻辑集群中。

逻辑集群的权限说明

  • 普通用户必须关联到某个逻辑集群才可进行创建表操作,但不允许关联多个逻辑集群。
    • 用户一旦关联了逻辑集群,则不允许再授予其系统管理员权限。
    • 没有关联逻辑集群的用户不允许进行创建表操作,但仍然可以创建视图、函数等数据库对象。
      • 如果创建的视图或函数体涉及表操作,则用户仍然可以成功创建表,但执行视图或函数体时需要授权。
      • 如果创建的函数涉及创建或删除表等操作,则执行函数的用户需要关联逻辑集群。
  • 系统管理员不能关联到特定逻辑集群,但可以在多个逻辑集群中创建表。
    • 创建表时需要指定逻辑集群名称(通过CREATE TABLE ... TO GROUP语句),以便将表创建到指定逻辑集群中。
    • 如果没有指定逻辑集群名称,则创建在由default_storage_nodegroup参数所指定的逻辑集群中。当default_storage_nodegroup参数为installation时,表将被创建在第一个逻辑集群中(即所有逻辑集群中oid最小的一个)。
  • 数据库对象(表,视图,函数等)是否会受到逻辑集群权限隔离取决于数据库对象所属的owner用户。
    • 关联逻辑集群的用户创建的数据库对象(表,视图,函数等)都会受到逻辑集群权限隔离。
    • 没有关联逻辑集群的用户创建的数据库对象(表,视图,函数等)不会受到逻辑集群权限隔离。
    • 系统表、系统视图、系统函数、database对象、tablespace对象、用户角色对象、FDW对象、Foreign Server对象、DataSource、Extension不属于任何逻辑集群,不会受到逻辑集群权限隔离。
  • schema是否会受到逻辑集群权限隔离取决于schema所属的owner用户。
    • 关联逻辑集群的用户创建的schema会受到逻辑集群权限隔离。
    • 没有关联逻辑集群的用户创建的schema不会受到逻辑集群权限隔离。
    • PG_CATALOG和PUBLIC schema都不会受到任何逻辑集群权限隔离。

弹性集群

弹性集群是指在逻辑集群模式下,非逻辑集群节点组成的集群并且总是存在。弹性集群的名称为elastic_group,是一个特殊的Node Group,可以包含多个或不包含任何DN节点。

弹性集群不能用户手动创建,在物理集群下第一次创建逻辑集群时自动创建弹性集群,物理集群中所有不属于逻辑集群的物理节点都会加入弹性集群。后续逻辑集群创建所需的DN节点都是来自弹性集群中。因此,为了能够创建新的逻辑集群,需要保证弹性集群中有DN节点存在(在物理集群模式下第一次创建逻辑集群时不需要)。用户可以通过扩容向弹性集群添加新的物理节点。

约束和限制

  • 逻辑集群的创建、扩容和缩容必须以环为单位,最少3个物理节点,DN的主备从必须在同一环所包含的物理节点内。
  • 逻辑集群不支持单独备份和恢复。
  • 逻辑集群不支持单独升级。
  • 逻辑集群可以重启,但不支持单独的停止和启动。
  • 物理集群转换为逻辑集群模式之后不支持回退到物理集群。
  • 逻辑集群管理功能暂不支持与工作负载管理同时使用。
分享:

    相关文档

    相关产品