猿创征文|初识TiDB生命周期(二)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 猿创征文|初识TiDB生命周期

4、TIDB的监控


使用TiDB-Ansible安装TiDB集群默认会安装一套Prometheus+Grafana的监控;我们使用Prometheus+Grafana对TIDB做监控。监控的架构图如下:

1.png

监控对于TIDB来说非常重要,建议单独对Prometheus以及Grafana深入学习。


5、问题


当前运维了大量的TiDB,从资源合理性角度 或精细化运维的角度,有如下问题:


**【问题】:**新的业务上TiDB,集群创建了半年,存储空间还小于100G,面对10个节点的TiDB,这种存是低于接入门槛的资源浪费情况,且与TiDB的运维规范不符


【方案】:

  • 咨询业务增长情况,如果可以保证近期有大量增长,则可以继续保留
  • 如果近期无大量增长,则回迁MySQL,可利用TiDB CDC来进行回迁

**【问题】:**已经上线有一定时间的集群,上线了很多大表,但有些表是只需要存储近期的数据即可,即历史数据可以清理,但是目前没有清理的,这种是无用数据占大量存储资源的浪费情况


【方案】:

  • 与业务咨询,确认哪些表的数据可以清理
  • 业务自己写程序清理
  • DBA提供批量清理的方式,业务添加清理任务、保留时间即可自动清理

**【问题】:**已经上线了一定时间的集群,表无变更,不查询,这种是业务下线集群未下线的浪费情况


【方案】:

  • 与业务咨询,确认是否可以整体删除、集群下线

  • DBA开发生命周期,自动扫描出未用的集群,通知业务,进行自动化下线
  • 面对如上问题,近期组内进行了精细化运营的相关工作:


确定迁移MySQL方案:

  • 引入TiCDC,验证TiDB迁移至MySQL方案


开发生命周期相关程序:

  • 自动获取低负载的集群
  • 自动获取低存储的集群
  • 自动通知业务
  • 自动化回收、下线集群


开发数据自动清理任务:

  • 利用pt工具,实现自动化分批清理
  • 支持单次清理、定期清理


调研TiDB云化实现方式:

  • 容器化部署TiDB的可行性
  • TiDB的容器部署流程测试
  • TiDB的容器部署性能测试


6、生命周期


生命周期的概念:是指数据库从申请到使用到下线的整个生命周期的记录。


7、TiDB生命周期


7.1、空闲集群判断条件


条件 判断阈值
表更新时间 半年内无更新
集群运行时间 运行时间半年以上
六个月以内连接数 无连接
集群qps 连续半年小于70000则为空闲集群
半年内工单数量 半年内无工单
自助查询判断 半年内自助查询次数


7.2、表更新时间


表的更新时间,TiDB是不太好实现的,在MySQL里面,我们可以看文件的更新时间来确认表的更新时间。

TiDB里面有一个命令:SHOW STATS_META,可以查看表的总行数以及修改的行数等信息。

语法元素 说明
db_name 数据库名
table_name 表名
partition_name 分区名
update_time 更新时间
modify_count 修改的行数
row_count 总行数

以为这个update_time可以作为表的更新时间,但实际看是不可以的,这个更新时间:

  • 在表结构变更时会变化
  • 在analyze之后也会变


7.3、实现架构


  • 通过获取集群的相关信息,判定集群是否为空闲集群
  • 空闲集群则进行集群下线、备份保留等

1.png

8、TiDB其他工具


8.1、 mydumper/loader


备份恢复工具,使用 mydumper 从 TiDB 导出数据进行备份,然后用 loader 将其导入到 TiDB 里面进行恢复。虽然TiDB 也支持使用 MySQL 官方的 mysqldump 工具来进行数据的备份恢复工作,但相比于 mydumper /loader,性能会慢很多,大量数据的备份恢复会花费很多时间,因此并不推荐。


其mydumper/myloader是Percona开源产品,多线程MySQL逻辑备份和恢复工具。那为什么PingCAP还开发loader工具呢?官方是这么说的:在使用过程中,mydumper问题不大,但是 myloader 由于缺乏出错重试、断点续传这样的功能,使用起来很不方便。所以我们开发了 loader,能够读取mydumper 的输出数据文件,通过 mysql protocol 向 TiDB/MySQL 中导入数据。


8.2、 syncer


根据MySQL binlog增量同步工具,Syncer 可以部署在任一台可以连通对应的 MySQL 和 TiDB 集群的机器上,推荐部署在 TiDB 集群。


架构图如下:

1.png


8.3、 TiDB-Binlog


TiDB-Binlog 用于收集 TiDB 的 Binlog,并提供实时备份和同步功能的商业工具。


TiDB-Binlog 支持以下功能场景:


数据同步: 同步 TiDB 集群数据到其他数据库


