实践教程之使用 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-X
《PolarDB-X 动手实践》系列第一期,体验如何一键安装部署 PolarDB-X。
相关文章
|
7月前
|
关系型数据库 测试技术 数据库连接
实践教程之使用PolarDB-X进行冷热数据归档
PolarDB-X 为了方便用户体验,提供了免费的实验环境,您可以在实验环境里体验 PolarDB-X 的安装部署和各种内核特性。除了免费的实验,PolarDB-X 也提供免费的视频课程,手把手教你玩转 PolarDB-X 分布式数据库。
|
4天前
|
SQL canal 算法
PolarDB-X最佳实践:如何设计一张订单表
本文主要内容是如何使用全局索引与CO_HASH分区算法(CO_HASH),实现高效的多维度查询。
|
10月前
|
SQL 存储 分布式数据库
实践教程之PolarDB-X分区管理
PolarDB-X 为了方便用户体验,提供了免费的实验环境,您可以在实验环境里体验 PolarDB-X 的安装部署和各种内核特性。除了免费的实验,PolarDB-X 也提供免费的视频课程,手把手教你玩转 PolarDB-X 分布式数据库。本期实验将指导您如何进行PolarDB-X分区管理。
|
10月前
|
弹性计算 前端开发 关系型数据库
实践教程之使用PolarDB-X进行TP负载测试
PolarDB-X 为了方便用户体验,提供了免费的实验环境,您可以在实验环境里体验 PolarDB-X 的安装部署和各种内核特性。除了免费的实验,PolarDB-X 也提供免费的视频课程,手把手教你玩转 PolarDB-X 分布式数据库。本期实验将指导您如何使用PolarDB-X进行TP负载测试。
|
11月前
|
SQL Kubernetes 关系型数据库
实践教程之如何使用PolarDB-X进行数据导入导出
PolarDB-X 为了方便用户体验,提供了免费的实验环境,您可以在实验环境里体验 PolarDB-X 的安装部署和各种内核特性。除了免费的实验,PolarDB-X 也提供免费的视频课程,手把手教你玩转 PolarDB-X 分布式数据库。本期实验将指导您如何使用PolarDB-X进行数据导入导出。
|
11月前
|
SQL 弹性计算 Kubernetes
实践教程之如何使用PolarDB-X参数模板
PolarDB-X 为了方便用户体验,提供了免费的实验环境,您可以在实验环境里体验 PolarDB-X 的安装部署和各种内核特性。除了免费的实验,PolarDB-X 也提供免费的视频课程,手把手教你玩转 PolarDB-X 分布式数据库。本期实验将指导您如何使用PolarDB-X参数模板。
|
12月前
|
存储 SQL 关系型数据库
《PolarDB-X开源分布式数据库实战进阶》——PolarDB-X的TTL表的使用和原理(1)
《PolarDB-X开源分布式数据库实战进阶》——PolarDB-X的TTL表的使用和原理(1)
162 0
|
12月前
|
SQL 数据可视化 Java
《PolarDB-X开源分布式数据库实战进阶》——PolarDB-X的TTL表的使用和原理(2)
《PolarDB-X开源分布式数据库实战进阶》——PolarDB-X的TTL表的使用和原理(2)
137 0
|
12月前
|
关系型数据库 MySQL 分布式数据库
《PolarDB-X开源分布式数据库实战进阶》——PolarDB-X的TTL表的使用和原理(3)
《PolarDB-X开源分布式数据库实战进阶》——PolarDB-X的TTL表的使用和原理(3)
93 0
|
12月前
|
运维 分布式数据库 调度
《PolarDB-X开源分布式数据库实战进阶》——PolarDB-X的TTL表的使用和原理(4)
《PolarDB-X开源分布式数据库实战进阶》——PolarDB-X的TTL表的使用和原理(4)
99 0

热门文章

最新文章

相关产品

  • 云原生分布式数据库 PolarDB-X
  • http://www.vxiaotou.com