冷热分离概述
CloudTable Doris支持冷热分离功能,将数据分类存储在不同介质上,有效降低存储成本。
CloudTable Doris冷热分离特性仅支持Doris 2.0.5及以上版本。
背景
在数据分析的实际场景中,冷热数据面临着不同的查询频次及响应速度要求。而随着历史数据的不断增多,如果我们将所有数据存储在本地,将造成大量的资源浪费。冷热分离特性可将冷热数据分开存储,将冷热数据分别存储在成本不同的存储介质上。热数据提高时效数据的查询速度和响应能力,冷数据降低存储成本。我们还可以根据实际业务需求进行灵活的配置和调整,以满足不同场景的要求。冷热分离一般适用于以下需求场景:
- 数据存储周期长:面对历史数据的不断增加,存储成本也随之增加。
- 冷热数据访问频率及性能要求不同:热数据访问频率高且需要快速响应,而冷数据访问频率低且响应速度要求不高。
原理介绍
- 创建表:CloudTable Doris通过文件系统在本地数据目录创建目录。
- 写数据:调用文件系统相关功能,生成文件到本地数据目录下。
- 合并数据:定期读取数据文件rowset,判断数据时间戳和时间线。如果当前时间减去写入时间小于TTL设置的值,则文件不移动。如果当前时间减去写入时间大于TTL设置的值,则会在系统后台执行并调用OBS SDK数据写入OBS,随后将本地文件删除。
- 查询数据:用户在表上进行对应的查询时,Doris会根据对应Partition使用的Policy信息找到对应的OBS并行文件系统的相关路径,并根据不同Tablet下的Rowset信息下载查询所需的数据到本地进行运算。