实时备份和恢复: 备份 TiDB 集群数据,同时可以用于 TiDB 集群故障时恢复

8.4、 PD Control


PD Control 是 PD 的命令行工具,用于获取集群状态信息和调整集群。


TiDB官方:https://pingcap.com

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
25天前
|
关系型数据库 分布式数据库 PolarDB
参与有礼|开源PolarDB文档捉虫
2024年9月,开源PolarDB-PG发布兼容PostgreSQL 15版本,为提升用户体验,特举办“开源文档捉虫”活动,邀请您反馈文档问题和优化建议。活动时间为2024年11月1日至2025年2月28日。参与即有机会赢取PolarDB开源社区T恤、新春茶碗及福字版印礼盒等丰富奖品。更多详情及反馈入口请点击链接。
参与有礼|开源PolarDB文档捉虫
|
3月前
惊世骇俗!开源 PolarDB-X 部署安装大冒险,全程心跳与惊喜不断!
【9月更文挑战第8天】作为技术爱好者的我,近期成功完成了开源 PolarDB-X 的部署安装。尽管过程中遇到不少挑战,但通过精心准备环境、下载安装包、配置参数及启动服务等步骤,最终顺利实现部署。本文将详细介绍部署全过程及可能遇到的问题,为您的 PolarDB-X 探索之旅提供参考与启发,希望能让大家在技术海洋里畅游得更加顺利!
172 2
|
7月前
|
关系型数据库 分布式数据库 数据库
开源之夏2024学生报名启动!阿里云PolarDB社区项目期待你的参与!
开源之夏2024学生报名启动!阿里云PolarDB社区带你变得更强!
开源之夏2024学生报名启动!阿里云PolarDB社区项目期待你的参与!
|
7月前
|
JavaScript 前端开发 Cloud Native
报名开启!2024 开源之夏丨Serverless Devs 课题已上线!
2024 年,Serverless Devs 再次加入中国科学院软件研究所开源软件供应链点亮计划支持下的系列高校开源活动——开源之夏 2024。
|
弹性计算 运维 负载均衡
Serverless实战——2分钟,教你用Serverless每天给女朋友自动发土味情话
今天说一下如何用Python结合阿里云Serverless函数计算每天定时给女朋友发天气预报和情话,让她明白程序员也有浪漫。欢迎大家学习哈。
35082 28
Serverless实战——2分钟,教你用Serverless每天给女朋友自动发土味情话
|
存储 JSON NoSQL
《五天玩转EMAS Serverless》——第三节 实战:小程序疫苗预约-框架搭建&数据库管理【中】
本文整理自EMAS Serverless讲师柳色,在《5天玩转EMAS Serverless训练营》的分享。本篇内容主要分为五个部分: 1.小程序疫苗预约项目介绍 2.业务场景设计 3.数据库设计 4.数据操作命令学习 5.云数据库控制台功能介绍
167 0
|
存储 供应链 Cloud Native
开源之夏2023学生报名启动!阿里云PolarDB社区项目期待你的参与!
近日,阿里云PolarDB开源社区入选由中科院软件所主办的“2023开源之夏”活动并发布了3个PolarDB项目任务。同学们可以登录官网,报名参与感兴趣的任务。我们诚挚地邀请各位学子加入我们的行列,一起来构建完全独立自主的、开源的、高性能及高可靠性的云原生数据库!成功结项后将获得丰厚奖金和证书!
|
弹性计算 运维 监控
从青铜到王者,揭秘 Serverless 自动化函数最佳配置
Serverless 的目标之一是免运维,但仍旧存在一些障碍,在 Serverless 场景特有的一些关键服务配置比如“并发度”、“最小实例数”、“最大实例数”,如何配置参数才是最合适的?怎么确定自己配置的参数是否合理?本文介绍了函数计算团队在自动化推荐 Serverless 函数最佳配置上的思考和相关工作,希望帮助用户解决目前使用问题释放 Serverless 服务的价值。
从青铜到王者,揭秘 Serverless 自动化函数最佳配置
|
运维 数据挖掘 Serverless
从青铜到王者,揭秘 Serverless 自动化函数最佳配置
Serverless 的目标之一是免运维,但仍旧存在一些障碍,在 Serverless 场景特有的一些关键服务配置比如“并发度”、“最小实例数”、“最大实例数”,如何配置参数才是最合适的?怎么确定自己配置的参数是否合理?本文介绍了函数计算团队在自动化推荐 Serverless 函数最佳配置上的思考和相关工作,希望帮助用户解决目前使用问题释放 Serverless 服务的价值。
从青铜到王者,揭秘 Serverless 自动化函数最佳配置
|
运维 Oracle 关系型数据库
猿创征文|初识TiDB生命周期(一)
猿创征文|初识TiDB生命周期
162 0
猿创征文|初识TiDB生命周期(一)