本文介绍 StarRocks 缓存管理功能的整体架构和各缓存类型的适用场景,帮助您根据业务需求选择合适的缓存方案。
功能介绍
StarRocks 提供多种缓存机制,通过将热点数据缓存至本地 BE/CN 节点的内存或磁盘,减少对远端存储(HDFS、对象存储等)的重复访问,从而显著提升查询性能。
缓存类型
缓存类型 | 适用场景 | 默认状态 | 最低版本 |
存算分离 Data Cache | 存算分离(Serverless)实例内表查询加速 | 默认开启 | v3.1.7 / v3.2.3 |
数据湖 Data Cache | External Catalog 外表查询加速(Hive、Iceberg、Hudi 等) | v3.3.0 起默认开启 | v2.5 |
Index Cache | 存算分离实例索引缓存,适用于磁盘容量不足以全量缓存数据的场景 | 默认开启 | v3.3.13 |
说明
自 v3.4.0 版本起,StarRocks 存算分离内表和数据湖查询共用同一个 Data Cache 实例,无需分别配置。
缓存选型建议
存算分离实例:使用存算分离 Data Cache,自动按需从远端存储加载数据至本地缓存,无需额外配置。
数据湖外表:使用数据湖 Data Cache,支持 Parquet、ORC 等格式的远端文件缓存,适合 Ad-hoc 分析、报表查询等重复扫描大表的场景。
磁盘容量不足,无法全量缓存数据:开启 Index Cache,仅缓存索引,以较低磁盘开销显著提升查询性能。
预先加载热点数据:使用 Data Cache 预热(
CACHE SELECT),提前将指定数据载入缓存,避免冷启动对查询性能的影响。
该文章对您有帮助吗?