计算组本地盘的主要作用是在存计分离的架构下,加速远端数据的读性能。ByteHouse 云数仓版默认的写行为是写穿到远端持久化的分布式存储里,后续通过 SQL 读触发,回源到本地盘里。
如果您想主动触发本地盘中缓存的提取加载,可参考缓存加载。
计算组本地盘存储的文件,主要分为数据块、元数据、unique index 索引文件、BSP 临时落盘文件、insert 前台写/后台数据合并的临时文件等。其中,数据块占用 70-80% 左右的比例,索引、临时文件占用 10% 左右。
如需具体了解比例或针对性调整,可以提交工单或联系 ByteHouse 团队。
当 SQL 异常里提示 Cannot reserve xx MB, not enough space 报错时,一般是本地预留的临时文件空间不足,出现该问题的原因可能是前台 insert 量变大、变频繁、数据攒批行数变多,也可能是后台数据合并变频繁、合并的文件过大等导致。
另外,ByteHouse 云数仓版的计算组支持单独设置读、写计算组,如果您设置的读和写计算组是同一个计算组时,可能更容易触发该问题。
您可以通过以下方式解决: