华为云用户手册

  • 使用流程 图1 通过数据市场交换资源流程 数据提供方添加数据资源到EDS数据目录下,请参见步骤1:新增资源。 将数据资源上架到数据市场,请参见步骤2:上架offer。 数据提供方的审批人确认该申请无误,审批上架,请参见步骤3:审批offer上架请求。 数据消费方在数据市场搜索所需offer,进行订阅获取数据资源,请参见步骤4:订阅offer。 数据提供方审批人审批数据消费方订阅offer的申请,请参见(可选)步骤5:审批订阅请求。 数据消费方管理接收到的数据资源,请参见步骤6:使用资源。
  • (可选)步骤5:审批订阅请求 如下步骤由数据提供方进行操作。 登录交换数据空间官网。 单击“管理控制台”,进入交换数据空间控制台界面。 单击“我的空间”,在交换数据空间实例中,选择实例,单击实例卡片上的“连接器”。 然后选择连接器,单击连接器卡片上的“前往”,进入连接器控制台界面,选择界面左侧导航栏中的“工作台”。 在界面下方选择“我的待办”页签,选择需要审批的“订阅请求”任务,单击“操作”列的“审批”。 在“订阅请求详情”界面中,确认任务的基本信息,确认无误后单击“通过”。 在弹出的“生成合约”对话框中,设置合约基本信息,相关参数说明如表8所示。 表8 参数说明 参数 说明 合约名称 填写合约的名称,根据规划自定义。建议用户按照一定的命名规则填写合约名称,便于在数据合约进行区分。要求如下: 长度范围为1位~100位。 名称由中文、英文、数字、下划线(_)和中划线(-)组成。 只能以中文或者英文开头。 合约描述 填写合约的简单描述信息,非必填项。 设置完成后,单击“提交”,完成订阅请求审批。
  • 步骤4:订阅offer 如下步骤由数据消费方进行操作。 登录交换数据空间官网。 单击“管理控制台”,进入交换数据空间控制台界面。 单击“我的空间”,在交换数据空间实例中,选择实例,单击实例卡片上的“连接器”。 然后选择连接器,单击连接器卡片上的“前往”,进入连接器控制台界面。 选择界面左侧导航栏中的“数据市场”,在搜索框中输入要搜索的offer。 在数据offer列表界面,搜索框输入要搜索的内容后,筛选条件有“创建人”和“数据提供方”,选择筛选条件可以进一步筛选。 单击想要订阅的offer卡片名称,进入“offer详情”界面,可查看数据的基本信息、使用控制策略和数据列表信息,单击右上角“订阅”。 在“订阅详情”界面,编辑使用控制策略,相关参数说明如表7所示。输入订阅原因后单击右下角“提交”。公开offer直接订阅成功,受控offer等待资源提供方审批。用户可在“连接器”中选择“我的申请”页签查看申请任务的状态。 表7 参数说明 参数 说明 可用操作 数据提供方对数据消费方操作数据的限制方法,通过“约束条件”对查看、加工和下载进一步限制。 查看:用户可以查看资源文件详细信息。 加工:用户可以在预览的时候处理数据资源文件。 下载:用户可以下载数据资源文件到本地。 消费方无法更改操作数据的限制方法。 约束条件 通过When和How many两个方面限制数据消费方对数据的使用。 When:控制使用的时间,包括有效期、截止日期、指定区间、指定区间内之间的间隔时间。当前支持指定时间区间。若不设置,以系统当前时间为初始时间,默认一个月后为截止时间。 How many:首先限制可用操作的次数,默认不输入,则不限制次数。其次限制不同的操作方法使用的应用。 消费方无法更换可用应用。 可见列名(数据集限定控制策略) 不支持消费方更改对列字段的限制。 可见行(数据集限定控制策略) 不支持消费方更改对行字段的限制。 订阅offer时,数据消费方可以在数据上架offer时提供的使用控制策略上申请新的策略,覆盖提供方的策略。目前仅支持申请“可用次数”和“可用期限”。
  • 步骤6:使用资源 如下步骤由数据消费方进行操作。 登录交换数据空间官网。 单击“管理控制台”,进入交换数据空间控制台界面。 单击“我的空间”,在交换数据空间实例中,选择实例,单击实例卡片上的“连接器”。 然后选择连接器,单击连接器卡片上的“前往”,进入连接器控制台界面。 选择界面左侧导航栏中的“数据目录”,在连接器的“数据目录”界面中,单击左侧导航栏“收到的数据”,进入“收到的数据”界面。 选择“未读”页签,根据合约名称进行搜索,搜索到未接收的数据。 单击资源文件“操作”列的“归档”。 选择指定路径,单击“确认”。 对订阅的数据使用,请参见管理资源。
  • 步骤4:接收交换资源 如下步骤由数据消费方进行操作。 登录交换数据空间官网。 单击“管理控制台”,进入交换数据空间控制台界面。 单击“我的空间”,在交换数据空间实例中,选择实例,单击实例卡片上的“连接器”。 然后选择连接器,单击连接器卡片上的“前往”,进入连接器控制台界面。 选择界面左侧导航栏中的“数据目录”,选择“收到的数据”,进入“收到的数据”界面。 选择“未读”页签,根据合约名称进行搜索,搜索到未接收的数据。 单击资源文件“操作”列的“归档”。 选择指定路径,单击“确认”。 “收到的数据”尾部显示的数字表示已经收到但未查看的数据数量。
  • 前提条件 已创建GDS-kafka集群。 GDS-kafka集群与目标数据源可以正常通信。 如果目标数据源为云下的数据库,则需要通过公网或者专线打通网络。通过公网互通时,需确保GDS-kafka集群已绑定EIP、云上安全组出方向放通云下数据源所在的主机、数据源所在的主机可以访问公网且防火墙规则已开放连接端口。 如果目标数据源为云上服务,则网络互通需满足如下条件: GDS-kafka集群与云上服务处于不同区域的情况下,需要通过公网或者专线打通网络。通过公网互通时,需确保GDS-kafka集群已绑定EIP,数据源所在的主机可以访问公网且防火墙规则已开放连接端口。 GDS-kafka集群与云上服务同区域情况下,同虚拟私有云、同子网、同安全组的不同实例默认网络互通;如果同虚拟私有云但是子网或安全组不同,还需配置路由规则及安全组规则,配置路由规则请参见如何配置路由规则章节,配置安全组规则请参见如何配置安全组规则章节。 必须确保该云服务的实例与集群所属的企业项目必须一致,如果不同,需要修改工作空间的企业项目。 已获取待连接数据源的地址、用户名和密码,且该用户拥有数据导入、导出的操作权限。
  • CPU管理 目前支持“共享配额”和“专属限额”两种CPU管理方式: CPU共享配额:在CPU系统繁忙的情况下,不同资源池按照共享配额配置分配CPU资源;在CPU系统空闲的情况下,该配置不生效。 CPU专属限额:限制资源池使用的CPU核数上限,无论CPU系统繁忙或者空闲,该资源池上的作业都无法突破该限额配置。 在资源池页面“资源配置”一栏,您可以修改当前资源池的CPU共享配额和专属限额。 共享配额和专属限额的管理方式各有优劣,共享配额的管理方式可以实现CPU资源的充分利用,但是资源池之间隔离不彻底,可能影响查询性能;专属限额的管理方式可以实现CPU资源的绝对隔离,但是在资源池CPU资源空闲时,会造成资源的浪费。 CPU专属限额仅8.1.3及以上集群版本支持。
  • 异常规则 异常规则用于异常查询的识别和快速处理,防止“低质量SQL”长时间占用大量资源,导致其他查询阻塞或性能下降。 在资源池页面“关联异常规则”一栏,可浏览当前资源池中已绑定的异常规则,绑定新异常规则,解绑已有异常规则。目前支持的异常处理规则如表1 异常规则参数所示。 8.2.1及以上集群版本支持降级异常规则,所有异常规则都支持降级行为,降级后仅网络资源抢占降至低优先级,即在正常查询无网络请求时,才会调度降级查询的网络请求。 关联、解绑异常规则仅8.2.0及以上集群版本支持,DWS 3.0版本不支持。8.2.0以下集群版本请参考7.c。 表1 异常规则参数 参数项 描述 取值范围(0表示不约束) 操作 阻塞时间 作业的阻塞时间,包括全局并发排队以及局部并发排队的总时间,单位秒。 例如,如果配置“阻塞时间”为300秒,那么当该资源池中的用户执行的某个作业在阻塞300秒后将被终止。 1~2147483647的整数。0表示不约束。 终止、降级或不约束 执行所消耗时间 已经执行的作业从开始执行到当前所消耗的时间,单位为秒。 例如,如果配置“执行所消耗时间”为100秒,那么当该资源池中的用户执行的某个作业在执行超过100秒后将被终止。 1~2147483647的整数。0表示不约束。 终止、降级或不约束 所有DN上CPU总时间 作业在所有DN上执行时所耗费的CPU总时间,单位为秒。 1~2147483647的整数。0表示不约束。 终止、降级或不约束 检查倾斜率的时间间隔 检查作业执行的CPU倾斜率的间隔时间,单位为秒,需同“所有DN上CPU时间的倾斜率”一起设置。 1~2147483647的整数。0表示不约束。 终止、降级或不约束 所有DN上CPU总时间倾斜率 作业在DN上执行时的CPU时间的倾斜率,依赖于“检查倾斜率的时间间隔”的设置。 1~100的整数。0表示不约束。 终止、降级或不约束 单DN算子下盘大小 作业在单个DN上最大下盘的数据量,单位MB。 说明: 该异常规则仅8.2.0及以上集群版本支持。 1~2147483647的整数。0表示不约束。 终止、降级或不约束 DN平均消耗CPU占比 作业在所有DN上执行时的平均CPU使用率,检测周期不强依赖“检查倾斜率的时间间隔”,若配置将使用该检查间隔,否则系统默认30秒间隔。 说明: 该异常规则仅8.2.0及以上集群版本支持。 1~100的整数。0表示不约束 终止、降级或不约束 单个DN上最大带宽 作业在单个DN上最大可占用的网络带宽,单位MB。 说明: 该异常规则仅8.2.1及以上集群版本支持。 1~2147483647的整数。0表示不约束。 终止、降级或不约束
  • 并发管理 并发,即资源池中的最大查询并发数。并发管理作为运行前管理,用于限制查询并发运行的数量,通过限制查询并发数降低资源争抢,保证资源的有序高效利用。 在资源池页面“短查询配置”一栏,您可以通过开关键决定是否开启短查询加速功能。如果需要对简单语句并发数(默认值为-1,0 或-1表示不控制)进行修改,可选择打开短查询加速。 并发管理规则如下: 短查询加速开启,复杂查询受资源池并发控制,简单查询受短查询并发控制。 短查询加速关闭,复杂查询和简单查询均受资源池并发控制,短查询并发控制无效。
  • 内存管理 内存资源,即资源池所占用的内存百分比。 内存管理的目的:防止数据库系统占用内存过高导致内存溢出(OOM)和实现资源池之间的内存隔离和限制。为满足这两个目的,资源管理从以下两方面进行内存管理: 全局内存管理 为防止数据库系统使用内存过大导致OOM,设置数据库系统全局内存上限(max_process_memory),对数据库全局内存进行管理。全局内存管理包含运行前管理和运行中管理,运行中管理防止实际使用内存超限,运行前管理防止查询执行过程中报错,具体如下: 运行前管理: 一方面慢车道运行的所有查询估算内存都会进行统计,另一方面数据库系统实际使用内存会进行反馈,当实际使用内存大于统计内存时,对统计内存进行调整。查询运行前,判断全局剩余内存能否满足查询运行,满足情况下查询可以直接运行,否则查询需要排队,等待其他查询释放资源后运行。 运行中管理: 查询执行过程中实际使用的内存也会进行统计,查询在申请内存时判断内存使用是否超限,内存超限查询报错,已用内存释放。 资源池内存管理 资源池内存管理属于专属限额的管理方式,即资源池分配多少内存就只能使用多少内存,空闲出来的内存其他资源池不能使用。 资源池内存分配采用百分比方式,取值范围0~100。0表示资源池不进行内存管理,100表示资源池进行内存管理且可使用全局所有内存。 所有资源池分配的内存百分比之和不能超过100。资源池内存管理仅管控慢车道查询,且只包含运行前管理,处理逻辑与全局内存运行前管理类似。资源池慢车道查询运行前,进行估算内存统计,当统计内存大于资源池内存时,查询需要排队,等待资源池内其他查询运行结束释放资源后才能运行。
  • 查看运维任务 登录GaussDB(DWS)管理控制台。 在集群列表中单击指定集群名称。 进入“集群详情”页面,切换至“智能运维”页签。 在运维详情部分切换至运维状态模块。 单击指定运维任务名称,将显示运维任务运行的详细信息。 运维任务:Vacuum 状态:等待中、运行中、已完成、失败。 完成度 时间窗剩余 执行时间窗(本地时间) 正在Vacuum的表 准备Vacuum的表 完成Vacuum的表 失败Vacuum的表 其中正在Vacuum的表,准备Vacuum的表,已完成Vacuum的表和Vacuum失败的表最多显示100张。 如果集群只读,智能运维任务则无法执行INSERT语句,可能会遇到任务状态一直为运行中,此时运行中为历史状态,代表在设置时间内未完成。如果手动暂停该任务并且未调度,任务状态可能一直处于等待中,请尽快解除只读并联系技术支持人员更新任务状态。 父主题: 智能运维
  • 自动快照概述 自动快照采用差异增量备份,第一次创建自动快照为全量备份,以后每间隔一段时间做一次全量备份,全量备份作为基础版本。两次全量备份之间都是做增量备份,增量备份基于前一次备份所发生的更改进行记录。 在恢复快照时,GaussDB(DWS)会将最近一次的全量备份到本次备份之间的所有备份一起用于恢复集群,因此不会产生数据丢失。 为了保证每个增量快照都能够正常进行数据恢复,如果增量快照的保存时间超过了保留天数,GaussDB(DWS)不会立即删除过期的增量快照,而是仍然保留这部分快照,以便提供给后续其他增量快照恢复集群时使用,直到完成下一次全量快照,GaussDB(DWS)才会一并删除已过期的上一次的全量自动快照和相关的增量快照。 图1 快照备份过程 集群创建成功后,自动快照默认处于启用状态。当集群启用了自动快照时,GaussDB(DWS)将按照设定的时间和周期以及快照类型自动创建快照,默认为每8小时做一次增量备份,每周做一次全量备份。用户也可以对集群设置自动快照策略,并根据自身需求,对集群设置一个或多个自动快照策略。GaussDB(DWS)管理控制台设置集群的自动快照策略,具体操作请参见设置自动快照策略。 自动快照有保留期,可设置为1~31天,默认为3天,系统会在保留期结束时删除到期快照。如果需要将自动快照保留更长时间,可以创建一份副本作为手动快照。自动快照会保留至保留期结束,而手动快照在手动删除前将会一直保留。如何复制自动快照,详情见复制自动快照。 父主题: 自动快照
  • 概述 阈值告警相关概念: 告警规则:告警规则由告警规则名称,告警规则描述,规则绑定集群列表,告警策略触发关系,告警策略项构成。一条告警规则可绑定某个指定集群或所有集群,拥有一个或多个告警策略。其中,告警策略之间组合关系由“策略触发关系”选项描述。告警规则的阈值触发和抑制条件由每条告警策略描述。 告警策略:为某个告警指标指定的触发条件,抑制条件,告警级别的组合称为告警策略。 告警指标:数据库集群的某个指标项,一般是一个时间序列数据,例如:节点CPU使用率,查询触发下盘量等。 告警规则分类: 默认规则:GaussDB(DWS)阈值告警模块的最佳实践。 自定义规则:用户可自由选择或组合监控指标形成个性化的告警规则。目前版本仅支持用户自定义schema使用率告警规则。 告警规则操作: 修改:修改告警规则的选项。所有告警规则都可以修改编辑,但默认告警规则只能修改部分选项,而自定义告警规则可以修改全部选项。 启用/停用:启用或停用告警规则。所有的告警规则都可以启用/停用,启用后告警规则会被告警引擎纳入检查列表,可以正常触发。停用后的告警规则将被告警引擎移出检查列表,不会触发该规则检查。 删除:删除告警规则。只有自定义告警规则可以被删除,用户无法删除默认告警规则。
  • 修改告警规则 登录GaussDB(DWS) 管理控制台。 在左侧导航栏,单击“告警管理”,切换至“告警”页签。 单击左上角的“告警规则管理”按钮,进入告警规则页面。 在指定告警规则名称所在行操作列,单击“修改”按钮进入修改告警规则页面。 用户只能修改部分默认规则的选项(规则绑定集群、告警策略的触发阈值、数据抓取区间和告警抑制条件),可修改自定义规则的全部选项。 表1 告警规则参数 名称 说明 样例值 告警规则名称 规则名称长度为6到64个字符,且只能是首位非数字的中文、英文、数字、斜线组合。 - 规则描述 自定义描述,不超过490个字符。 - 规则绑定集群 可在该下拉框中选择当前租户下的集群作为告警模块的监控集群。 所有集群 策略触发关系 策略触发关系包括: 相互独立:各个告警策略之间互相独立触发。 按优先级:各个告警策略之间按照排列的先后顺序触发,当高优先级策略触发后低优先级策略就不会再做判断。 相互独立 告警策略 告警策略包括: 指标名称:GaussDB(DWS) 数据仓库的监控指标,告警引擎用来做阈值判断的数据源。 告警对象(自定义告警规则参数):选择的当前集群中包含的数据库,及其已选择的数据库中所包含的SCHEMA。 触发条件:定义对监控指标做阈值判断的计算规则。目前主要使用一段时间内的平均值来降低告警震荡的几率。 抑制条件:在指定的时间段内,抑制同类型告警的反复触发和消除。 告警级别:告警的严重程度,包含紧急、重要、次要和提示。 - 确认无误后,单击“确认”。
  • 告警参数 参数名称 参数含义 告警源 产生告警的系统名称,告警的详细分类。 集群名称 产生告警的集群。 定位信息 产生告警的集群ID,集群名称。 附加信息 CloudService表示产生告警的云服务,依次为服务名,资源标识,资源名称,数据库名称,连接后端的用户名称,查询Id;first_alarm_time表示告警的首次出现时间;查询语句则表示引发此告警的查询语句,最后附带由此查询语句引发的下盘量。示例:CloudService=DWS,resourceId:xxxx-xxxx-xxxx-xxxx,resourceIdName:test_dws,db_name:test_db,user_name:test_user,query_id:756942385413326696,first_alarm_time:2022-12-30:12:42:77:查询语句(ID=756942385413326696) select num,value,cnt,rk,cnt/sumcnt as ratio,sum(ratio) over (over by rk) as cumuratio from ......;触发结果集下盘,且下盘量为15GB。 告警时间 告警的产生时间。 状态 告警当前的活动状态。 关于附加信息中下盘量,可连接数据库执行SELECT * FROM GS_WLM_SESSION_STATISTICS查看该视图中的max_spill_size字段。
  • 告警解释 用户业务查询执行过程中,数据库可能会选择将临时结果暂存到磁盘,简称算子下盘。 GaussDB(DWS)每60秒通过GS_WLM_SESSION_STATISTICS视图检测CN上正在执行的作业的负载管理记录,并计算所有下盘DN的最大下盘数据量。 如果10分钟(可配置)内存在SQL的下盘量超过5GB(可配置),则上报查询语句触发下盘量超阈值;当集群不存在符合告警条件的SQL语句时,自动消除该告警。修改告警配置详情请参见修改告警规则。 如果一直存在能够引发告警的阻塞SQL,那么在24小时(可配置)后将再次发起告警。
  • 进入告警管理页面 登录GaussDB(DWS) 管理控制台。 在左侧导航栏,单击“告警管理”,切换至“告警”页签。 进入数据仓库告警展示页面。该页面分为三个区域: 存量告警统计 最近7天的存量告警统计值(按告警级别分类),以柱状图的形式展示。用户可通过存量告警统计图,对过去一周告警发生的数量和分布有清晰的了解。 当日告警 当天的存量告警统计值(按级别分类),以列表的形式展示。重点向用户强调当天未处理的告警数量,帮助用户快速掌握目前告警的数量和分布。 告警详情 最近7天的所有告警(包括已处理和未处理)的明细信息,以表格的形式展示。可查看近7天内所有告警的告警名称、告警级别、集群名称、定位信息、详细信息、产生日期、状态等信息,帮助用户快速发现和定位问题。 告警展示页面的数据源来自EventService微服务,该微服务最多可以提供30天的告警缓存数据。
  • 概述 告警管理包含查看告警规则、告警规则配置与告警信息订阅功能。其中,告警规则可以提供过去一周的告警信息统计与告警信息明细,方便用户自行查看租户下的告警。该特性除了以默认值的形式提供一套GaussDB(DWS)告警最佳实践外,还允许用户根据自己的业务特点,个性化修改告警阈值。告警管理通过消息通知服务(Simple Message Notification,简称SMN)发送GaussDB(DWS) 告警通知,用户可订阅告警启用通知。 该特性仅8.1.1.200及以上集群版本支持。 告警管理目前暂不支持按照企业项目划分告警。
  • 操作场景 MRS的HDFS集群参数配置变更时,可能造成GaussDB(DWS)集群无法从HDFS集群导入数据。使用HDFS集群导入数据前,需要执行MRS数据源配置的更新操作。 表1 参数说明 参数名 参数解释 dfs.client.read.shortcircuit 是否开启本地读。 dfs.client.read.shortcircuit.skip.checksum 本地读时是否跳过数据校验。 dfs.client.block.write.replace-datanode-on-failure.enable 向HDFS写数据块发生失败时,是否替换新的节点作为副本存储位置。 dfs.encrypt.data.transfer 是否开启数据加密。设置为“true”表示加密,默认不加密。 说明: 此参数仅对启用Kerberos认证的集群有效。 仅当hadoop.rpc.protection设置为privacy时使用。 dfs.encrypt.data.transfer.algorithm 指定密钥传输的加密解密算法。 只有在dfs.encrypt.data.transfer配置项设置为“true”,此参数才会生效。 默认值为“3des”,表示采用3DES算法进行加密。 dfs.encrypt.data.transfer.cipher.suites 指定实际存储数据传输的加密解密算法。 如果不指定此参数,则使用“dfs.encrypt.data.transfer.algorithm”参数指定的加密算法进行数据加密。默认值为“AES/CTR/NoPadding”。 dfs.replication 默认数据副本个数。 dfs.blocksiz 默认数据块大小。 hadoop.security.authentication 安全认证模式。 hadoop.rpc.protection RPC通信保护模式。 默认值: 安全模式(启用Kerberos认证):privacy 普通模式(未启用Kerberos认证):authentication 说明: “authentication”:只进行认证,不加密。 “integrity”:进行认证和一致性校验。 “privacy”:进行认证、一致性校验、加密。 dfs.domain.socket.path 本地使用的Domain socket路径。
  • 经典变更规格对系统的影响 经典变更规格前,需退出创建了临时表的客户端连接,因为在经典变更规格过程中及成功之前创建的临时表将会失效,操作临时表也会失败。但是经典变更规格后创建的临时表不受影响。 经典变更规格过程中,进入数据重分布阶段集群将会变成“只读”状态,变更过程中业务可能长期被阻塞,建议您在工程师的协助下进行,避免业务受影响。 经典变更规格后内网IP会变更,如果业务侧有使用IP地址进行连接,需要更新连接IP地址。 经典变更规格后域名会保持不变,域名内绑定IP地址会发生切换,过程中会出现短暂的连接中断,请注意在变更时间窗内尽量避免业务语句写入。如果业务侧有使用域名进行连接,则需要更新域名相应缓存信息避免变更结束后连接失败。 如果集群有绑定弹性负载均衡(ELB),经典变更规格后业务侧连接地址保持不变,继续使用ELB地址;ELB内部服务器地址会更新为新的连接地址。 为防止数据丢失,在变更完成后、删除老集群前会对老集群做一次全量快照(若不支持快照功能将跳过此步骤),可在快照列表中查看,确认无误后需手动删除快照。 经典变更规格过程中,集群只读会影响智能运维中相关运维任务的功能使用。建议在经典变更规格前,将智能运维任务暂停,或错开智能运维与经典变更规格的时间窗。
  • 监控面板 用户通过定义监控面板来配置相关的监控视图,监控面板与用户绑定,登录后可看到自定义的监控面板。 创建监控面板:用户可单击“创建监控面板”按钮定义自己的监控面板。 修改监控面板:用户可单击“修改”按钮修改监控面板的名称。 删除监控面板:用户可单击“删除”按钮删除监控面板,默认监控面板无法被删除。 共享监控面板:用户可单击“共享”按钮共享监控面板,被共享用户则可以看到该面板,但无法修改。 图1 监控面板
  • 添加监控视图 目前DMS提供集群、数据库两和节点三种维度的监控视图,用户可根据需求单击“添加监控视图”按钮添加。监控指标如下所示: 集群维度的监控指标:CPU使用率、内存使用率、磁盘使用率、磁盘I/O、网络I/O、状态、CN异常数量、只读、会话数量、查询数量、死锁数量、DN异常数量、DN实例CPU使用率、平均每秒事务数、平均每秒查询数。 数据库维度的监控指标:查询等待队列长度、会话数量、查询数量、插入行数、更新行数、删除行数、容量。 节点维度的监控指标:CPU使用率、CPU使用情况、内存使用率、内存使用情况、平均磁盘使用率、磁盘I/O、TCP协议栈重传率、网络IO、磁盘容量、磁盘使用率、磁盘读速率、磁盘写速率、I/O等待时间、I/O服务时间、I/O使用率、网卡状态、接收包数、发送包数、接收丢包数、接收速率、发送速率。 图2 添加监控视图 每个监控面板上最多可以添加20个监控视图,添加过多的视图会导致页面请求数据增多,所需的渲染时间增大,因此请合理的控制监控视图规模。 节点维度中最多可以勾选20个监控对象,该特性仅8.1.3.310及以上集群版本支持。
  • 约束和限制 逻辑集群的创建、扩容和缩容必须以环为单位,最少3个物理节点,DN的主备从必须在同一环所包含的物理节点内。 逻辑集群切换期间,如果原物理集群有数据,则会进行锁集群操作。用户可执行增删改查等简单DML语句,但执行操作数据库对象等复杂DDL语句会阻塞业务出现报错,请谨慎操作。 逻辑集群不支持单独备份和恢复。 逻辑集群不支持单独升级。 物理集群转换为逻辑集群模式之后不支持回退到物理集群。 逻辑集群模式下,只能创建逻辑集群,不支持创建普通的NodeGroup,逻辑集群内部也不支持创建子NodeGroup。 逻辑集群的OM操作(创建、删除、编辑、扩容、缩容、重启)不支持并行执行。 由于公共数据库对象(除系统表之外的表、外表和视图)会分布在物理集群所有节点,当某个逻辑集群节点重启后,其他逻辑集群对这些公共数据库对象进行的DDL操作将会中断。 在逻辑集群模式下,由于每个DN只包含所属逻辑集群下的表,而自定义函数要在所有DN上创建,因此创建的函数体中不能使用%type引用表字段类型。 在逻辑集群模式下,WITH RECURSIVE语句不支持下推。 在逻辑集群模式下,只有在相同逻辑集群下支持交换分区,不同逻辑集群下的分区表和普通表不支持交换分区。 在逻辑集群模式下,创建函数时如果函数参数或返回值有表类型,这些表类型必须属于同一个逻辑集群。 在逻辑集群模式下,通过CREATE TABLE ... LIKE方式创建外表时,源表和要创建的外表必须是在同一个逻辑集群中。 在逻辑集群模式下,不支持创建Schema同时创建表语句,即CREATE SCHEMA ... CREATE TABLE语句,用户需要首先创建Schema,再创建表到该Schema下。 逻辑集群不支持一主多备,逻辑集群只在主备从的部署形态下生效。 某个逻辑集群用户不能访问另一个逻辑集群用户创建的全局临时表。
  • 权限说明 在逻辑集群模式下: 逻辑集群创建权限(CREATE ON NODE GROUP)允许授予任何用户/角色,创建权限后可在对应的逻辑集群上进行创建表等相关操作。 如果创建的表指定的schema是某个用户私有schema(即该schema和用户同名且schema的owner是该用户),则新创建的表会将owner自动变更为该用户,不需要进行关联逻辑集群操作。 和逻辑集群关联的用户在创建表时不一定指定to group,如果没有指定to group子句,用户创建的表在用户关联的逻辑集群上;支持变更用户关联的逻辑集群。 如果用户没有关联逻辑集群,该用户创建表时会将表创建到default_storage_nodegroup指定的逻辑集群上;如果default_storage_nodegroup为installation,则将表创建到第一个逻辑集群中。在逻辑集群模式下,将oid最小的逻辑集群设置为第一个逻辑集群。通常用户没有显示设置default_storage_nodegroup的时候,默认值为installation。 DWS 3.0版本支持创建只读逻辑集群,如果用户关联到只读逻辑集群,只能在只读逻辑集群上创建会话级临时表(本地临时表和volatile临时表,不包括全局临时表);该用户如果创建其他常规表和外表,要遵循没有关联逻辑集群的用户建表规则,即表会创建到default_storage_nodegroup指定的逻辑集群上,如果default_storage_nodegroup是installation,则将表创建到第一个逻辑集群中。 系统管理员可以通过ALTER ROLE命令为每个用户设置默认的default_storage_nodegroup,具体语法参考ALTER ROLE。 建表规则 用户表在没有指定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,关联全局默认资源池。 逻辑集群用户如果有创建数据库权限也可创建数据库。
  • 应用场景 场景一:将不同资源要求的数据隔离 图3 基于不同资源要求划分逻辑集群 如上图所示,不同资源要求的数据就分开存放到不同逻辑集群中,同时不同逻辑集群之间也支持互访,在保证资源隔离的基础上也可以保证功能不受影响。 T1和T2表主要用于大批量数据计算,并生成报表数据(比如银行跑批)。这个过程由于需要大批量导入和大数据查询,所以对节点的内存和IO资源消耗比较高,且耗时比较长,但这类查询对实时性要求不高,因此可以将这些数据划分到一个独立的逻辑集群中。 T3和T4表包含了一些计算数据和实时数据,主要用于业务点查和实时查询,这类查询要求实时性高,为避免其他高负载操作影响,可以将这些数据划分到独立的逻辑集群中。 T5和T6表主要用于大并发OLTP类操作,数据更新非常频繁,对IO非常敏感,为了避免大数据查询对其影响,可以将这类表划分到独立的逻辑集群中。 场景二:不同业务要求的数据隔离,扩展数据集群多租户的能力 图4 逻辑集群多业务数据和多租户管理 大规模数据库集群往往同时包含很多业务的数据,不同业务有不同的数据表,为了对不同业务进行资源隔离,可以通过创建多租户来实现。将不同业务用户分配给不同租户,以便减少业务之间资源竞争。但随着业务规模不断扩大,集群系统中的业务数目越来越多,通过划分多租户来管理越来越难以控制资源竞争。由于每个表都会分布在数据库集群的所有DN节点上,因此每次数据表操作都可能会涉及所有DN节点,这会导致网络压力增大和系统资源消耗,单纯通过扩大集群规模也很难解决。所以可通过划分多个逻辑集群解决业务数量扩大问题,如上图所示。 通过划分独立的逻辑集群,将新增的业务分配到独立的逻辑集群上,这样新增业务对原有业务的影响会很小。而原有逻辑集群中的业务规模如果扩大,也可以通过对原有逻辑集群扩容来解决。 逻辑集群不适合将多个独立的数据库系统合并在一起管理,独立的数据库系统往往对独立运维要求很高,需要能够单独管理、监控、备份和升级,同时集群之间要求故障隔离,逻辑集群无法做到独立运维和完全的故障隔离。
  • 逻辑集群架构 图2展示了物理集群划分成多个逻辑集群的架构示意图。物理集群的所有节点被分成多个逻辑集群节点组。业务用户1和业务用户2的作业分别在不同的逻辑集群上执行。用户1和用户2可以在本逻辑集群内部定义资源池来控制不同作业的资源(CPU,内存,I/O)。如果业务用户1的某些作业需要访问业务用户2的数据,在获得授权后可以跨逻辑集群访问。逻辑集群可以配置跨逻辑集群访问的资源来保证逻辑集群内部作业的资源充足。 图2 逻辑集群架构 将物理集群的所有节点分成多个逻辑集群,每个子集群都可以根据业务情况定义资源池。由于用户表不会跨逻辑集群分布,如果业务不跨逻辑集群访问,业务之间就不存在资源竞争。同一逻辑集群内部的作业可以通过资源池来分配资源。如果某些业务需要访问其他逻辑集群的数据,可以跨逻辑集群访问,被访问的逻辑集群可以对来自其他逻辑集群的访问请求进行资源控制,以减少对逻辑集群内部作业的资源竞争。 用户在创建完成物理集群后就要确定是否划分逻辑集群,如果在划分逻辑集群前已经创建了用户表,由于这些用户表已经分布在所有物理节点,就无法再划分逻辑集群了,具体限制条件请参见约束和限制。对于已经在使用的集群(例如8.1.0.100之前版本构建的数据库集群),如果希望转换为逻辑集群管理,可以在集群升级到支持逻辑集群(8.1.0.100及以上版本)后,将整个集群全部节点转换为一个逻辑集群。然后通过添加新节点对物理集群扩容,并在新增节点上创建新的逻辑集群。 逻辑集群支持如下管理操作: 添加/删除逻辑集群: 添加逻辑集群:物理集群转换为逻辑集群后,可指定逻辑集群名称和物理节点列表,将这些物理节点划分为一个逻辑集群。 删除逻辑集群:删除指定名称的逻辑集群,逻辑集群删除后释放的节点会落入弹性集群中。 管理逻辑集群: 编辑逻辑集群:根据需求向逻辑集群中添加节点或减少节点。 资源管理(逻辑集群模式):对指定逻辑集群进行资源管理(仅8.1.3.101及以上版本支持)。 扩容逻辑集群:该操作将扩大逻辑集群物理节点数目,并对逻辑集群内的表进行重分布到扩容后的物理节点上。 重启逻辑集群:该操作将逻辑集群包含的所有DN重新启动,考虑到对整个物理集群的影响,逻辑集群并不支持单独的停止和启动。 缩容逻辑集群:从弹性集群中选择指定的主机环,缩容选定的主机环。 定时增删DWS 3.0逻辑集群:支持在计划时间段内,动态创建、删除计算逻辑集群,实现计算资源动态伸缩。
  • 复制表节点组 复制表节点组是逻辑集群模式下一种特殊的节点组,它可以包含一个或多个逻辑集群,但只能创建复制表。典型应用场景是用来创建公共维度表。如果多个逻辑集群都需要一些相同的公共维表,可以创建复制表节点组,并将这些公共维表创建在这个节点组中。复制表节点组包含的逻辑集群都可在本DN上直接访问这些维度表,而不需访问其他DN节点上的表。如果复制表节点组包含的逻辑集群中有任何一个发生了扩容或缩容操作,复制表节点组也会随之扩容或缩容。如果包含的逻辑集群被删除了,复制表节点组会随之缩容。但如果复制表节点组只包含一个逻辑集群,这种情况下如果逻辑集群被删除,则复制表节点组也会删除。通常情况下用户不应该创建这样的复制表节点组,而是应该将表创建到逻辑集群内。 复制表节点组通过SQL语句CREATE NODE GROUP创建,通过DROP NODE GROUP语句删除,删除前需要将该节点组上的表对象都删。 8.1.2及以上版本支持创建复制表节点组。
  • 基本概念 逻辑集群是通过Node Group机制来实现资源和数据的隔离。通过把物理集群的所有物理节点划分成多个逻辑集群,每个逻辑集群本质上是一个Node Group,每个物理节点只能属于一个逻辑集群,用户数据表只能分布在一个逻辑集群范围内。这样不同逻辑集群的用户数据是隔离的,逻辑集群所属节点的资源主要提供给逻辑集群内数据表的操作,同时供其他逻辑集群的作业交互查询使用。企业将不同的业务部署在不同的逻辑集群上,既可以实现业务统一管理,也能保证业务之间数据隔离和资源隔离。 逻辑集群从物理节点层次将大集群进行划分,和数据库形成交叉。一个数据库中的表可以按逻辑集群来分配到不同的物理节点,而一个逻辑集群也可以包含多个数据库的表。在划分逻辑集群后,整个数据库中对象间的层次关系如图1所示。 其中Elastic_group弹性集群是指在逻辑集群模式下,非逻辑集群节点组成的集群并且总是存在,是一个特殊的Node Group,可以包含多个或不包含任何DN节点。弹性集群不能用户手动创建,在物理集群下第一次创建逻辑集群时自动创建弹性集群,物理集群中所有不属于逻辑集群的物理节点都会加入弹性集群。后续逻辑集群创建所需的DN节点都是来自弹性集群中。因此,为了能够创建新的逻辑集群,需要保证弹性集群中有DN节点存在(在物理集群模式下第一次创建逻辑集群时不需要)。用户可以通过扩容向弹性集群添加新的物理节点。 图1 逻辑集群、数据库、表层次关系 逻辑集群支持8.1.0.100及以上版本。 在实际业务场景中,建议用户尽可能将同一个数据库的表创建到同一个逻辑集群中。 逻辑集群不是独立子集群,可以实现数据隔离,资源隔离和权限隔离,但不支持独立运维。 逻辑集群不支持经典变更规格。 DWS 3.0物理集群切换逻辑集群时,如果原物理集群有数据则不支持切换。用户请确保切换时原物理集群数据为空。
  • 相关GUC参数设置 SQL诊断指标采集的相关GUC参数如下,具体请参见《数据仓库服务开发指南》中“GUC参数”章节: enable_resource_track 取值范围:布尔型 默认值:on DMS期望值:on(仅供参考) 作用:控制是否开启资源实时监控功能。 仅开启该参数,但没有正确配置其他相关联GUC参数,将不能记录实时资源消耗情况。 resource_track_cost 取值范围:整型,-1~INT_MAX 默认值:100000 DMS期望值:0(仅供参考) 作用:设置对当前会话的语句进行资源监控的最小执行代价,该参数只有当参数enable_resource_track为on时才有效。 当该值设置过小,会导致更多的语句被记录,引起记录膨胀,记录过程也会影响集群性能。 resource_track_level 取值范围:枚举类型 默认值:query DMS期望值:query(仅供参考) 作用:设置当前会话的资源监控的等级;该参数只有当参数enable_resource_track为on时才有效。 设置operator级别的资源监控会显著影响性能。 resource_track_duration 取值范围:整型,0~INT_MAX,单位为秒(s) 默认值:60 DMS期望值:0(仅供参考) 作用:设置资源监控实时视图中记录的语句执行结束后进行历史信息转存的最小执行时间。即,只有当执行时间超过该时间的语句才会被记入到历史视图中。该参数只有当enable_resource_track为on时才有效。 当该值设置的过小,会导致内核语句转存的批处理机制失效,对内核性能产生影响。 topsql_retention_time 取值范围:整型,0~3650,单位为天 默认值:30 DMS期望值:14(仅供参考) 作用:视图pgxc_wlm_session_info数据老化时间。 该时间设置为0时表示不会老化,这会导致存储膨胀。 enable_resource_record 取值范围:布尔型 默认值:off DMS期望值:on(仅供参考) 作用:是否开启资源监控记录归档功能;开启时,对于history视图(GS_WLM_SESSION_HISTORY和GS_WLM_OPERATOR_HISTORY)中的记录,每隔3分钟会分别被归档到相应的info视图(GS_WLM_SESSION_INFO和GS_WLM_OPERATOR_INFO),归档后history视图中的记录会被清除。 开启该功能时建议同时设置合适的topsql_retention_time参数值配置老化时间。否则,将会引起GS_WLM_SESSION_INFO或GS_WLM_OPERATOR_INFO表的数据膨胀。
  • 约束与限制 非细粒度灾备集群在数据同步期间,无法提供读写服务。 灾备集群在容灾任务停止或者异常但灾备集群正常的情况下,可以提供读服务,灾备切换成功后可以提供读写服务。 容灾创建后,生产集群快照功能正常使用,但是灾备集群禁用快照功能,以及生产、灾备集群均禁用恢复功能。 不支持逻辑集群。 不支持资源池。 使用冷热表后,冷数据同步依赖OBS。 容灾不支持同步配置的外部数据源数据。 容灾管理为同一租户下的双集群容灾。 创建容灾需要生产集群与灾备集群类型、版本号一致且逻辑同构。 Region内容灾生产集群和灾备集群需要在同一个VPC内。 Region内容灾在生产集群与容灾集群切换后绑定的弹性负载均衡(ELB)会自动切换到新的生产集群,过程中会有短暂的连接中断,请注意在变更时间窗内尽量避免业务语句写入。 Region内容灾在生产集群与容灾集群,原生产集群所在的EIP和内网域名,连接IP地址不会自动切换,业务系统中如果有使用EIP、域名或者IP方式连接,需要切换到新集群。
共100000条