《PolarDB-X开源分布式数据库实战进阶》——PolarDB-X的TTL表的使用和原理(2)

简介: 《PolarDB-X开源分布式数据库实战进阶》——PolarDB-X的TTL表的使用和原理(2)
+关注继续查看

《PolarDB-X开源分布式数据库实战进阶》——PolarDB-X的TTL表的使用和原理(1) https://developer.aliyun.com/article/1228589?groupCode=polardbforpg



image.png

 

TTL提供了视图,可以通过select*from information_schema.local_partitions 查看系统视图表,传入表名即可看到表中所有TTL分区。注意,TTL分区与数据分区不一样,数据分区为按照哈希、range分区,TTL分区按照时间分区。

 

上图显示共有三个分区,小于2022-11-1的数据会被路由到第一个分区,小于2022-12-1的数据会被路由到第二个分区,其他数据会被路由到最后一个分区。也显示了每个分区的失效时间,可以通过右侧命令将分区删除,或通过定时任务自动将分区删除。

 

 注意,如果分区没有过期,则即使执行删除分区命令,该分区也不会被删除,只有已经过期的分区才会被删除。

 

同样,如果多次调用allocate local partition命令,也不会无限创建新分区,而是会按照建表时定义的提前创建分区的时间,比如定义了提前创建3个分区,则最多只提前创建3个分区。

 

check table指令用于校验TTL分区的一致性。TTL功能与PolarDB-X的分区表功能正交,PolarDB-X的每个分区在数据节点上都是一个物理表,TTL负责对物理表再做分区。命令作用是校验PolarDB-X所有分区下物理表的物理分区是否相同。TTL默认会保证所有功能的一致性。

 image.png

 

所有TTL表与普通表、TTL表之间可以进行任意转换。

 

image.png

 

PolarDB-X定时任务框架接收到cron表达式后,会自动对其进行转换,展示为人类可读的语句,如上图所示。

 

image.png

 

如果对内核如何实现DDL感兴趣,可以在执行任何DDL时,在前面加上trace指令,然后再执行show trace指令,即可展示如上图所示的可视化图,可以看到DDL进行了哪些操作。它由一系列task组成,每一个task都与开源代码中Java源文件一一对应,也可以在开源代码中搜索相应class,查看主要代码。

 

image.png

 

创建新分区与失效老分区的内部逻辑是滑动窗口的时间判断。进行时间判断后会将其翻译为针对数据节点上对物理表的操作。新建分区的本质为reorganize操作,比如要新建分区,其本质为将pmax分区reorganize成多个更细粒度的分区。失效老分区的本质为drop partition操作。



《PolarDB-X开源分布式数据库实战进阶》——PolarDB-X的TTL表的使用和原理(3) https://developer.aliyun.com/article/1228585?groupCode=polardbforpg

相关实践学习
如何一键安装部署PolarDB-X
《PolarDB-X 动手实践》系列第一期,体验如何一键安装部署PolarDB-X。
相关文章
|
4月前
|
存储 SQL 运维
《PolarDB-X开源分布式数据库实战进阶》——PolarDB-X的部署与运维(2)
《PolarDB-X开源分布式数据库实战进阶》——PolarDB-X的部署与运维(2)
117 0
|
4月前
|
存储 弹性计算 运维
《PolarDB-X开源分布式数据库实战进阶》——PolarDB-X的部署与运维(3)
《PolarDB-X开源分布式数据库实战进阶》——PolarDB-X的部署与运维(3)
93 0
|
4月前
|
运维 Kubernetes 分布式数据库
《PolarDB-X开源分布式数据库实战进阶》——PolarDB-X的部署与运维(4)
《PolarDB-X开源分布式数据库实战进阶》——PolarDB-X的部署与运维(4)
89 0
|
4月前
|
弹性计算 运维 测试技术
《PolarDB-X开源分布式数据库实战进阶》——PolarDB-X的部署与运维(5)
《PolarDB-X开源分布式数据库实战进阶》——PolarDB-X的部署与运维(5)
76 0
|
4月前
|
SQL 存储 运维
《PolarDB-X开源分布式数据库实战进阶》——PolarDB-X的部署与运维(6)
《PolarDB-X开源分布式数据库实战进阶》——PolarDB-X的部署与运维(6)
82 0
|
4月前
|
存储 运维 分布式数据库
《PolarDB-X开源分布式数据库实战进阶》——PolarDB-X的部署与运维(7)
《PolarDB-X开源分布式数据库实战进阶》——PolarDB-X的部署与运维(7)
61 0
|
4月前
|
运维 负载均衡 分布式数据库
《PolarDB-X开源分布式数据库实战进阶》——PolarDB-X的部署与运维(8)
《PolarDB-X开源分布式数据库实战进阶》——PolarDB-X的部署与运维(8)
69 1
|
4月前
|
存储 Kubernetes Java
《PolarDB-X开源分布式数据库实战进阶》——PolarDB-X数据导入导出(1)
《PolarDB-X开源分布式数据库实战进阶》——PolarDB-X数据导入导出(1)
85 0
|
4月前
|
存储 SQL 关系型数据库
《PolarDB-X开源分布式数据库实战进阶》——PolarDB-X数据导入导出(2)
《PolarDB-X开源分布式数据库实战进阶》——PolarDB-X数据导入导出(2)
84 0
|
4月前
|
SQL 关系型数据库 MySQL
《PolarDB-X开源分布式数据库实战进阶》——PolarDB-X数据导入导出(3)
《PolarDB-X开源分布式数据库实战进阶》——PolarDB-X数据导入导出(3)
63 0
热门文章
最新文章
相关产品
云数据库 RDS PostgreSQL 版
推荐文章
更多