企业版Serverless能力概述

云数据库 ClickHouse 企业版基于存算分离的架构,实现了集群计算资源根据实际业务负载动态弹性升降的Serverless能力。云数据库 ClickHouse 企业版集群在业务波动较大的场景下,集群资源可根据实际业务量自动动态调整,帮助您降低业务低峰时段的资源用量,进而降低您总体资源采购的成本。本文介绍云数据库 ClickHouse 企业版集群的Serverless能力以及其弹性策略和适用场景。

功能介绍

计算资源

ClickHouse集群计算资源的计量单位是CCU(ClickHouse Compute Unit),1 CCU对应资源为1 Vcpu 4 GiB。

企业版集群支持根据业务的实际负载,在预设的集群弹性上限和弹性下限之间进行计算资源的弹性增加和弹性减少。最小的资源弹性步长为1 CCU。

在业务波动较大的场景下,固定规格的集群和企业版集群资源使用和规格变化情况如下图所示。从图中可以得知,在业务波动较大的场景下,固定规格的集群劣势是,在波谷期浪费的资源较多,在高峰期资源不足,导致业务受损。相对固定规格的集群,企业版集群有以下优势。

  • 集群资源可根据实际业务需求量动态调整,降低运维压力。

  • 提升整体资源利用率,降低资源采购成本。

  • 业务高峰秒级完成资源弹升,过程业务无感,提升系统稳定性。

资源对比

存储资源

企业版存储资源采用OSS共享存储方案,支持按实际使用量计费的Serverless模式,无需预购存储盘。

适用场景

  • 存在明显的业务波峰波谷情况。

  • 有间歇性业务高峰,需要频繁变配的场景。

  • 不确定负载的场景,例如物联网(IoT)、边缘计算。

  • 期望降低运维成本、提升运维效率的场景。

费用

云数据库ClickHouse企业版集群费用由计算资源费用和存储资源费用两部分组成。更多计费信息,请参见企业版按量计费

同时,您也可以购买对应资源包,抵扣集群的资源消耗,进一步降低您的资源成本。资源包计费规则以及如何购买,请参见资源包

Serverless资源弹性扩缩触发条件

目前,云数据库 ClickHouse 企业版为您提供了两种弹性策略:保守型策略和激进型策略。

说明
  • 在不改变CCU上限的情况下,弹升和弹降不会影响集群的节点个数。集群的节点个数仅与集群的CCU上限相关。当CCU上限大于64时,企业版集群的节点数计算公式为:CCU上限/32;当CCU上限小于64时,企业版集群的节点数为2。

  • 集群每个节点的内存中都会保存必要的元数据。因此,在调整CCU上限后,集群节点数量的变化将导致集群总内存使用量及整体CCU用量的相应变化。

弹性策略

开启条件

弹升策略

弹降策略

策略类型:保守型。

适用场景:

  • 业务低谷时段资源使用率低于30%的场景。

  • 业务高峰和低谷时段资源使用率差距较大的场景。

  • 对业务稳定性要求较高的场景。

在新建集群时,默认采用保守型Serverless策略。

  • 触发条件:(以下条件满足一个即可)

    • CPU使用率在5s内的平均值超过60%。

    • 内存利用率在1s内超过60%。

  • 弹升结果:计算资源=MIN(触发弹升的资源实际使用量除以45%,预设的弹性上限)。

    说明

    触发弹升的资源实际使用量=MAX(CPU使用率*CCU, 内存使用率*CCU)。

  • 触发条件:(以下条件需均满足)

    • CPU使用率连续60s小于30%。

    • 内存利用率连续60s小于30%。

    • 当前集群的资源量高于预设的弹性下限。

  • 弹降方式:以1 CCU的步长逐步弹降,不是一次弹降至目标值。

  • 弹降结果:集群资源量保持在MAX(使CPU使用率稳定在30%的CCU量,使内存利用率稳定在30%的CCU量,预设的弹性下限)。

策略类型:激进型。

适用场景:

  • 业务低谷时间资源使用率仍处于30%以上的场景。

  • 对降低成本有强烈需求的场景。

支持通过工单白名单开启。

重要

开启激进型策略后,可能会对集群的性能和稳定性产生影响,谨慎开启。

  • 查询性能影响:集群会更频繁地触发计算资源的弹降和节点缓存的加锁释放,影响缓存命中率。

  • 稳定性影响:弹升阈值提高和弹升步长降低,可能导致弹升耗时的增加和MemoryLimitException异常的增多。

  • 触发条件:(以下条件满足一个即可)

    • CPU使用率在5s内的平均值超过90%。

    • 内存利用率1s超过80%。

  • 弹升结果:计算资源=MIN(触发弹升的资源实际使用量除以45%,预设的弹性上限)。

    说明

    触发弹升的资源实际使用量=MAX(CPU使用率*CCU, 内存使用率*CCU)。

  • 触发条件:(以下条件需均满足)

    • CPU使用率连续15s小于80%。

    • 内存利用率连续15s小于75%。

  • 弹降方式:以1 CCU的步长逐步弹降,不是一次弹降至目标值。

  • 弹降结果:集群资源量保持在MAX(使CPU使用率稳定在80%的CCU量,使内存利用率稳定在75%的CCU量,预设的弹性下限)。

更多操作

相关API

API接口

说明

ModifyDBInstanceClass - 修改集群弹性配置

修改弹性区间。

CreateDBInstance - 创建集群

购买集群。

DeleteDBInstance - 释放集群

删除集群。

StartDBInstance - 启动集群

启动集群。

StopDBInstance - 暂停集群

暂停集群。

RestartDBInstance - 重启集群

重启集群。