暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

开源新版本 | PolarDB-X v2.4.1 核心特性 ~ 数据TTL

原创 polardb云校长 2024-12-30
227

在实际生产中,有些业务只希望保留最近一段时间的数据(热数据),并对于使用频率很低且不断积累的过期数据(冷数据)采用存储成本更低的方式保存,同时又可以利用这些冷数据进行分析统计业务。

综上所述,业务对处理冷数据,主要有以下需求:

  • 可以定时清理冷数据。
  • 更低的冷数据存储成本。
  • 归档后仍然可以供后台业务进行分析统计。

PolarDB-X v2.4.1提供了全新的数据TTL能力,支持行级、分区级的数据过期清理、归档等,可以结合列存索引适配oss对象存储,可以提供更灵活的数据TTL。

整个TTL的使用可以分为三部分:

  • 已有的数据表,配置TTL策略,比如:指定TTL的时间列及其数据的存活时间
  • 定义TTL的清理任务,比如:主动清理或者定时自动清理,及关注清理任务的状态
  • 定义数据归档,比如:TTL默认可以只做数据清理,但也可以额外配置被清理的数据进行转储归档

配置TTL策略,操作例子:

# 针对已有的数据表,动态配置TTL
ALTER TABLE `orders_test`
MODIFY TTL
SET
TTL_EXPR = `date_field` EXPIRE AFTER 2 MONTH TIMEZONE '+08:00';

指定 orders_test表的date_field列为TTL定义的时间列,只保存最近两个月的数据(数据过期时间为2个月),定时清理任务执行的时区为东八区

定义TTL的清理任务,操作例子:

  • 手动执行
# 手动执行
ALTER TABLE `orders_test` CLEANUP EXPIRED DATA;
  • 定时自动执行
# 定时执行,指定为每天的凌晨2点运行数据清理
ALTER TABLE `orders_test` MODIFY TTL \
SET TTL_JOB = CRON '0 0 2 */1 * ? *' TIMEZONE '+08:00';

定义数据归档,操作例子:

# 创建数据归档的数据空间
CREATE TABLE `orders_test_archive`
LIKE `orders_test`
ENGINE = 'Columnar' ARCHIVE_MODE = 'TTL';

注意:

  • ENGINE的值必须为'Columnar',不允许其他值,代表使用列存引擎
  • 如果对原主库执行了DDL变更,比如加列,数据归档表也会自动执行加列,可以确保后续的归档任务不中断

更多使用和原理,请参考文档:

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

评论