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

本文涉及的产品
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
云原生数据库 PolarDB MySQL 版,通用型 2核4GB 50GB
简介: 《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开源数据库
本实验环境已内置PostgreSQL数据库以及PolarDB开源数据库:PolarDB PostgreSQL版和PolarDB分布式版,支持一键拉起使用,方便各位开发者学习使用。
相关文章
|
1月前
|
缓存 算法 关系型数据库
Mysql(3)—数据库相关概念及工作原理
数据库是一个以某种有组织的方式存储的数据集合。它通常包括一个或多个不同的主题领域或用途的数据表。
50 5
Mysql(3)—数据库相关概念及工作原理
|
16天前
|
存储 Java 关系型数据库
在Java开发中,数据库连接是应用与数据交互的关键环节。本文通过案例分析,深入探讨Java连接池的原理与最佳实践
在Java开发中,数据库连接是应用与数据交互的关键环节。本文通过案例分析,深入探讨Java连接池的原理与最佳实践,包括连接创建、分配、复用和释放等操作,并通过电商应用实例展示了如何选择合适的连接池库(如HikariCP)和配置参数,实现高效、稳定的数据库连接管理。
33 2
|
1月前
|
SQL 关系型数据库 数据库
SQL数据库:核心原理与应用实践
随着信息技术的飞速发展,数据库管理系统已成为各类组织和企业中不可或缺的核心组件。在众多数据库管理系统中,SQL(结构化查询语言)数据库以其强大的数据管理能力和灵活性,广泛应用于各类业务场景。本文将深入探讨SQL数据库的基本原理、核心特性以及实际应用。一、SQL数据库概述SQL数据库是一种关系型数据库
49 5
|
1月前
|
SQL 关系型数据库 MySQL
sql注入原理与实战(三)数据库操作
sql注入原理与实战(三)数据库操作
sql注入原理与实战(三)数据库操作
|
1月前
|
SQL 存储 Java
sql注入原理与实战(二)数据库原理
sql注入原理与实战(二)数据库原理
|
3月前
|
存储 缓存 负载均衡
【PolarDB-X 技术揭秘】Lizard B+tree:揭秘分布式数据库索引优化的终极奥秘!
【8月更文挑战第25天】PolarDB-X是阿里云的一款分布式数据库产品,其核心组件Lizard B+tree针对分布式环境优化,解决了传统B+tree面临的数据分片与跨节点查询等问题。Lizard B+tree通过一致性哈希实现数据分片,确保分布式一致性;智能分区实现了负载均衡;高效的搜索算法与缓存机制降低了查询延迟;副本机制确保了系统的高可用性。此外,PolarDB-X通过自适应分支因子、缓存优化、异步写入、数据压缩和智能分片等策略进一步提升了Lizard B+tree的性能,使其能够在分布式环境下提供高性能的索引服务。这些优化不仅提高了查询速度,还确保了系统的稳定性和可靠性。
90 5
|
3月前
|
消息中间件 Kafka 数据库
深入理解Kafka的数据一致性原理及其与传统数据库的对比
【8月更文挑战第24天】在分布式系统中,确保数据一致性至关重要。传统数据库利用ACID原则保障事务完整性;相比之下,Kafka作为高性能消息队列,采用副本机制与日志结构确保数据一致性。通过同步所有副本上的数据、维护消息顺序以及支持生产者的幂等性操作,Kafka在不牺牲性能的前提下实现了高可用性和数据可靠性。这些特性使Kafka成为处理大规模数据流的理想工具。
81 6
|
3月前
|
C# UED 定位技术
WPF控件大全:初学者必读,掌握控件使用技巧,让你的应用程序更上一层楼!
【8月更文挑战第31天】在WPF应用程序开发中,控件是实现用户界面交互的关键元素。WPF提供了丰富的控件库,包括基础控件(如`Button`、`TextBox`)、布局控件(如`StackPanel`、`Grid`)、数据绑定控件(如`ListBox`、`DataGrid`)等。本文将介绍这些控件的基本分类及使用技巧,并通过示例代码展示如何在项目中应用。合理选择控件并利用布局控件和数据绑定功能,可以提升用户体验和程序性能。
65 0
|
3月前
|
存储 NoSQL 关系型数据库
Web中的数据库:原理、应用与代码实现
Web中的数据库:原理、应用与代码实现
107 0
|
8天前
|
SQL 关系型数据库 MySQL
go语言数据库中mysql驱动安装
【11月更文挑战第2天】
23 4

热门文章

最新文章

相关产品

  • 云原生数据库 PolarDB