实践教程之使用 PolarDB-X 的 TTL 表功能

本文涉及的产品
云原生数据库 PolarDB 分布式版,标准版 2核8GB
简介: PolarDB-X 为了方便用户体验,提供了免费的实验环境,您可以在实验环境里体验 PolarDB-X 的安装部署和各种内核特性。除了免费的实验,PolarDB-X 也提供免费的视频课程,手把手教你玩转 PolarDB-X 分布式数据库。

PolarDB-X 为了方便用户体验,提供了免费的实验环境,您可以在实验环境里体验 PolarDB-X 的安装部署和各种内核特性。除了免费的实验,PolarDB-X 也提供免费的视频课程,手把手教你玩转 PolarDB-X 分布式数据库。

本期实验将指导您如何进行PolarDB-X分区管理

本期免费实验地址

本期教学视频地址


前置准备

假设已经根据前一讲内容完成了PolarDB-X的搭建部署,使用PolarDB-X Operator安装PolarDB-X,并且可以成功链接上PolarDB-X数据库。


连接 PolarDB-X 集群

本步骤将指导您如何连接通过K8s部署的PolarDB-X集群。

1.执行如下命令,查看PolarDB-X集群登录密码。

kubectl get secret polardb-x -o jsonpath="{.data['polardbx_root']}" | base64 -d - | xargs echo "Password: "


返回结果如下,您可以查看到PolarDB-X集群登录密码。

v2-4060459f365267b1ebfbc07a32bd45d2_r.png

2.单击右上角的+图标,创建新的终端二,执行如下命令,将PolarDB-X集群端口转发到3306端口。

使用MySQL Client方式登录通过k8s部署的PolarDB-X集群前,您需要进行获取PolarDB-X集群登录密码和端口转发。

su galaxykube kubectl port-forward svc/polardb-x 3306


m1.png

m2.png

3.执行如下命令,连接PolarDB-X集群。

说明:

  • 您需要将<PolarDB-X集群登录密码>替换为实际获取到的PolarDB-X集群登录密码。
  • 如遇到mysql: [Warning] Using a password on the command line interface can be insecure.ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system error: 0报错,请您稍等一分钟,重新转发端口并连接PolarDB-X集群即可。
mysql -h127.0.0.1 -P3306 -upolardbx_root -p<PolarDB-X集群登录密码>


TTL功能使用

1.创建数据库。

执行如下SQL语句,创建数据库并使用。

CREATE DATABASE local_partition mode='auto'; use local_partition;


2.创建TTL表。

学习创建TTL表的CREATE TABLE语法,请参见创建TTL表

参照文档,执行如下SQL预计,创建一个分区表,按照月为粒度划分分区,分区12个月后失效。

需要掌握几个关键参数的含义:INTERVAL、EXPIRE AFTER、PRE ALLOCATE。

CREATE TABLE t_order (
    id bigint NOT NULL AUTO_INCREMENT,
    gmt_modified DATETIME NOT NULL,
    PRIMARY KEY (id, gmt_modified)
)
LOCAL PARTITION BY RANGE (gmt_modified)
STARTWITH '2021-01-01'
INTERVAL 1 MONTH
EXPIRE AFTER 12
PRE ALLOCATE 3
PIVOTDATE NOW()
DISABLE SCHEDULE
;
SHOW FULL CREATE TABLE t_order\G;


3.查看TTL表的元数据。

information_schema.local_partitions视图记录了所有的物理分区。执行如下SQL语句,可以通过select语句查询物理分区的过期时间,以及数据的范围。

select * from information_schema.local_partitions where table_name = 't_order' and table_schema='local_partition'\G;


4.创建新的物理时间分区

学习为TTL表创建新的物理时间分区,请参见变更TTL表

通过DDL命令提前创建物理分区。此命令多次调用不会无限制创建新分区,只会创建预定时间内的新分区。如果创建了TTL定时任务,TTL定时任务会自动调用这条命令。

ALTER TABLE t_order ALLOCATE LOCAL PARTITION;


5.失效过期的无论时间分区。

通过DDL命令删除已过期的物理分区,此命令只会删除已经过期的分区。

ALTER TABLE t_order EXPIRE LOCAL PARTITION;  select * from information_schema.local_partitions where table_name = 't_order' and table_schema='local_partition'\G;


6.创建定时任务。

上述2条DDL命令可以使得TTL表的物理分区按照时间滚动,但是仍然需要我们手动调用。

TTL提供了定时任务功能,可以自动化地进行分区滚动。

学习TTL表创建、查看及删除定时任务的方法,请参见TTL表的定时任务

CREATE SCHEDULE  FOR LOCAL_PARTITION ON `local_partition`.`t_order`  CRON '0 0 12 1/5 * ?'  TIMEZONE '+08:00';


7.查看定时任务。

查看目前已创建的定时任务。

SELECT * FROM INFORMATION_SCHEMA.LOCAL_PARTITIONS_SCHEDULE\G;


8.手动触发一次定时任务。

set global BACKGROUND_TTL_EXPIRE_END_TIME="23:59"; FIRE SCHEDULE <id>;


9.查看定时任务执行结果。

SHOW SCHEDULE RESULT <id>;


10.删除定时任务

根据定时任务的id,删除定时任务。

DROP SCHEDULE <id>;


