当要实现自动清理时序表中的历史数据时,您可以使用数据生命周期(TTL)功能有效地管理时序数据,减少数据存储空间,降低存储成本。配置TTL后,如果希望延长数据保存时间,您可以修改TTL。
注意事项
数据清理后无法恢复,请谨慎操作。
通过配置TTL清理历史数据前,如果需要备份历史数据,请通过DataWorks数据集成服务导出时序数据到OSS中存储。具体操作,请参见数据导出到OSS概述。
修改TTL前,您可以调用DescribeTimeseriesTable接口查看当前时序数据生命周期。
数据生命周期
时序模型中的数据包括时间线元数据和时序表数据,分别由时间线元数据表和时间线数据表存储。表格存储分别提供了时间线元数据生命周期和时序表数据生命周期用于管理相应数据。
时序表数据生命周期
时序表数据生命周期是时间线数据表的一个属性,即时序表数据的保存时间,单位为秒。当时序表数据的保留时间超过设置的TTL时,系统会自动异步清理超过TTL的数据。
例如数据表的TTL设置为86400(一天),在2016-07-21 00:00:00 UTC+8
时,时序表中数据早于2016-07-20 00:00:00 UTC+8
的时间线均会过期,系统会自动异步清理对应过期数据。
创建时序表时,如果未设置TTL,则系统会使用默认值-1(表示数据永不过期),您也可以自定义TTL。创建时序表后,您可以通过UpdateTimeseriesTable接口修改TTL。
超过TTL的过期数据为无效数据,即使系统还未删除数据,用户已无法查询对应数据。
当调小TTL时,时序表中可能会有数据过期,系统会异步删除对应过期数据。
当调大TTL时,如果系统还未删除在旧的TTL之外以前的时序表数据,且对应时序表数据在新设的TTL中,则对应时序表数据可以重新查询。
时间线元数据生命周期
时间线元数据生命周期是时间线元数据表的一个属性,即时间线元数据的保存时间,单位为秒。当时间线元数据的保留时间超过设置的TTL时,系统会自动异步清理超过TTL的时间线元数据,不会删除时序表数据。
当某些时间线元数据过期,但是相应时间线数据未过期时,通过GetTimeseriesData接口指定时间线标识进行查询时仍可查询到时序表数据。
创建时序表时,如果未设置TTL,则系统会使用默认值-1(表示数据永不过期),您也可以自定义TTL。创建时序表后,您可以通过UpdateTimeseriesTable接口修改TTL。
时间线元数据中有一个时间线元数据属性列(_attributes)支持进行更新,但目前仅在时间线元数据生命周期为-1(数据永不过期)时支持该属性的更新。
如果要将时间线元数据生命周期从-1修改为大于等于7天,请确认业务逻辑中不需要更新时间线元数据属性,并将时间线元数据属性是否允许更新配置为否。
如果要将时间线元数据属性是否允许更新配置为是,则您需要同步将时间线元数据生命周期调整为-1。
超过TTL的过期数据为无效数据,即使系统还未删除时间线元数据,用户已无法检索到对应时间线元数据。
当调小TTL时,时间线元数据表中可能会有时间线元数据过期,系统会异步删除对应过期数据。
当调大TTL时,如果系统还未删除在旧的TTL之外以前的时间线元数据,且对应时间线元数据在新设的TTL中,则对应时间线元数据可以重新检索到。
使用方式
创建时序表时,您可以配置数据生命周期。您也可以在创建时序表后修改数据生命周期。此处以创建时序表后修改数据生命周期为例介绍。您可以使用控制台、命令行工具或者SDK进行数据生命周期修改操作。
关于在创建数据表时进行数据生命周期配置的具体操作,请参见时序表操作。
通过不同使用方式进行操作时支持的功能存在差异,请以实际为准。