本文介绍存算分离 Data Cache 的功能原理及配置方法。通过将远端存储中的热点数据缓存至 CN 节点本地,可显著提升存算分离集群的查询性能。
功能介绍
自 StarRocks v3.1.7 和 v3.2.3 版本起,StarRocks 在存算分离集群中引入 Data Cache 功能,默认开启。该功能以 Block(MB 级别)为单位,按需从远端存储加载数据至本地缓存,取代早期版本中的 File Cache 功能。
自 v3.4.0 版本起,StarRocks 存算分离内表和数据湖查询共用同一个 Data Cache 实例。
使用限制
仅适用于 Serverless StarRocks 存算分离实例。
自 StarRocks v3.1.7 和 v3.2.3 版本起支持,默认开启。
配置 Data Cache
您可以通过以下 CN 配置项对 Data Cache 进行配置。
缓存磁盘容量
存算分离集群的磁盘缓存容量取 datacache_disk_size 和 starlet_star_cache_disk_size_percent 两个参数中较大的值。
配置参数 | 说明 |
| 单个磁盘缓存数据量的上限,可设为比例上限(如 |
| Data Cache 可使用的磁盘容量百分比,默认值为 |
表级缓存配置
禁用指定表的缓存:将云原生表的
datacache.enable属性设置为false,该表将不使用 Data Cache。限制缓存数据时间范围:通过
datacache.partition_duration属性设置热数据有效期,超出该时间范围的数据将不会被缓存。支持的时间单位:YEAR、MONTH、DAY、HOUR。例如7 DAY、12 HOUR。不指定时,所有数据均作为热数据进行缓存。说明此属性仅在
datacache.enable设置为true时可用。
查看 Data Cache 状态
执行以下 SQL 查看 Data Cache 磁盘使用上限:
SELECT * FROM information_schema.be_configs WHERE NAME LIKE '%starlet_star_cache_disk_size_percent%' OR NAME LIKE '%datacache_disk_size%';在阿里云控制台,进入业务洞察 > 缓存洞察,查看实例或计算组的缓存命中情况,以便进行业务优化。
禁用 Data Cache
如需禁用 Data Cache,执行以下 SQL:
SET [GLOBAL] skip_local_disk_cache = true;若仅需对特定表禁用缓存,建议配置表级别的 datacache.enable,而非全局关闭。