计算组分时弹性(Beta)

Hologres计算组型实例支持按时间设置弹性计划,从而根据业务流量峰值,自动完成计算资源伸缩,提升实例稳定性和资源利用率,节约成本。本文为您介绍如何使用分时弹性功能。

适用场景

假设您当前使用计算组实例的场景为:数据中台团队使用init warehouse完成大型ETL、大数据量离线导入、分钟级近实时导入、实时数据导入,业务团队A使用warehouse 1查询数据,业务团队B使用warehouse 2查询数据。则分时弹性功能可能的适用场景如下:

  • 分钟级近实时导入和实时数据导入:仍使用计算组init warehouse执行。如果全天数据量稳定,则无需设置分时弹性。如果每天有一段时间(通常建议16小时内)有明显的写入流量高峰,则建议设置分时弹性计划,在写入流量高峰期弹出额外的弹性资源。

  • 业务团队查询数据:仍分别使用不同的从计算组承载不同业务团队的查询请求,以保障负载隔离。如果业务团队查询请求量稳定,则无需设置分时弹性。如果每天的查询请求量有明显周期性变化,则建议设置分时弹性计划,在查询请求高峰期弹出额外的弹性资源。

  • 大型ETL作业和大数据量离线导入:建议改用Serverless资源执行。Serverless Computing可以提供额外的计算资源,无需预留计算资源,显著提升实例稳定性、减少OOM,且仅需为任务单独付费。Serverless Computing详情请参见Serverless Computing概述,使用方法请参见Serverless Computing使用指南

使用限制

  • 仅计算组型实例支持分时弹性功能,通用型实例和只读从实例不支持。

  • Hologres从V2.2.21版本起支持分时弹性功能。

  • 如下地域暂不支持分时弹性:华东 2 金融云、华北 2 阿里政务云1、华南 1 金融云、日本(东京)、马来西亚(吉隆坡)、印度尼西亚(雅加达)。

说明

分时弹性功能现处于公测期,请使用阿里云账号填写表单实时数仓Hologres分时弹性公测申请,申请试用。

注意事项

  • 使用分时弹性功能所需权限:

    • 需要使用阿里云账号,或被授予了AliyunHologresWarehouseFullAccess权限的RAM用户,该权限包含了Hologres管理控制台的只读权限和分时弹性功能的配置权限,授权方式请参见授予RAM用户权限

    • 需要账号拥有实例内部的Superuser权限,授权方式请参见授予RAM用户实例的开发权限

  • Hologres V2.2版本中,使用分时弹性功能对计算组执行定时扩容、缩容操作,计算组的查询和写入会中断约15秒。Hologres V3.0版本起,计算组扩容期间,计算组的查询和写入不受影响,计算组的状态仍会处于处理中。计算组缩容期间,查询和写入仍会中断约15秒。

  • 当对计算组配置了弹性计划后:

    • 不支持停止计算组或删除计算组,不支持缩容计算组资源。

    • 只支持通过Hologres管理控制台操作扩容计算组资源,不支持手动执行hg_alter_warehouse命令扩容计算组资源。

    • 只支持通过Hologres管理控制台新建计算组,不支持手动执行hg_create_warehouse命令新建计算组。

名词解释

  • 实例级别的计算资源

    • 实例预留资源:实例预留的计算资源总量,有包年包月和按量付费两种付费模式。可以分为已分配和未分配资源。

      • 实例已分配资源:实例预留资源中,已经分配给所有计算组的资源总量。

      • 实例未分配资源:实例预留资源中,还没有分配给计算组的资源量。

    • 实例弹性资源:实例下的所有计算组,在预留资源之外,额外弹出的资源总量。

    • 实例总计算资源:实例实际使用的资源总量,为实例预留资源和实例弹性资源总和。

  • 计算组级别的计算资源

    • 计算组预留资源:每个计算组从实例预留资源中分配到的资源量。

    • 计算组弹性资源:每个计算组在预留资源之外,额外弹出的资源量。

    • 计算组总计算资源:计算组实际使用的资源总量,为实例预留资源和实例弹性资源总和。

示例:如图为某实例资源示例,资源详情如下:

类别

资源详情

实例

预留资源96 CU,其中64 CU已分配,32 CU未分配。

弹性资源32 CU。

