Lindorm支持冷热分离功能,将数据分类存储在不同介质上,有效降低存储成本。
背景信息
在海量大数据场景下,一张表中往往存储着大量的历史数据,如订单数据或者监控数据。随着时间的推移,这些数据被访问的频率会逐渐降低,最终被搁置。减少这部分数据的存储成本,成为一个新的问题。为解决这一问题同时降低存储成本,Lindorm冷热分离功能应运而生。冷热分离功能支持将冷热数据存储在不同的介质上,冷存储的存储类型为容量型存储,热存储的存储类型为标准型存储、性能性存储、本地SSD盘或本地HDD盘。冷存储的价格仅为标准型存储的20%,大大降低了存储成本。
原理简介
在功能实现上,Lindorm支持对同一张表的数据进行冷热分离存储。Lindorm会根据时间戳、自定义时间列和冷热分界线,自动将数据存储在热存储或冷存储中。新写入数据最初会保存在热存储上,随着时间的推移分批向冷存储迁移。
在访问方式上,冷热分离表和普通表几乎没有任何差异,操作简单且易上手。在查询的过程中,只需要配置Hint或时间范围等相关参数,即可限制是否只查询热数据。
Lindorm目前支持的冷热分离方式有以下两种:
- 按自定义时间列冷热分离:通过设置自定义时间列和冷热分离时间点,将数据分别存储在冷存储或热存储中。如果自定义时间列中未写入数据,则数据会被全部归档至热存储中。具体内容,请参见按自定义时间列冷热分离。
- 按时间戳冷热分离:以时间戳为条件,冷热分离时间点为依据对数据进行归档。未设置自定义时间戳时,默认时间戳的值为数据写入时间。具体内容,请参见按时间戳冷热分离。
使用限制
- 按自定义时间列冷热分离:仅支持Lindorm SQL,不支持HBase兼容使用方式。推荐Lindorm SQL用户使用该方式。
- 按时间戳冷热分离:支持Lindorm SQL和HBase兼容使用方式。适用于无法设置自定义时间列的场景。推荐使用HBase接口的用户使用该方式。