Data Cache
自 StarRocks v3.1.7 和 v3.2.3 版本起,StarRocks 引入 Data Cache 功能用以加速存算分离集群中的查询。该功能将取代早期版本中的 File Cache 功能。Data Cache 以 Block (MB 级别)为单位,按需从远端存储中加载数据。相较之下,File Cache 无论查询需要读取多少数据,都需要在后台线程加载整个数据文件。
相比 File Cache,Data Cache 具有以下优势:
- 可以减少对对象存储的读取,从而降低访问对象存储的成本(假设对象存储服务按访问频率收费)。
- 无需后台加载线程,可以降低对本地磁盘的写入压力和 CPU 使用率,从而减少对其他写入或查询任务的影响。
- 可以优化有效缓存率(因为 File Cache 会加载文件中不常用的数据)。
- 提供更精确的缓存控制能力,避免了 File Cache 淘汰缓存不及时导致磁盘被写满的状况。
启用 Data Cache
自 v3.2.3 版本起,StarRocks 默认启用 Data Cache。如果您需要在 v3.1 版本集群中使用 Data Cache,或此前曾手动禁用了此功能,需执行以下流程启用 Data Cache。
执行以下语句在集群运行时动态启用 Data Cache:
UPDATE information_schema.be_configs SET VALUE = 1
WHERE name = "starlet_use_star_cache";
动态配置将在 CN 节点重新启动后失效。
如需永久启用 Data Cache,需要将以下配置添加到 CN 配置文件 cn.conf 中,并重新启动 CN 节点:
starlet_use_star_cache = true