本文介绍了TTL的功能和原理。
功能介绍
TTL(Time to Live,生存周期)功能,支持在创建表的DDL语句中指定local_partition_definition语法,创建一个TTL表。TTL表会将每个物理表按照时间进行分区,并通过定时任务进行管理,能够让冷数据在PolarDB分布式版中按照计划失效,减少对存储空间的占用。
适用场景
某些业务场景下,业务数据的增长很快,并且业务数据的热度随着时间推移会有明显的降低。这时候,如果数据一直存储在PolarDB分布式版中,既会占用存储空间,也会降低正常业务查询的效率,此种场景即可使用TTL表进行数据管理。
使用限制
- 仅PolarDB分布式版的5.4.13及以上版本支持该功能;
- TTL功能仅支持在分区表(mode='auto')中使用。
基本原理
TTL表的每个物理表都会按照时间做Range分区,所有GSI的物理表跟主表的分区方式一致。
随着时间的推移,新的分区会被创建,失效的分区会被删除,如下图所示:
说明 PolarDB分布式版默认会自动创建新分区和删除失效分区。您也可以在建表时禁用自动功能,通过DDL语句来手动创建或删除失效分区。

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

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




