本文介绍缓存加载功能的使用流程、功能说明及创建、查看、编辑、删除缓存加载任务的操作步骤。
简介
缓存加载(Preload) 功能是ByteHouse云数仓的一种数据缓存优化机制,目的是提升查询性能。它将远程对象存储中的数据提前缓存到计算组的本地云盘中。缓存加载分为3个步骤:
- 数据预取:根据缓存策略将数据加载到缓存中,ByteHouse支持离线策略、实时策略和单次策略三种。
- 离线策略:将周期性刷新存量数据到缓存中。
- 实时策略:将自动获取最新写入数据并加载到缓存。
- 单次策略:将指定日期范围的数据加载到缓存中。
- 缓存管理:ByteHouse云数仓对已缓存的数据进行监控和管理,当缓存空间不足时,根据数据的使用情况和重要性,自动淘汰一些不常用的数据,为新的需要缓存的数据腾出空间。
- 离线缓存策略:数据默认遵循您在创建缓存加载任务时设置的TTL(Time To Live,生存时间)进行数据缓存,当TTL内的数据大小大于缓存空间大小时,遵循LRU(Least Recently Used,最近最少使用)淘汰策略。
- 实时缓存策略:数据默认遵循LRU(Least Recently Used,最近最少使用)淘汰策略。
- 查询加速:用户执行SQL查询时,数据已经在计算组的本地云盘缓存中,可以直接快速读取数据,无需从对象存储中获取。这样大大减少数据读取时间,提升了查询性能,使查询结果更快返回给用户。
使用流程
从业务场景来看,缓存加载 和 计算组本地盘(使用计算组本地盘) 一般组合使用,来确保加载数据到缓存时,有足够的缓存空间来承载数据。整体的缓存加载使用流程如下:

适用场景
行业 | 业务场景 | 场景&功能适用性分析 |
|---|
互联网&电商 | 实时监控用户行为、商品销售趋势、促销活动效果等,需要实时生成分析报告 | - 实时数据看板:通过实时缓存高频访问的销售数据(如近30天交易记录),将BI报表分析时效性从小时级压缩至秒级。
- 用户行为分析:预缓存用户行为日志(如点击、加购数据),支持实时路径分析和留存率计算,优化营销策略。
- 大促期间高并发查询:通过实时本地缓存减少远程存储访问,应对瞬时高负载的实时分析需求。
- 临时专项分析:利用单次策略指定日期范围(如近 7 天活动数据、季度周期数据)加载缓存,避免重复从远程存储读取,提升短期高频复盘效率,适配临时性、非周期性分析需求。
|
游戏 | 实时处理游戏日志、玩家行为数据,支持运营决策和用户体验优化 | - 游戏日志实时分析:缓存高频查询的玩家在线时长、道具使用等数据,支撑运营团队快速响应异常情况(如外挂检测)。
- 直播互动分析:预加载直播间用户互动数据(如弹幕、礼物打赏),加速实时人气榜单生成。
- 广告投放效果评估:通过缓存历史投放数据,快速分析不同渠道的ROI,优化广告预算分配。
- 版本更新效果分析:精准加载特定时间段(如版本更新窗口期)游戏数据,提升效果评估效率。
|
汽车 | 车联网设备(如传感器、GPS、摄像头等)实时生成车辆状态、驾驶行为、环境信息等。对这些数据快速处理分析,支持实时监控、故障诊断和用户服务 | - 历史数据加速:通过离线缓存策略,预加载高频访问的历史数据(如过去30天的驾驶行为数据),加速生成驾驶报告或用户行为分析。
- 查询加速:在生成驾驶评分、车辆健康报告或用户行为分析时,直接从本地缓存读取数据,减少远程存储访问的延迟。
- 新功能验证分析:新功能上市后,针对首批车主使用前 2 个月的车辆数据,通过单次缓存加载集中分析,验证新车功能用户接受度与实际表现,辅助车企快速迭代优化功能。
|
功能说明
ByteHouse缓存加载任务会将数据库存储中的数据预加载至各个计算组中,如下图所示。

缓存加载任务分为三种模式:实时加载任务、周期加载任务、单次加载任务。对比介绍如下。
对比项 | 实时加载任务 | 周期加载任务 | 单次加载任务 |
|---|
加载任务说明 | 将最新写入的数据实时预加载到计算组缓存, 同一张表仅支持实时写入1个计算组。 | 将数据按周期加载到计算组缓存。 支持1张表加载至多个计算组。 | 一次性任务,将指定日期范围的数据加载到计算组缓存。支持1张表加载至多个计算组。 |
数据加载逻辑 | 有数据写入表中即会触发缓存加载任务,新写入的数据即会加载入缓存。 | 每天定时运行: - 分区表:
- 日期类型分区表:每次运行时刷新TTL周期内的分区增量数据。
- 非日期类型分区表:每次运行时刷新全表。
- 非分区表:每次运行时刷新全表。
| 仅在指定日期加载: - 分区表:
- 日期类型分区表:加载指定日期范围的数据到缓存。
- 非日期类型分区表:每次运行时加载全表数据。
- 非分区表:每次运行时刷新全表。
|
使用限制
- 引擎版本需2.3及以上版本才可使用缓存加载功能,物化视图缓存加载功能依赖引擎2.3.2及以上版本。您可以在 租户管理 > 基本信息 页面中查看当前使用的引擎版本。
- 物化视图缓存加载为 Beta 功能,如需使用,请提交工单或联系 ByteHouse 团队获取白名单权限。
注意事项
缓存加载任务会将表数据缓存加载至计算组的缓存资源中,计算组会为您默认配置一定大小的缓存空间,您也可以打开计算组的计算组本地盘功能(增值功能)以获得更大的缓存资源空间,详情请参见使用计算组本地盘。
创建缓存加载任务
- 登录并进入ByteHouse云数仓版本控制台后,单击顶部租户管理,进入缓存加载页面后,单击右上角的创建任务。

