计算资源

计算资源是 Lakehouse 存算分离架构中的计算层——数据存储在对象存储中,VCluster(虚拟计算集群)按需提供 CPU 和内存,多个集群可同时读写同一份数据,互不干扰。

类比:VCluster 像"按需租用的计算引擎"——需要时启动,用完即停,按实际使用的分钟数计费。与传统数据库不同,这里的计算和存储是彻底分离的——调整集群规格不需要迁移任何数据,不同团队可以用独立集群访问同一张表,互不抢占。

集群类型选型

类型适用场景核心特点
通用型(GENERAL)ETL 数据加工、Dynamic Table 刷新、离线批处理作业共享资源,公平调度,支持弹性伸缩;DT 刷新需用此类型(支持自动小文件合并)
分析型(ANALYTICS)BI 查询、即席分析、高并发查询支持多实例横向扩容,结果缓存加速重复查询
同步型(INTEGRATION)实时/离线数据同步任务专为集成任务优化,多个同步任务共用一个集群

选型规则

  • ETL 任务 → 通用型,成本低,不与查询争资源
  • BI 报表 / Ad-hoc 查询 → 分析型,结果缓存、多实例并发
  • 数据同步任务 → 同步型,专用资源,不影响其他负载
  • Dynamic Table 刷新 → 通用型,分析型集群不支持刷新时的自动小文件合并

核心机制

CRU(Compute Resource Unit):计算资源的计量单位,屏蔽了不同云平台和 CPU 架构的差异。按实际运行时长计费,暂停时不产生费用,运行不足 1 分钟按 1 分钟计费。

自动启停:集群可以在空闲时自动暂停(停止计费),有新任务提交时自动唤醒。推荐配置:

  • ETL 任务集群:自动停止 60 秒,尽快释放资源
  • BI 查询集群:自动停止 1800 秒(30 分钟),利用缓存加速重复查询

横向扩容(仅分析型):并发查询超过单实例处理能力时,自动启动额外副本分担负载,查询完成后自动缩回。

快速示例

-- 创建通用型集群(用于 ETL) CREATE VCLUSTER etl_cluster VCLUSTER_SIZE = 1 VCLUSTER_TYPE = GENERAL AUTO_SUSPEND_IN_SECOND = 60; -- 创建分析型集群(用于 BI,最多 2 个实例并发) CREATE VCLUSTER bi_cluster VCLUSTER_SIZE = 2 VCLUSTER_TYPE = ANALYTICS MIN_REPLICAS = 1 MAX_REPLICAS = 2 AUTO_SUSPEND_IN_SECOND = 1800; -- 当前会话切换集群 USE VCLUSTER bi_cluster; -- 查看所有集群及状态 SHOW VCLUSTERS; +-----------+----------+---------------+---------+ | name | type | size | state | +-----------+----------+---------------+---------+ | etl_cluster | GENERAL | S_1CRU | RUNNING | | bi_cluster | ANALYTICS | S_2CRU | SUSPENDED | +-----------+----------+---------------+---------+

常见问题

常见问题 1:Dynamic Table 用了分析型集群

问题:将 DT 刷新调度到分析型集群。

症状:数据文件数量持续增长,查询越来越慢,小文件数量暴增。

解决:Dynamic Table 刷新必须使用通用型集群,分析型集群不支持刷新过程中的自动小文件合并。

常见问题 2:ETL 和 BI 混用同一集群

问题:大批量 ETL 任务和 BI 查询共用同一个集群。

症状:BI 查询排队等待,报表延迟;ETL 任务也因为 BI 查询占用资源而变慢。

解决:按负载类型拆分集群,ETL 和 BI 各自独立的集群,互不干扰。

常见问题 3:自动停止时间设置过短导致频繁冷启动

问题:BI 集群自动停止设为 60 秒。

症状:每次查询都要等集群冷启动(通常 10-30 秒),用户体验差;且每次启动不足 1 分钟按 1 分钟计费,反而增加成本。

解决:BI 集群的自动停止时间设为 30 分钟以上,利用结果缓存加速重复查询。

成本影响

计算成本

  • 按 CRU × 运行时长计费,暂停时不产生计费
  • 规格越大(CRU 数量越多),单位时间成本越高,但大作业完成速度更快
  • 分析型集群开启横向扩容后,副本数量动态变化,需关注峰值成本

存储成本

  • VCluster 本身不产生存储费用,数据存储在对象存储中
  • 分析型集群的
    PRELOAD_TABLES
    PRELOAD_TABLES
    功能会将数据预加载到本地 SSD 缓存(临时存储,不另行计费)

生命周期管理

创建集群 → 自动启动 → 执行任务 → 空闲自动暂停 → 调整规格 → 删除集群 ↓ ↓ ↓ ↓ ↓ ↓ 指定类型 任务提交唤醒 消耗 CRU 停止计费 规格升降级 需先暂停

-- 调整规格(热变更,不影响运行中的任务) ALTER VCLUSTER etl_cluster SET VCLUSTER_SIZE = 4; -- 手动暂停 ALTER VCLUSTER etl_cluster SUSPEND; -- 手动恢复 ALTER VCLUSTER etl_cluster RESUME; -- 删除集群 DROP VCLUSTER etl_cluster;

本章内容

页面说明
VCluster(计算集群)集群类型详解、规格选型、横向扩容机制

相关文档

文档说明
管理计算集群Web UI 操作与管理
横向弹性扩容分析型集群并发扩容原理
规格说明CRU 规格代码对照表
创建计算集群完整 DDL 语法
联系我们
预约咨询
微信咨询
电话咨询