本文介绍了 ByteHouse 云数仓计算组的功能定义、核心优势及使用指引等内容。
计算组(Virtual Warehouse,VW)是 ByteHouse 中的计算资源集群,提供了 CPU、Memory 及临时存储等核心资源,为各类数据操作提供稳定的算力支撑,用于执行用户的 SQL 查询和写入任务,具体包括:
计算组提供计算资源的独立隔离和弹性扩展能力,不同计算组间互不干扰,适用于多租户和多业务工作负载的场景。
ByteHouse 计算组有如下优势:
ByteHouse 云数仓计算组支持自动启停策略,帮助您节省资源成本。当计算组空闲超过设定的周期时,自动启停功能将自动关闭集群,在计算组关闭期间将不产生任何费用,节省成本,同时避免在低负载时产生不必要的资源浪费。当您有查询需求时,发送查询请求后,计算组会自动启动,唤起计算资源并进行查询。这种模式能够根据实际负载情况灵活调整资源使用,实现成本优化。
ByteHouse 原生支持存储计算分离,写入和后台任务可以使用写入专用的计算组,前台查询使用读取专用的计算组,读写作业之间也不会影响,适用于读写繁忙型业务。
ByteHouse 支持您根据业务需求灵活配置计算组的定时伸缩策略。您可通过定时任务设定时间周期,系统可根据计划自动触发弹性扩缩容,匹配不同时段的查询流量与工作负载。您可根据业务需求和资源使用预测,提前规划计算资源的扩展或收缩时间点,确保资源高效利用与及时响应。
借助 ByteHouse 的定时弹性能力,您将获得以下优势:
负载弹性是指 ByteHouse 计算组支持自动扩缩容,支持为 L 及以上规格的计算组通过动态调配弹性资源,依据预设策略自动调整弹性资源的规格,适配业务负载波动。弹性资源按实际使用量计费。
您可参考创建/编辑计算组中的操作启用负载弹性。启用后,计算组由基础资源与弹性资源构成,当 CPU 或内存指标达到设定阈值后,系统自动对弹性资源进行扩缩容,触发机制如下:
扩缩容时,负载弹性采用阶梯式调整策略,每次扩容/缩容 1 个规格的弹性资源:
以下表格以基础资源为 L 规格的计算组为例,用户设置扩容与缩容触发时长均为 5 分钟,演示负载弹性功能:
触发条件:
扩容过程:
时间 | CPU 负载 | Memory 负载 | 基础资源 | 弹性资源 | 是否扩缩容 |
|---|---|---|---|---|---|
0 | 10% | 30% | L | / | 不扩容 |
1 | 85% | 30% | L | / | 不扩容 |
2 | 85% | 30% | L | / | 不扩容 |
3 | 85% | 30% | L | / | 不扩容 |
4 | 85% | 30% | L | / | 不扩容 |
5 | 85% | 30% | L | / | 不扩容 |
6 | 85% | 30% | L | L | 扩容至 L |
7 | 85% | 30% | L | L | 不扩容 |
8 | 85% | 40% | L | L | 不扩容 |
9 | 85% | 40% | L | L | 不扩容 |
10 | 85% | 40% | L | L | 不扩容 |
11 | 85% | 40% | L | L | 不扩容 |
12 | 85% | 40% | L | XL | 扩容至 XL |
13 | 85% | 40% | L | XL | 不扩容 |
14 | 85% | 40% | L | XL | 不扩容 |
15 | 85% | 40% | L | XL | 不扩容 |
16 | 85% | 40% | L | XL | 不扩容 |
17 | 85% | 40% | L | XL | 不扩容 |
18 | 85% | 40% | L | 2XL | 扩容至 2XL |
缩容过程:
时间 | CPU 负载 | Memory 负载 | 基础资源 | 弹性资源 | 是否扩缩容 |
|---|---|---|---|---|---|
0 | 60% | 60% | L | 2XL | 不缩容 |
1 | 30% | 40% | L | 2XL | 不缩容 |
2 | 30% | 40% | L | 2XL | 不缩容 |
3 | 30% | 40% | L | 2XL | 不缩容 |
4 | 30% | 40% | L | 2XL | 不缩容 |
5 | 30% | 40% | L | 2XL | 不缩容 |
6 | 30% | 40% | L | XL | 缩容到 XL |
7 | 30% | 40% | L | XL | 不缩容 |
8 | 30% | 40% | L | XL | 不缩容 |
9 | 30% | 40% | L | XL | 不缩容 |
10 | 30% | 40% | L | XL | 不缩容 |
11 | 30% | 40% | L | XL | 不缩容 |
12 | 30% | 40% | L | L | 缩容到 L |
13 | 30% | 40% | L | L | 不缩容 |
14 | 30% | 40% | L | L | 不缩容 |
15 | 30% | 40% | L | L | 不缩容 |
16 | 30% | 40% | L | L | 不缩容 |
17 | 30% | 40% | L | L | 不缩容 |
18 | 30% | 40% | L | / | 关闭弹性资源 |
潮汐集群(Tidal Cluster/Multiple Cluster)是 ByteHouse 面向高并发查询场景提供的横向弹性扩缩容能力。开启后,系统可根据计算组的负载情况,在同一计算组内增加或释放计算集群(Cluster),并将查询请求分发至不同计算集群执行,从而提升计算组的并发请求承载能力。
在未开启潮汐集群时,每个计算组只包含一个计算集群(Cluster);开启潮汐集群后,同一计算组可同时包含一个基础计算集群和若干个按需增加的潮汐计算集群。
潮汐集群功能通过动态调整同一计算组内的计算集群数量,提高高并发点查场景的并发承载能力。适用于高并发、中小型查询以及点查场景。对于低并发但单条查询计算量较大的场景,建议调整计算组规格或使用负载弹性功能。
说明
横向扩容出来的每个潮汐计算集群,均采用与基础计算集群完全相同的规格,包括计算资源与本地盘(缓存)容量。例如,若您为计算组选择的规格为 L(对应本地盘容量为 200 GB),则触发横向扩容后新增的潮汐计算集群同样为 L 规格,并同步配备 200 GB 的本地盘。
潮汐计算集群费用 = 实际扩容计算资源量(CU*小时) * 计算资源按量单价 + 实际扩容本地盘容量(GiB*小时)* 本地盘存储资源按量单价,具体资源单价请参见规格及定价当您的业务存在明显的潮汐型访问特征,且高峰时段主要体现为高并发点查压力时,可启用潮汐集群能力。相比单纯提升基础规格,潮汐集群更适合在高峰时段临时补充并发处理能力,在兼顾查询稳定性的同时减少长期闲置资源。
与负载弹性的区别:
对比项 | 潮汐集群 | 负载弹性 |
|---|---|---|
扩展方式 | 横向增加计算集群 | 纵向增加单个计算集群的计算资源 |
主要目标 | 提高并发量和总体吞吐 | 为复杂查询提供更多 CPU、内存 |
典型场景 | 高并发点查、中小型查询 | 大型查询、批处理、资源密集型任务 |
对单条查询的帮助 | 通常有限 | 通常更加直接 |
是否可以同时开启 | 不支持同时开启 | 不支持同时开启 |
开启潮汐集群前,您的计算组需满足以下条件:
启用潮汐集群后,同一计算组内将由一个基础计算集群和若干个可按需增加的潮汐计算集群共同承载业务请求。系统会根据您配置的扩容与缩容检测时间持续检测业务负载,并在满足条件时自动调整潮汐计算集群的数量,以适配高峰与低谷期间的并发差异。
在业务高峰期,系统可在同一计算组内自动增加潮汐计算集群,分担基础计算集群的并发压力;业务回落后,系统会回收不再需要的潮汐计算集群。该机制通过横向调整计算集群数量提升并发承载能力。
您可在创建/编辑计算组流程中开启或配置潮汐集群,展开页面中的"高级配置"区域并勾选"潮汐集群"即可开启该能力。开启后可配置以下参数:
新建计算组页面和编辑计算组页面中,"潮汐集群"相关配置项完全一致,您可以在新建计算组时直接开启并配置,也可以针对已有计算组随时调整。