- 在弹出的页面中配置缓存加载任务。
配置基本信息。在界面中配置任务名称与描述。

加载配置。选择缓存加载的任务类型并配置任务详情。

参数 | 配置说明 |
|---|
任务类型 | 当前支持实时加载、周期加载和单次加载三种任务类型。 - 实时加载:将最新写入的数据实时预加载到计算组缓存, 1张表仅支持实时加载至1个计算组。
- 周期加载:将数据按设定的周期加载到计算组缓存,非天级别分区的数据表将加载全表数据。支持1张表加载至多个计算组。周期加载任务还需继续配置下方数据范围、加载时间等任务参数。
- 单次加载:将数据按日期范围一次性加载到计算组缓存,非天级别分区的数据表将加载全表数据。支持1张表加载至多个计算组。单次加载任务还需继续配置下方日期范围参数。
|
数据范围 | 配置周期加载任务的加载数据是最近多少天的任务。 |
加载时间 | 配置周期加载任务每天定时运行的时间。 |
时区 | 配置周期加载任务使用的时区。 |
立即加载 | 选择是否需要在周期任务创建完成后就立即启动一次加载任务。 |
日期范围 | 配置单次加载任务的日期范围。 |
配置加载对象。在下拉框中选择需要预加载的数据库、数据表、物化视图,以及预加载写入的计算组。
说明
实时缓存任务仅支持选择一个计算组,即仅支持将数据表预加载至一个计算组中。

- 配置完成后,单击立即创建。
查看缓存加载任务
对于单次加载和周期加载任务,创建完成缓存加载任务后,您可以在缓存加载任务列表页单击查看任务状态,查看具体任务的运行状态。

在任务状态详情页面,您可以查看加载任务运行是否成功,您也可以查看每张表/分区的加载时长、分区级别状态展示、加载状态。对于部分成功的任务,ByteHouse将展示成功百分比,您可展开表,查看加载失败的原因。ByteHouse也支持重试加载任务,您可对每天的任务进行重试操作,支持全表重试或选择该表的单分区重试。

编辑缓存加载任务
您也可以在缓存加载任务列表页面对已创建的缓存加载任务进行编辑修改的操作。

缓存策略 | 编辑修改注意事项 |
|---|
实时缓存策略 | - 增加或取消勾选需要加载至缓存的数据表时:
- 取消勾选数据表后,后续不会再将该表的数据缓存至计算组,此前已有的缓存数据会随缓存数据淘汰策略(LRU策略)逐步被删除;
- 新勾选的表,后续会遵循当前的缓存策略,将表数据缓存至计算组。
- 切换缓存数据的计算组时:
- 切换计算组后,后续数据即会缓存至新的计算组中,此前的计算组中的缓存数据会随缓存数据淘汰策略(LRU策略)逐步被删除。
|
离线缓存策略 | - 增加或取消勾选需要加载至缓存的数据表时:
- 取消勾选数据表后,后续不会再将该表的数据缓存至计算组,此前已有的缓存数据会随缓存数据淘汰策略(LRU策略)逐步被删除;
- 新勾选的表,后续会遵循当前的缓存策略,将表历史数据周期性加载至计算组。
- 增加或减少缓存数据的计算组时:
- 增加了新的计算组后,后续数据会缓存至新的计算组中。
- 减少计算组后,不会再有新的数据缓存至计算组中,历史缓存数据会随缓存数据淘汰策略(LRU策略)逐步被删除。
|
单次缓存策略 | - 增加或取消勾选需要加载至缓存的数据表时:
- 取消勾选数据表后,后续不会再将该表的数据缓存至计算组,此前已有的缓存数据会随缓存数据淘汰策略(LRU策略)逐步被删除;
- 新勾选的表,后续会遵循当前的缓存策略,将表数据缓存至计算组。
- 切换缓存数据的计算组时:
- 切换计算组后,后续数据即会缓存至新的计算组中,此前的计算组中的缓存数据会随缓存数据淘汰策略(LRU策略)逐步被删除。
|
删除缓存加载任务
您也可以在缓存加载任务列表页面对已创建的缓存加载任务进行删除。

删除缓存任务后,已缓存的数据不会即刻被删除,后续会随淘汰策略(LRU策略)逐步被清理。
手动删除缓存数据
ByteHouse 支持您按需手动清理表或分区的缓存数据。
注意
清空缓存前请确认已缓存的数据是否已被使用,避免误删除。
单击查看任务状态,单击清空缓存。

查看缓存监控
创建缓存任务后,您可以在租户管理 > 监控告警页面查看计算组本地盘的缓存利用率、缓存数据读写次数等指标数据,对计算组本地盘进行例行监控。

当前支持的计算组本地盘监控指标详情,以及通过火山引擎云监控创建监控告警的操作指导请参见监控告警。