本文介绍了TTL的功能和原理。

功能介绍

TTL(Time to Live,生存周期)功能,支持在创建表的DDL语句中指定local_partition_definition语法,创建一个TTL表。TTL表会将每个物理表按照时间进行分区,并通过定时任务进行管理,能够让冷数据在PolarDB-X中按照计划失效,减少对存储空间的占用。

适用场景

某些业务场景下,业务数据的增长很快,并且业务数据的热度随着时间推移会有明显的降低。这时候,如果数据一直存储在PolarDB-X中,既会占用存储空间,也会降低正常业务查询的效率,此种场景即可使用TTL表进行数据管理。

使用限制

  • PolarDB-X的5.4.13及以上版本支持该功能;
  • TTL功能仅支持在分区表(mode='auto')中使用。

基本原理

TTL表的每个物理表都会按照时间做Range分区,所有GSI的物理表跟主表的分区方式一致。

随着时间的推移,新的分区会被创建,失效的分区会被删除,如下图所示:

说明 PolarDB-X默认会自动创建新分区和删除失效分区。您也可以在建表时禁用自动功能,通过DDL语句来手动创建或删除失效分区。
456789

一个周期后,创建的新分区和失效的分区,如下图所示:

456789