云原生多模数据库 Lindorm使用容量型云存储作为冷数据存储介质。本文介绍时序引擎的冷数据归档功能的使用方法。
功能概要
在时序数据库持续写入的场景下,早先写入的时序数据会随着时间推移,查询频度逐渐降低。这样的数据通常被称为“冷数据”,与之相对的概念被称为“热数据”。随着冷数据体量的不断变大,存储成本也会水涨船高。所以降低冷数据存储成本,提升热数据读取性能,对于使用时序引擎的企业用户具有现实意义。
在Lindorm时序引擎中,随着时间的不断推移,数据呈现出很明显的冷温热分层。其相应的概念如下:
热数据
最近写入的时序数据。这些时序数据的时间戳往往距离当前很近,在时序应用的场景中会被频繁查询。
温数据
已写入一段时间的数据。这些时序数据查询的频率相对较低。
冷数据
已经写入了很长时间的数据,通常可以视作归档数据。在时序应用的场景中,这些数据的数据量往往非常庞大,但是极少用于查询。
基于冷温热数据的数据量以及查询频度的特点,Lindorm时序引擎实现了对时序数据冷温热分层存储。如下所示:
对于数据量最大的冷数据,时序引擎会自动根据用户设置的基于业务时间戳的冷热分界线自动将冷数据归档到冷存储中。当需要查询冷数据时,用户可以无感知地按正常查询的方式进行冷数据查询。云原生多模数据库 Lindorm使用容量型云存储作为冷数据存储介质。容量型云存储的读取性能说明,请参见容量型云存储读取性能说明。
开通冷存储
时序引擎实例创建后本身就具备了对热数据和温数据的分层管理能力。但是对于冷数据,如果需要启用上文所说的冷数据自动归档到冷存储介质的能力,则需要预先在Lindorm实例层面开通冷存储。
开通冷存储的方法如下:
申购Lindorm实例时,在购买页面决定是否购买冷存储并决定冷存储的大小。
创建实例时没有购买冷存的情况下,也可在实例创建后通过Lindorm实例的管理控制台开通冷存储。管理控制台上开通冷存储的入口如下所示。
开通了冷存储后,即可通过时序引擎设置冷热分界线来控制冷数据自动归档至冷存储介质了。
配置冷热分界线
冷热分界线的含义
冷热分界线是一个在业务层面定义区分数据冷热的分界线,由用户指定。即用户根据数据存储量和查询时间覆盖范围,确定多长时间之前的数据需要转移到冷存储。
在时序引擎中,冷热分界线的设置单位是天。含义是某条时序数据的时间戳如果满足下述条件,则该数据被视作冷数据。
冷数据的判定标准如下:
当前时间 - 数据的时间戳 >= 冷热分界线(天)
设置冷热分界线的方法
有以下两个方式设置冷热分界线:
通过SQL语句在Database的创建或修改中设置冷热分界线。
说明通过SQL设置冷热分界线的方法可参见 CREATE DATABASE 或 ALTER DATABASE。
通过时序引擎的管理控制台设置Database的冷热分界线。
说明通过管理控制台设置冷热分界线的方法可参见 在管理控制台上管理Database 。
查询冷数据
通过正常的SQL语句查询即可,无需刻意区分。但需注意的是,如果被查询的数据已经归档到冷存储介质上,则查询的延迟将会增加。