总计算资源96+32=128 CU。

计算组init_warehouse

预留资源32 CU,弹性资源16 CU,总计算资源48 CU。

计算组warehouse_2

预留资源32 CU,弹性资源16 CU,总计算资源48 CU。

image

价格说明

  • 实例预留资源:即计算组实例独享计算资源,仍按实例付费模式(包年包月/按量付费)付费。

  • 实例弹性资源:包含分时弹性功能额外弹出的计算资源。计费公式为:费用 = 实例实际弹出弹性资源量(CU*小时) * 资源单价,具体资源单价请参见计费概述。每小时结算一次,系统将会推送账单并从账户中自动扣除费用。

    说明

    实例弹性资源与实例未分配资源不相关。即使实例预留资源中仍有未分配资源,分时弹性功能仍会额外弹出计算资源,而不会使用实例未分配资源。

使用指南

计算组资源管理

  1. 进入计算组管理页面。

    1. 登录Hologres管理控制台,在顶部菜单栏左侧,选择相应的地域。

    2. 在左侧导航栏选择实例列表,单击目标实例ID进入实例详情页。

    3. 在实例详情页的左侧导航栏单击计算组管理

  2. 查看计算组型实例的资源使用情况。

    计算组资源管理页签可查看计算组型实例的资源使用情况,包括实例预留资源(含实例已分配资源和未分配资源)、实例弹性资源。

  3. 管理计算组资源。

    • 单击新增计算组,在新增计算组对话框中输入计算组名称计算组资源,创建新的计算组。

    • 状态正在运行的计算组,支持执行调整配置重启停止Rebalance操作。Rebalance详情请参见均衡分片(Rebalance)

      说明

      不支持对实例的默认计算组init_warehouse执行停止操作。

计算组弹性计划

查看弹性计划时序图

  1. 进入计算组管理页面,单击计算组弹性计划页签。

  2. 实例/计算组选择下拉列表中选择实例或某一计算组,可以查看弹性计划时序图。时序图表明未来实例或计算组会按此计划执行扩缩容操作,不表示过去的资源监控指标。image

则保存后,计算组A的总计算资源会立即从96 CU缩容至64 CU。

配置计算组弹性计划

  • 计算组弹性计划页签中单击目标计算组左侧的image,然后单击增加时间段,配置每日生效时间段的起始和结束时间,并配置弹性计算资源量,单击操作列的保存即可生效。

  • 支持对已有弹性计划执行编辑删除操作。

重要
  • 弹性计算资源量不支持超过预留计算资源量。

  • 每个计算组最多支持5个弹性时间段。

  • 删除弹性计划时,即使计算组资源未发生变化,计算组状态也会变为处理中,此时计算组的读写不受影响。

image

保存计算组的弹性计划时,如果计算组当前时刻设置的弹性资源发生变化,会同步生效,即Hologres会立即对计算组执行变配操作。示例如下:

  • 示例1

    假设当前时间为16:00,对计算组A(预留资源64 CU)新增弹性计划:

    生效时间段为15:00-18:00、弹性计算资源为32 CU,则保存后,计算组A的总计算资源会立即扩容至96 CU。

  • 示例2

    假设当前时间为16:00,修改计算组A(预留资源64 CU)的原有弹性计划:

    • 修改前:生效时间段为15:00-18:00、弹性计算资源为32 CU。

    • 修改后:生效时间段为17:00-18:00、弹性计算资源32 CU。

    则保存后,计算组A的总计算资源会立即从96 CU缩容至64 CU。

分时弹性监控

可以通过如下方式监控弹性计划执行情况。

弹性计划执行日志

  1. 进入计算组管理页面,单击弹性计划执行日志页签。

  2. 选择时间范围,可查看过去的弹性计划执行情况,包括执行时间、计算组、执行状态、事件类型、预留计算资源和目标弹性计算资源。image

监控指标

您可以在Hologres管控台的监控指标中,查看Warehouse_timed_elastic_cores(Count)(即实例分时弹性弹出Core数)指标,如有需要,可为其配置相应告警规则,详情请参见Hologres管控台的监控指标

操作审计

Hologres管理控制台上执行的编辑弹性计划等操作,以及弹性计划实际执行扩缩容操作,均会记录到操作审计中。详情请参见查询事件日志