PolarDB-X 数据 TTL 过期删除(三)| 学习笔记

本文涉及的产品
云原生数据库 PolarDB 分布式版,标准版 2核8GB
简介: 快速学习 PolarDB-X 数据 TTL 过期删除。

开发者学堂课程【PolarDB-X 开源分布式数据库进阶课程 :PolarDB-X 数据 TTL 过期删除(三)】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/1202/detail/18333


PolarDB-X 数据 TTL 过期删除


三、ttl 原理介绍

简单的说一下这一个表,这个表达式的话,它其实一个方言,感兴趣的话可以看一下这个表,你只要给他一个表达式,他会自动的来当你去计算他的含义,然后还是处于一些这样的可读的一些意思,刚刚都是 ttl 表的功能,这边如果大家对我们内核如何实现这么一些 dll 感兴趣的话,其实有个很方便的小技巧啊,我们在任何执行地调的时候都可以在他的前面加上一个 trace 指令,再进行一个收费式指令,它就可以显示出一个可视化的图,就像那右边展示的一样,这样的话就可以知道任何地点,他进行了哪些操作,他是以一个系列的 task 组成的,然后这些 task 跟我们开源代码中的 JAVA 源文件其实是对应的,然后也可以去通过这个方式来去我们的开源代码中搜索,相应的我去看看死机的代码,然后主要的代码的话,一些关键的类在 PPT 中展示,有兴趣的话可以按照这些信息来,是 polarDB-X 条语法它对应在我们每个物理表上创建出来的表,就会是这个样子。然后这边右边下面红框的范围其实就是因为我们左边定义了,所以他不会提前六个周期创建新的分区,然后红框上面的话是一些已有的分区,从 subway state 开始 Pay to local 跟 local partition 的内部逻辑其实就是这个滑动窗口的时间判断。那他做的时间判断之后,会把它翻译成针对我们数据节点上的一些对物理表的操作,对物理表的话其实是一个 reorganize 操作,比如说你要新建分区,其实就是把这个 pp max 这一个分区 organize 成多个的,但是力度的分区,那老的分区的话,其实就在会翻译成一个叫partition 的一个操作。

 

四、TTL 表的性能

最后再说一下这条表的性能,可能有些同学会顾虑到我们原先的物理表它是一个单表,但是用我的 ttl 表之后,我们所有的物理了都是变成一个分区表的,那这样会不会对我们的性能有所损害呢。其实经过测试的话,这是一个测试结果,可以发现对于程序数量越多,其实这个会下降。

image.png

最后再说一下这条表的性能,可能有些同学会顾虑到他原先的物理表它是一个单表,但是用的 ttl 表之后,我们所有的物理表都是变成一个分区表的,那这样会不会对我们的性能有所损害,其实,经过测试的话,这是一个测试结果,可以发现对于对于一个天天表相比于相同的表结构,但是不做贴条的划分,他的2t略有损伤,q S6有下降,但是是一个差距很小的一个情况,当然是97比100之类的,分区物理分区数量的越多,就是这个会下降的越多,但是整体的话,特别是检查场景是不会有太大差别的,那如果是全表扫描的话,刚刚说的是检查现在现在如果是全表扫描的话,他的q PS是会有一部分的下降的大平均的话大概会下降20%左右,但是如果你是一个范围查询,不是一个全表扫描的话,那我们知道他物理表其实也是有分区裁减的,他在特定场景上,他的性能其实有可能是反而会有所上升的,那最后的结论就是他的不管是按照物理根据划分,还是不用提前要表他物理表是一个单表,他的性能其实是不会有太多的差别的。

image.png

结论

当 DN 并未成为资源瓶颈时,Local Partition 表和普通表的性能差距很小。

不带 Local Partition 的拆分键时,性能损失约20%,最大吞吐量损失约50%(和分区成正比,数据量成及比)。

DN 资源够时,对客户端的变化是:RT 小幅增加。

带 Local Partition 的拆分键时,性能和吞吐量无明显差距,反而会有小幅提升。因为可以用时利用 INDEX 和PARTITION2 个线度做数据裁剪。

Local Partition 表,可利用拆分键时,AP 查询有优势。

相关文章
|
9天前
|
关系型数据库 MySQL 分布式数据库
PolarDB操作报错合集之在进行批量导出数据时,如何过滤掉视图并只导出表
在使用阿里云的PolarDB(包括PolarDB-X)时,用户可能会遇到各种操作报错。下面汇总了一些常见的报错情况及其可能的原因和解决办法:1.安装PolarDB-X报错、2.PolarDB安装后无法连接、3.PolarDB-X 使用rpm安装启动卡顿、4.PolarDB执行UPDATE/INSERT报错、5.DDL操作提示“Lock conflict”、6.数据集成时联通PolarDB报错、7.编译DN报错(RockyLinux)、8.CheckStorage报错(源数据库实例被删除)、9.嵌套事务错误(TDDL-4604)。
|
20天前
|
消息中间件 Java 关系型数据库
实时计算 Flink版操作报错合集之从 PostgreSQL 读取数据并写入 Kafka 时,遇到 "initial slot snapshot too large" 的错误,该怎么办
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
780 0
|
27天前
|
DataWorks 安全 关系型数据库
DataWorks产品使用合集之使用Flink CDC读取PostgreSQL数据时如何指定编码格式
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
4天前
|
关系型数据库 MySQL 数据库
关系型数据库mysql数据增量恢复
【7月更文挑战第3天】
13 2
|
4天前
|
关系型数据库 MySQL Shell
关系型数据库mysql数据完全恢复
【7月更文挑战第3天】
12 2
|
5天前
|
存储 关系型数据库 MySQL
|
10天前
|
关系型数据库 MySQL 分布式数据库
PolarDB产品使用问题之从MySQL迁移数据到PolarDB-X时,自定义函数不会自动迁移,该怎么办
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
|
10天前
|
关系型数据库 MySQL 分布式数据库
PolarDB产品使用问题之要验证MySQL迁移后的数据库数据与迁移前的数据一致性,该怎么办
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
PolarDB产品使用问题之要验证MySQL迁移后的数据库数据与迁移前的数据一致性,该怎么办
|
16天前
|
存储 关系型数据库 MySQL
关系型数据库mysql数据文件存储
【6月更文挑战第15天】
20 4
|
23天前
|
关系型数据库 5G PostgreSQL
postgreSQL 导出数据、导入
postgreSQL 导出数据、导入
28 1

热门文章

最新文章