《PolarDB-X开源分布式数据库实战进阶》——PolarDB-X冷热数据归档(4) https://developer.aliyun.com/article/1228561?groupCode=polardbforpg
首先,创建一张TTL表t_order,语义为:从6月1号开始,每隔一个月建一张local partition表,两个月后过期,会预先分配5个月的分区。
往表里导入数据。共导入1408行数据。
查看表t_order的时间分区和数据分布,结果如上图。6月至今有表需要过期,会在运维窗口过期。由于现在不是运维窗口,数据依然存在InnoDB表里。
进行数据绑定。t_order表的热数据会逐渐过期并存入t_order_oss表。手动执行过期命令,查看表的数据分布。结果显示5月2号的113条数据已经不在原表中,而是存在于t_order_oss表。
使用手动触发的方式模拟冷数据的自动过期。首先修改运维窗口,解除运维窗口的限制。自动过期均通过定时任务的形式实现,上图可见t_order表的自动过期任务默认从1点开始,Schedule_ID为5。通过fire schedule result 5手动触发过期。
执行完后查看结果,9月1号、8月1号和7月1号三个分片的数据均已过期。查看数据的分布情况,之前6月2号、7月2号和8月2号的三份数据均已经从t_order表中被过期到t_order_oss表中。
查看t_order表的数据分布,显示当前最老的表为10月1号,将会在12月1号过期。