《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

相关文章
|
12月前
|
Cloud Native 关系型数据库 MySQL
免费体验!高效实现自建 MySQL 数据库平滑迁移至 PolarDB-X
PolarDB-X 是阿里云推出的云原生分布式数据库,支持PB级存储扩展、高并发访问与数据强一致,助力企业实现MySQL平滑迁移。现已开放免费体验,点击即享高效、稳定的数据库升级方案。
免费体验!高效实现自建 MySQL 数据库平滑迁移至 PolarDB-X
|
NoSQL 算法 安全
分布式锁—1.原理算法和使用建议
本文主要探讨了Redis分布式锁的八大问题,包括非原子操作、忘记释放锁、释放其他线程的锁、加锁失败处理、锁重入问题、锁竞争问题、锁超时失效及主从复制问题,并提供了相应的优化措施。接着分析了Redis的RedLock算法,讨论其优缺点以及分布式专家Martin对其的质疑。此外,文章对比了基于Redis和Zookeeper(zk)的分布式锁实现原理,包括获取与释放锁的具体流程。最后总结了两种分布式锁的适用场景及使用建议,指出Redis分布式锁虽有性能优势但模型不够健壮,而zk分布式锁更稳定但部署成本较高。实际应用中需根据业务需求权衡选择。
|
运维 NoSQL 算法
【📕分布式锁通关指南 04】redis分布式锁的细节问题以及RedLock算法原理
本文深入探讨了基于Redis实现分布式锁时遇到的细节问题及解决方案。首先,针对锁续期问题,提出了通过独立服务、获取锁进程自己续期和异步线程三种方式,并详细介绍了如何利用Lua脚本和守护线程实现自动续期。接着,解决了锁阻塞问题,引入了带超时时间的`tryLock`机制,确保在高并发场景下不会无限等待锁。最后,作为知识扩展,讲解了RedLock算法原理及其在实际业务中的局限性。文章强调,在并发量不高的场景中手写分布式锁可行,但推荐使用更成熟的Redisson框架来实现分布式锁,以保证系统的稳定性和可靠性。
1383 0
【📕分布式锁通关指南 04】redis分布式锁的细节问题以及RedLock算法原理
|
存储 Dubbo Java
分布式 RPC 底层原理详解,看这篇就够了!
本文详解分布式RPC的底层原理与系统设计,大厂面试高频,建议收藏。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
分布式 RPC 底层原理详解,看这篇就够了!
|
关系型数据库 MySQL 分布式数据库
[PolarDB实操课] 05.通过源码部署PolarDB-X标准版
本课程介绍如何通过源码部署PolarDB-X标准版,涵盖基于Paxos的MySQL三副本工作原理和技术特点。主要内容包括: 1. **Paxos三副本工作原理**:讲解Leader和Follower节点的角色及数据同步机制。 2. **技术特点**:强调高性能、数据不丢失(RPO=0)和自动HA切换。 3. **源码部署步骤**:详细演示从编译生成RPM包到启动DN节点的过程,包括配置my.cnf文件和初始化数据库。 4. **高可用体验**:通过三台机器模拟三副本集群,展示Leader选举和故障转移机制,确保数据一致性和服务可用性。
697 1
|
关系型数据库 编译器 分布式数据库
PolarDB实操课] 04.通过源码部署PolarDB-X企业版
本次课程由PolarDB开源架构师王江颖分享,详细介绍了通过源码部署PolarDB-X企业版的全过程。主要内容包括: 1. **编译基础** 2. **使用源码编译部署PolarDB-X企业版** 3. **演示实例**:通过阿里云ECS进行实际操作演示,从创建用户、赋予权限到最终启动并连接PolarDB-X数据库,展示了完整的部署过程。 4. **总结**
577 0
|
机器学习/深度学习 存储 运维
分布式机器学习系统:设计原理、优化策略与实践经验
本文详细探讨了分布式机器学习系统的发展现状与挑战,重点分析了数据并行、模型并行等核心训练范式,以及参数服务器、优化器等关键组件的设计与实现。文章还深入讨论了混合精度训练、梯度累积、ZeRO优化器等高级特性,旨在提供一套全面的技术解决方案,以应对超大规模模型训练中的计算、存储及通信挑战。
1040 4
|
分布式计算 Hadoop 网络安全
Hadoop-08-HDFS集群 基础知识 命令行上机实操 hadoop fs 分布式文件系统 读写原理 读流程与写流程 基本语法上传下载拷贝移动文件
Hadoop-08-HDFS集群 基础知识 命令行上机实操 hadoop fs 分布式文件系统 读写原理 读流程与写流程 基本语法上传下载拷贝移动文件
368 1
|
存储 机器学习/深度学习 缓存
Hadoop-07-HDFS集群 基础知识 分布式文件系统 读写原理 读流程与写流程 基本语法上传下载拷贝移动文件
Hadoop-07-HDFS集群 基础知识 分布式文件系统 读写原理 读流程与写流程 基本语法上传下载拷贝移动文件
550 1
|
存储 缓存 负载均衡
【PolarDB-X 技术揭秘】Lizard B+tree:揭秘分布式数据库索引优化的终极奥秘!
【8月更文挑战第25天】PolarDB-X是阿里云的一款分布式数据库产品,其核心组件Lizard B+tree针对分布式环境优化,解决了传统B+tree面临的数据分片与跨节点查询等问题。Lizard B+tree通过一致性哈希实现数据分片,确保分布式一致性;智能分区实现了负载均衡;高效的搜索算法与缓存机制降低了查询延迟;副本机制确保了系统的高可用性。此外,PolarDB-X通过自适应分支因子、缓存优化、异步写入、数据压缩和智能分片等策略进一步提升了Lizard B+tree的性能,使其能够在分布式环境下提供高性能的索引服务。这些优化不仅提高了查询速度,还确保了系统的稳定性和可靠性。
442 5

相关产品

  • 云原生数据库 PolarDB