11.TTL表转换。

TTL表可以转换成普通表、普通表也可以转换成TTL表

学习TTL表转换的方法,请参见变更TTL表

ALTER TABLE t_order REMOVE LOCAL PARTITIONING;
ALTER TABLE t_order
LOCAL PARTITION BY RANGE (gmt_modified)
INTERVAL 1 MONTH
EXPIRE AFTER 36
PRE ALLOCATE 1
;


本文来源:PolarDB-X知乎号


相关实践学习
快速体验PolarDB开源数据库
本实验环境已内置PostgreSQL数据库以及PolarDB开源数据库:PolarDB PostgreSQL版和PolarDB分布式版,支持一键拉起使用,方便各位开发者学习使用。
相关文章
|
关系型数据库 测试技术 数据库连接
实践教程之使用PolarDB-X进行冷热数据归档
PolarDB-X 为了方便用户体验,提供了免费的实验环境,您可以在实验环境里体验 PolarDB-X 的安装部署和各种内核特性。除了免费的实验,PolarDB-X 也提供免费的视频课程,手把手教你玩转 PolarDB-X 分布式数据库。
|
6月前
|
SQL canal 算法
PolarDB-X最佳实践:如何设计一张订单表
本文主要内容是如何使用全局索引与CO_HASH分区算法(CO_HASH),实现高效的多维度查询。
|
6月前
|
SQL 关系型数据库 测试技术
实践教程之在PolarDB-X中进行Online DDL
PolarDB-X 为了方便用户体验,提供了免费的实验环境,您可以在实验环境里体验 PolarDB-X 的安装部署和各种内核特性。除了免费的实验,PolarDB-X 也提供免费的视频课程,手把手教你玩转 PolarDB-X 分布式数据库。
120 0
实践教程之在PolarDB-X中进行Online DDL
|
6月前
|
SQL canal 大数据
实践教程之将PolarDB-X与大数据等系统互通
PolarDB-X 为了方便用户体验,提供了免费的实验环境,您可以在实验环境里体验 PolarDB-X 的安装部署和各种内核特性。除了免费的实验,PolarDB-X 也提供免费的视频课程,手把手教你玩转 PolarDB-X 分布式数据库。
121 0
实践教程之将PolarDB-X与大数据等系统互通
|
6月前
|
SQL Kubernetes 关系型数据库
实践教程之快速安装部署PolarDB-X
PolarDB-X 为了方便用户体验,提供了免费的实验环境,您可以在实验环境里体验 PolarDB-X 的安装部署和各种内核特性。除了免费的实验,PolarDB-X 也提供免费的视频课程,手把手教你玩转 PolarDB-X 分布式数据库。
1486 0
实践教程之快速安装部署PolarDB-X
|
6月前
|
Java 数据库 数据安全/隐私保护
实践教程之快速使用PolarDB-X
PolarDB-X 为了方便用户体验,提供了免费的实验环境,您可以在实验环境里体验 PolarDB-X 的安装部署和各种内核特性。除了免费的实验,PolarDB-X 也提供免费的视频课程,手把手教你玩转 PolarDB-X 分布式数据库。
188 0
实践教程之快速使用PolarDB-X
|
6月前
|
SQL 弹性计算 测试技术
实践教程之如何在PolarDB-X中优化慢SQL
PolarDB-X 为了方便用户体验,提供了免费的实验环境,您可以在实验环境里体验 PolarDB-X 的安装部署和各种内核特性。除了免费的实验,PolarDB-X 也提供免费的视频课程,手把手教你玩转 PolarDB-X 分布式数据库。本期实验将指导您使用对 PolarDB-X 进行慢SQL优化。...
117 0
实践教程之如何在PolarDB-X中优化慢SQL
|
6月前
|
SQL 弹性计算 分布式数据库
实践教程之如何对PolarDB-X集群做动态扩缩容
PolarDB-X 为了方便用户体验,提供了免费的实验环境,您可以在实验环境里体验 PolarDB-X 的安装部署和各种内核特性。除了免费的实验,PolarDB-X 也提供免费的视频课程,手把手教你玩转 PolarDB-X 分布式数据库。本期实验将指导您使用对 PolarDB-X 进行动态扩缩容。本...
118 0
实践教程之如何对PolarDB-X集群做动态扩缩容
|
6月前
|
关系型数据库 分布式数据库 数据库
【PolarDB开源】PolarDB-X源码解读:分布式事务处理机制揭秘
【5月更文挑战第20天】PolarDB-X,PolarDB家族的一员,专注于大规模分布式事务处理,采用2PC协议保证ACID特性。源码解析揭示其通过预提交、一致性快照隔离和乐观锁优化事务性能,以及利用事务日志进行故障恢复。深入理解其事务处理机制对开发者掌握分布式数据库核心技术至关重要。随着开源社区的发展,更多优化方案将涌现,助力构建更强大的分布式数据库系统。
219 6
|
4月前
|
关系型数据库 分布式数据库 PolarDB
PolarDB产品使用问题之如何基于Docker进行PolarDB-X单机模拟部署
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
PolarDB产品使用问题之如何基于Docker进行PolarDB-X单机模拟部署

相关产品

  • 云原生分布式数据库 PolarDB-X
  • 下一篇
    无影云桌面